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
相关推荐
Severus_black几秒前
【C++初阶】list使用及相关实现,思路顺滑流畅!
c语言·数据结构·c++·stl·list
希和20274 小时前
C语言程序设计题|有序数组插入数字冒泡排序
c语言·数据结构·算法
Zwawa19 小时前
屏幕不止一种:OLED、LCD1602字符屏、TFT/IPS图形屏和串口屏怎么用,这与TTY和PTY又有什么关系
c语言·单片机·嵌入式
Fruiticecake19 小时前
C 程序员速通现代 C++(一):lambda、std::function、移动语义与智能指针
c语言·c++
田甲20 小时前
做一款 Type-C 母座读卡器:GL3224 双卡方案实测
c语言·开发语言
·present·1 天前
CSAPP(lecture 13_02 Linking)
c语言·c++
wuyk5552 天前
Keil工具链-第05讲-启动文件与__main到底做了什么
c语言·stm32·单片机·嵌入式硬件·物联网
Navigator_Z2 天前
LeetCode //C - 1317. Convert Integer to the Sum of Two No-Zero Integers
c语言·算法·leetcode
冻柠檬飞冰走茶2 天前
字母移动游戏题解:贪心求最长可保留连续子串(附 C 实现)
c语言·开发语言·数据结构·算法·动态规划
Hhy_11072 天前
《C++深度解构06》手撕 string —— 从底层内存管理到深浅拷贝彻底吃透
c语言·开发语言·c++·学习·visual studio