gcc -Wl,-M=helloworld.map,--cref

-Wl,option  把选项 option 传递给连接器。如果 option 中含有逗号,就在逗号处分割成多个选项。

-M      告诉预处理器输出一个适合 make 的规则,用于描述各目标文件的依赖关系。对于每个源文件,预处理器输出 一个 make 规则,该规则的目标项(target)是源文件对应的目标文件名,依赖项(dependency)是源文件中 #include 引用的所有文件。生成的规则可以是单行,但如果太长,就用'\'换行符续成多行。规则显示在标准输出,不产生预处理过的 C 程序。'-M'隐含了'-E'选项。

--cref     Cross Reference的简写,输出交叉引用表(cross reference table)。

-E        仅运行 C 预处理器。预处理所有指定的 C 源文件,结果送往标准输出或指定的输出文件。

 

试验

使用最简单的helloworld.c

#include <stdio.h>

int main()
{
  printf("hello world!\n");
  return 0;
}

编译

gcc helloworld.c -Wl,-M=helloworld.map,--cref -o helloworld

查看helleworld.map文件

参考:

GCC中文手册

posted on 2015-09-23 16:24  yilipika  阅读(1463)  评论(0编辑  收藏  举报