程序的静态链接,动态链接和装载.docxVIP

  • 4
  • 0
  • 约9.23千字
  • 约 16页
  • 2017-07-21 发布于浙江
  • 举报
程序的静态链接,动态链接和装载

程序的静态链接,动态链接和装载一、程序编译链接的整体流程二、目标文件的样子(以linux下的elf文件格式为例)三、静态链接四、装载五、动态链接一、程序编译链接的整体流程通常我们使用gcc来生成可执行程序,命令为:gcchello.c,默认生成可执行文件a.out其实编译(包括链接)的命令:gcchello.c可分解为如下4个大的步骤:预处理(Preprocessing)编译(Compilation)汇编(Assembly)链接(Linking)gcc compilation1.???????预处理(Preproceessing)预处理的过程主要处理包括以下过程:将所有的#define删除,并且展开所有的宏定义处理所有的条件预编译指令,比如#if #ifdef #elif #else #endif等处理#include?预编译指令,将被包含的文件插入到该预编译指令的位置。删除所有注释?“//”和”/* */”.添加行号和文件标识,以便编译时产生调试用的行号及编译错误警告行号。保留所有的#pragma编译器指令,因为编译器需要使用它们?通常使用以下命令来进行预处理:gcc -E hello.c -o hello.i参数-E表示只进行预处理或者也可以使用以下指令完成预处理过程cpphello.c hello.i ?????/* ?cpp – The C Preprocessor? *

文档评论(0)

1亿VIP精品文档

相关文档