readelf -h 命令可以获取可执行文件的头部信息,包括可执行文件运行的平台、软件版本、程序入口地址,以及program headers、section header等信息
处理源文件中的各种预处理命令。编译器不认识预处理指令要提前处理一下。
头文件展开:#include包含的文件内容展开到当前位置
(相关资料图)
宏展开:展开所有的宏定义
条件编译:根据宏定义条件,选择参与编译的分支代码,其余分支丢弃。
删除注释:
添加行号和文件名标识:编译过程中根据需要可以显示这些信息。
保留#pragma命令:该命令会在程序编译时指示编译器执行一些特定行为。
程序的编译
对于一些共用代码,如库,在链接期间不链接而是推迟到程序运行时在进行链接。这些在程序运行时才参与链接称为动态链接。
动态链接优点:节省内存。加载到内存的动态链接库可以被多个运行的程序共享,使用动态链接可以运行更大、更多的程序,升级也更加简单方便。现在主流软件一般都采用这种开发方式。
Copyright @ 2015-2022 快报网版权所有 备案号: 豫ICP备20009784号-11 联系邮箱:85 18 07 48 3@qq.com