为了缩小我的问题范围,让我描述一下我的假设和我所做的实验......
我的假设:用汇编语言编写的代码将比 C/C++ 对应的代码运行得快得多,并且可执行文件的大小也比 C/C++ 代码生成的代码小得多。
实验:我将以下程序写入bin2dec.c
#include <stdio.h>
int main()
{
long int binary, decimal, reminder, exp;
int i, j;
for(i=0; i<10000; i++)
{
for(j=0; j<1000; j++)
{
binary = 11000101;
exp = 1;
decimal = 0;
while(binary != 0)
{
reminder = binary % 10;
binary = binary / 10;
decimal = decimal + reminder * exp;
exp *= 2;
}
}
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
然后为其生成ASM代码gcc -S bin2dec.c -o bin2dec.s
之后我编译了两个文件,如下所示
gcc bin2dec.c -o bin2dec_c …Run Code Online (Sandbox Code Playgroud)