如何使用csc(C#编译器)或dmcs(mono C#编译器)生成IL源代码?
gcc 有一个选项 -s 来生成汇编源代码。 csc(MS C# 编译器)或 dmcs(mono C# 编译器)是否等效?我的意思是,这些编译器是否提供了一个选项来生成可以读取而不是执行二进制文件的 IL 源代码?
gcc has an option of -s to generate assembly source code. Does csc (MS C# compiler) or dmcs (mono C# compiler) have equivalence? I mean do those compilers provide an option to generate IL source code that can be read not the execution binary?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
访问 IL 非常容易:只需使用
ildasm
。/text
选项将结果打印到控制台,您可以将其转移到文件中。It's very easy to get to the IL: just use
ildasm
. The/text
option prints the result to the console, which you can divert to a file.AC# 编译器总是生成 IL(对于 .net 来说是 CIL),因为那就是这样。 net 可以工作,但如果您想将其预编译为机器代码以加快执行速度,您可以使用 ngen.exe(请参阅 此处)。
如果您只想查看生成的 IL,可以使用 ILSpy。
A C# compiler always generates IL (CIL in the case for .net), because thats the way .net works, but if you mean you want to precompile this in to machine code to speed up execution you can use ngen.exe (see HERE).
If you just want to see the generated IL you can use ILSpy.