并行C、x86程序

并行C、x86程序,c,x86,sample,C,X86,Sample,有没有什么地方可以找到死气沉沉的简单C和x86程序的并排示例?到目前为止,我在互联网上找到的例子似乎从“x86中的Hello World”直接跳到了“编写您自己的操作系统!”我很难将调用函数之类的事情内部化。如果您是指x86汇编语言,请使用objdump——反汇编myprog(在任何GNU系统上)显示C程序生成的汇编语言。如果您的系统没有objdump,您可以使用ndisam。我建议您查看GCC的中间程序集输出,例如调用 gcc -S a.c 然后看看a.s 大多数情况下,更小、更容易理解的装

有没有什么地方可以找到死气沉沉的简单C和x86程序的并排示例?到目前为止,我在互联网上找到的例子似乎从“x86中的Hello World”直接跳到了“编写您自己的操作系统!”我很难将调用函数之类的事情内部化。

如果您是指x86汇编语言,请使用
objdump——反汇编myprog
(在任何GNU系统上)显示C程序生成的汇编语言。如果您的系统没有objdump,您可以使用ndisam。

我建议您查看GCC的中间程序集输出,例如调用

gcc -S a.c
然后看看a.s

大多数情况下,更小、更容易理解的装配是通过优化生成的,所以您宁愿使用

gcc -O -S a.c

假设您指的是x86汇编程序,那么对于gcc,您可以使用
gcc-S yourhelloworldprogram.c
获得汇编程序输出。对于Visual Studio,您可以通过以下方式获得汇编程序输出:

I。可以同时显示C源代码(如果使用调试符号构建)和机器代码。您还可以跨代码以交互方式探测寄存器和内存值。这是一个很好的学习工具。

在gcc上,您可以使用
-save temps-fverbose asm
选项,它比
-S
选项更好,因为它仍然生成目标文件,并且您还可以获得预处理器文件。详细asm也很重要,因为它向程序集输出中添加注释,从而在程序的函数名和变量名与生成的程序集代码之间建立链接。尤其是在使用优化生成时,通常很难在源C和程序集之间建立链接。

您是指x86汇编语言吗?还是有一种叫做x86的语言?