编译器输出分析工具
在软件开发过程中,了解编译器如何将高级语言代码转换为汇编代码或机器代码是非常重要的。这有助于优化代码、理解程序的执行过程以及调试问题。本文将介绍几种常见编译器的汇编输出,并探讨如何分析这些输出。
不同编译器的汇编输出
以下是一段C代码示例:
{
--j;
}
printf( "i=%d, j=%d\n", i, j );
return 0;
}
我们将使用不同的编译器(Visual C++、Borland C++、GCC)对这段代码进行编译,并查看它们的汇编输出。
Visual C++ 汇编输出
使用命令 cc -FAs -O1 t1.c 编译文件,会生成如下(MASM)汇编语言输出:
TITLE t1.c
.386P
include listing.inc
if @Version gt 510
.model FLAT
else
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
_DATA SEGMENT DWORD USE32 PUBLIC 'DATA'
_DATA ENDS
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
_BSS SEGMENT DWORD USE32 PUBLIC 'BSS'
_BSS ENDS
_TLS SEGMENT DWO
超级会员免费看
订阅专栏 解锁全文
2万+

被折叠的 条评论
为什么被折叠?



