GCC相关的小玩意
指令
gcc --help
:Display help information
gcc input.c -o output.exe -Xlinker -Map=output.map
:产生map文件
map文件
Archive member included to satisfy reference by file (symbol)
:这是一个包含在map文件中的信息,说明在编译程序时,由于某些符号被引用而需要包含的对象文件或库文件。该信息可用于检查编译过程中缺失的依赖项
Allocating common symbols
(分配通用符号
):在map文件中指定的是非初始化变量或多个文件中共享的变量,它们会在链接过程中被放置在一个特殊的区域中(通常称为BSS段),并被所有使用它们的模块共享。这些变量被分配在运行时,而不是在编译时分配内存。这个过程在常规应用程序中很常见,因为它允许多个源文件共享相同的数据,从而减少程序的总大小。
Discarded input sections(丢弃的输入段)
:Map中的Discarded input sections指的是在Map阶段输出键值对时被丢弃的部分输入数据。这些数据被丢弃的原因可能是不符合Map函数的输入数据格式要求(比如,数据类型错误、数据缺失等),或者是被过滤掉的无用数据(例如,行首和行尾的空格、注释等)。