Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 如何编译高级代码以获得汇编代码?_Assembly_Compilation - Fatal编程技术网

Assembly 如何编译高级代码以获得汇编代码?

Assembly 如何编译高级代码以获得汇编代码?,assembly,compilation,Assembly,Compilation,我想知道是否有一些特殊的方法来编译高级代码(最好是从c/c++或java)以获得相应的汇编代码。假设您使用的是gcc,告诉您使用gcc-O2-s-cfoo.c 请查看编译器的手册/doco,我确信有一个选项可以执行此操作。假设您使用的是gcc,则告诉您使用gcc-O2-S-cfoo.c 查看编译器的手册/doco-我确信有一个选项可以执行此操作。-p>它将向扩展名为.s的文件发出汇编代码。例如,以下命令: gcc -O2 -S -c foo.c 将生成的程序集代码保留在文件foo.s上 如果要

我想知道是否有一些特殊的方法来编译高级代码(最好是从c/c++或java)以获得相应的汇编代码。

假设您使用的是gcc,告诉您使用
gcc-O2-s-cfoo.c


请查看编译器的手册/doco,我确信有一个选项可以执行此操作。

假设您使用的是gcc,则告诉您使用gcc-O2-S-cfoo.c

查看编译器的手册/doco-我确信有一个选项可以执行此操作。

-p>它将向扩展名为.s的文件发出汇编代码。例如,以下命令:

gcc -O2 -S -c foo.c
将生成的程序集代码保留在文件foo.s上

如果要查看C代码及其转换为的程序集,请使用以下命令行:

gcc -c -g -Wa,-a,-ad [other GCC options] foo.c > foo.lst
将组合的C/assembly列表输出到文件foo.lst

大多数编译器将支持类似于帮助调试编译器本身的东西

-它将向扩展名为.s的文件发出程序集代码。例如,以下命令:

gcc -O2 -S -c foo.c
将生成的程序集代码保留在文件foo.s上

如果要查看C代码及其转换为的程序集,请使用以下命令行:

gcc -c -g -Wa,-a,-ad [other GCC options] foo.c > foo.lst
将组合的C/assembly列表输出到文件foo.lst


大多数编译器将支持类似于帮助调试编译器本身的东西 GCC < /code >时,只需给出一个 -s>代码>选项,它将产生一个汇编代码文件而不是目标代码。

,这些语言有很大不同,因为C和C++通常被编译成机器代码,而java使用虚拟机。你不能将java编译成汇编语言(如果你想看到机器代码,使用调试器),但是C++或C++应该很容易,这取决于编译器。例如,当使用
gcc
时,只需给它一个
-S
选项,它将生成一个汇编代码文件而不是目标代码。

许多编译器都提供了列出生成的汇编代码的选项。例如,gcc有-S选项,它将在汇编之前停止编译,留给您汇编文件。

许多编译器都有列出生成的汇编代码的选项。例如,gcc有-S选项,它将在汇编之前停止编译,并留给您汇编文件。

您知道g++是否有此功能吗?如果是,你如何使用它?Thxtg++的选项应该是samei太懒了,没有阅读手册页,哈哈。我想我现在必须这么做了。谢谢大家的帮助~~你知道g++是否有这个函数吗?如果是,你如何使用它?Thxtg++的选项应该是samei太懒了,没有阅读手册页,哈哈。我想我现在必须这么做了。thx为大家提供帮助~~有一些Java编译器(比如)可以编译本机代码,而不是JVM字节码。您可以查看生成的程序集,有些Java编译器(如)编译本机代码,而不是JVM字节码。您可以查看生成的程序集以查找这些。可能重复的可能重复的