سلام
ميخواستم بدونم ilasm.exe و ildasm.exe چيه و براي چي بكار ميرن ؟
اگه ميشه توضيح مفصل بدين . خيلي احتياج دارم .
ممنون
برنامه هایی که تحت Microsoft .Net FrameWork نوشته می شوند برخلاف برنامه هایی که با زبان هایی مثل
++Microsoft Visual C و Borland Delphi نوشته می شوند مستقیما به زبان ماشین ترجمه نمی شوند،
یعنی کامپایلرشان کد برنامه را مستقیما به کدی که CPU متوجه می شود ترجمه نمی کند.
بلکه یک زبان خاص میانی (Intermediate Language) به نام Common Intermediate Language یا CIL
طراحی شده که کد برنامه ها به این زبان ترجمه می شوند. مهم نیست که کد برنامه اصلی در #C
یا Visual Basic .Net یا #F یا ... نوشته شده باشه، در نهایت کد کامپایل شده به زبان CIL خواهد بود.
مایکروسافت یک کامپایلر خاص هم به نام Common Language Runtime یا CLR طراحی کرده که فقط زبان CIL را می فهمد و
کد CIL را در زمان اجرای برنامه به کد ماشین ترجمه می کند تا CPU بتواند آن کد را بفهمد و اجرا کند.
ILAsm فایل اجرایی همان کامپایلر ای است که این عمل را انجام می دهد و کد CIL را به کد ماشینی ترجمه می کند
که اجرا شود.
طبیعتا اگر بخواهید یک کد یک برنامه که مثلا با #C نوشته شده را اجرا کنید، ابتدا توسط کامپایلر #C
کد برنامه به کد CIL تبدیل می شود که آن کد CIL هم توسط کامپایلر CLR به زبان ماشین ترجمه می شود
تا کد ماشین توسط CPU اجرا گردد.
ILDasm یک ابزار جانبی است که درست عکس عمل ILAsm را انجام می دهد و کد ماشین را به کد CIL برمی گرداند.
این ابزار در هنگام اشکال یابی کد اجرایی و بررسی برنامه ای که به کد برنامه آن دسترسی ندارید مناسب است.
ILDasm می تواند یک فایل اجرایی که محتویات اش قبلا توسط ILAsm ایجاد شده بود را به کد CIL معادلش بر گرداند.