从C到装配

leg*_*o69 9 c assembly

有人可以解释,我有一个关于C的程序,我可以将它转换为汇编吗?如果有,怎么样?

And*_*bel 23

如果您使用gcc,您可以gcc -O2 -S -c foo.c根据页面以人类可读的形式获取输出程序集.

  • 为什么-O2?当然,你不需要优化,所以你可以理解这件事. (4认同)
  • 使用交叉编译器,为您想要的拱门生成代码. (2认同)

Mar*_*tos 5

使用gcc,您可以使用以下-S选项:

gcc -O2 -S myfile.c
Run Code Online (Sandbox Code Playgroud)

-O2此处也可以使用大多数其他选项(例如),以确定生成哪种汇编代码.

但请注意,这只是暴露了编译器经历的中间步骤(不是生成汇编源文件,即它代表的机器代码).在通过汇编程序传递此代码之后,最终结果不会与简单地直接编译到机器代码有任何区别.