GCC链接操作是以section作为最小的处理单元,只要一个section中的某个符号被引用,该section就会被加入到可执行程序中去。因此,GCC在编译时可以使用 -ffunction-sections 和 -fdata-sections 将每个函数或符号创建为一个sections,其中每个sections名与function或data名保持一致。而在链接阶段, -Wl,–gc-sections 指示链接...
-Wl,--gc-sections: 这是实际传递给链接器的选项,意思是 “Garbage Collect Sections”。链接器会移除所有未被引用或使用的代码段(如函数)和数据段(如变量)。 -Wl,print-memory-usage: 这是是一个链接器选项,用于在链接完成后打印内存使用情况。这对于了解生成的可执行文件或库的内存布局和大小非常有帮助,特别...
-soname -soname用于指定动态链接库名字,用法:-Wl,-soname,libxxx.so。 –gc-sections –gc-sections表示依赖库中不使用的sections将不被链接,可以减小链接目标的大小,一般跟-ffunction-sections一起使用。用法:-Wl,–gc-sections。 –whole-archive –whole-archive用来告诉链接器,将后面库中出现的所有符号都链接进...
GCC在链接的时候以section为单元处理,所以可以尝试使用-ffunction-sections/-fdata-sections将每个函数或者符号创建成独立的section,然后结合选项-Wl,--gc-sections让链接器忽略用不到的section,这样就可以减少目标可执行程序的大小。其中-Wl表示将后面的参数传递给链接器,所以也可以直接设置链接器选项。 注意这个并不是...
过大第一个原因是包含了符号表,这个可以通过strip删除,文件大小会立即缩水。strip命令提供了不同参数,方便可选择的删除。 除此之外,两个编译参数“-ffunction-sections”和“-fdata-sections”,以及链接参数“-Wl,--gc-sections”可用来删除没有使用到的符号,“-Wl..
-Wl,option Pass option as an option to the linker. If option contains commas, it is split into multiple options at the commas. You can use this syntax to pass an argument to the option. For example,-Wl,-Map,output.mappasses-Map output.mapto the linker. When using the GNU linker, yo...
指示链接器去掉不用的section(其中-wl, 表示后面的参数 -gc-sections 传递给链接器),链接操作以section作为最小的处理单元(结合-ffunction-sections),只要一个section中有某个符号被引用,该section就会被放入output中。 什么是"被引用",个人认为是指"被调用",或者符号被export引起的链接器认为这是一个接口 ...
GCC链接操作是以section作为最小的处理单元,只要一个section中的某个符号被引用,该section就会被加入到可执行程序中去。因此,GCC在编译时可以使用 -ffunction-sections和 -fdata-sections 将每个函数或符号创建为一个sections,其中每个sections名与function或data名保持一致。而在链接阶段, -Wl,–gc-sections 指示链接...
比如__attribute__((section(".text.keep.used.code"))), 第2部分主要修改的是编译阶段,通过在CFLAGS中添加-fdata-sections-ffunction-sections来实现, 第3部分主要修改的是链接阶段,通过在LDFLAGS中添加-Wl,-gc-sections来实现, 第4部分主要修改的是链接脚本,通过在段名称中,新增下面的段申明,主要是为了限制...
指示链接器去掉不用的section(其中-wl, 表示后面的参数 -gc-sections 传递给链接器),链接操作以section作为最小的处理单元(结合-ffunction-sections),只要一个section中有某个符号被引用,该section就会被放入output中。 什么是'被引用',个人认为是指'被调用',或者符号被export引起的链接器认为这是一个接口 -Wa,-...