C traps
C陷阱
magicse7en
这个作者很懒,什么都没留下…
展开
-
某个section不想被gc-sections remove
gc: garbage collection--ffunction-sections: 将 function 都编译成单独的 section--fdata-sections:将data/bss都编译成单独的section链接参数--gc-sections:remove unused 的function/data--print-gc-sections: print removed function/data如果某个section 没有使用到,但是又不想被 GC remove,可以在 LD scrip原创 2021-05-06 22:36:35 · 659 阅读 · 0 评论 -
静态库里的weak函数不生效?
使用GNU GCC __attribute__((weak)) 属性修饰的函数,在链接时可以被同名的函数覆盖掉。但发现现在的GNU LD的 search 规则是有变化的,如果先找到了 static library 里的 weak symbol,就优先link此symbol,而不去search static library里是否有 strong symbol.这样看上去 weak function 都不生效了。那如何让其在 static library 里能够生效呢?可以使用--whole-archiv原创 2021-03-31 08:41:07 · 2333 阅读 · 0 评论 -
数组名和数组名取地址的区别
遇到了一个坑,记录一下。#include <stdio.h>char str[10];int main(){ printf("str = %p\n", str); printf("&str = %p\n", &str); printf("str+1 = %p\n", str+1); printf("&str+1 = %p\n", &str+1); return 0;}运行结果:str =原创 2021-01-24 00:04:11 · 1604 阅读 · 0 评论