impure_data 数据来源于 libc 使用链接选项 `-nostartfiles` 消除。
原创
2022-11-20 19:51:12
208阅读
主程序编译: gcc test.c -ldl -rdynamic动态库编译: gcc -shared -fPIC -nostartfiles -o mylib.so mylib.c主程序通过dlopen()加载一个.so的动态库文件, 然后动态库会自动运行 _init() 初始化函数, 初始化函数打印一个提示信息, 然后调用主程序的注册函数给结构体重新赋值, 然后调用结构体的函数指针,
原创
2022-09-23 13:43:25
380阅读
嵌入式linux应用开发手册笔记
-O
大写
连接器选项
下面的选项用于连接obj文件,输出可执行文件或库文件
-llibrary
连接名为library的库文件
-nostartfiles
不连接系统标准启动文件,用于编译bootloader、内核
-nostdlib
不连接系统标准启动文件和标准库文件,用于编译内核、bootloader,他们不需要启动文件标准库文件
-static
阻止使用连