C语言混合链接

第 1 步:把 sb.c 编译成目标文件 sb.o

复制代码
gcc -c sb.c -o sb.o
  • -c:只编译、不链接,

    第 2 步:用 sb.o 生成静态库 libsb.a

    复制代码
    ar crv libsb.a sb.o

    输出目标文件 sb.o,对应教程里的 hello.o

第 3 步:删除同目录的动态库(可选但建议做)

复制代码
  rm -f libsb.so

和教程说的完全一致:如果同一个目录下同时存在 libsb.a(静态)和 libsb.so(动态),gcc 链接时默认优先选动态库 。 删掉 libsb.so 可以确保接下来链接的一定是静态库。
*

第 4 步:生成可执行文件 main1(这一步就是混合链接)

复制代码
  gcc main.c -L. -lsb -o main1
相关推荐
我叫洋洋1 小时前
Cadence 16.6 从 OrCAD Capture 原理图到 Allegro PCB 全流程(含 5 个常见坑)
c语言·eda·嘉立创
水饺编程2 小时前
第2章:Linux 基础,关机命令
linux·c语言·汇编
Brilliantwxx3 小时前
【Linux】IO(上)全篇:文件本质、C 接口、系统调用与文件描述符
linux·运维·服务器·c语言
坐看风云变幻3 小时前
《嵌入式工程师的软硬件修仙之路》第 2 期|C 语言筑基:指针与内存模型
c语言·开发语言
爱读书的小胖1 天前
Codewars:Rot13(C)解题分析
c语言·开发语言
Code_Solitude1 天前
c语言:关于qsoet函数知识点
c语言·数据结构·算法
鸽鸽程序猿1 天前
【项目】【在线判题系统】c端:竞赛报名
c语言·开发语言
H.莓飛1 天前
【Linux】自主 Shell
linux·运维·服务器·c语言·开发语言·visual studio
爱读书的小胖1 天前
Codewars:Last digit of a large number(C)解题分析
c语言·开发语言·r语言
想做小南娘,发现自己是女生喵1 天前
第二周学习文档 Linux C 文件操作
linux·c语言·学习