摘要: 静态库 静态库是指在我们的应用中,有一些公共代码是需要反复使用,就把这些代码编译为“库”文件;在链接步骤中,连接器将从库文件取得所需的代码,复制到生成的可执行文件中的这种库。百度文库 Linux下的静态库为lib*.a格式的二进制文件, 注意 lib 和 .a 不能改变, 能改变只有中间的内容, 对 阅读全文
posted @ 2022-05-10 20:23 假装有知识 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 动态库 共享库与静态库的区别在于,共享库只是在调用模块中嵌入调用代码的在库的相对位置的地址,当执行程序时,共享库会和程序一起加载到内存中,当执行到调用共享库中代码的指令时跳转到共享库中执行,执行完毕后在跳转回来。相比于静态库占用空间小,方便更新(共享库发生变化后,程序不需要再次编译),但相比于静态库 阅读全文
posted @ 2022-05-10 20:22 假装有知识 阅读(214) 评论(0) 推荐(0) 编辑
摘要: GCC编译的四个步骤 预处理。生成 .i 文件 [预处理器cpp] 将处理后的文件转换成汇编文件 生成文件 .s [编译器egcs] 将汇编编程目标代码(机器代码)生成 .o 文件 [汇编器as] 链接目标代码, 生成可执行程序 [连接器ld] 常用参数 -c 只进行编译的前三步, 即预处理, 编译 阅读全文
posted @ 2022-05-10 20:21 假装有知识 阅读(105) 评论(0) 推荐(0) 编辑