如何用gcc编译器生成动态链接库*.so文件(动态库)

当源文件为string.c时,生成动态链接库,假设名称为libstr.so

生成动态链接库的命令行为:

gcc -fPIC -shared -o libstr.so

当将main.c和动态链接库进行连接生成可执行文件 的命令如下:

gcc main.c -L./ -lstr -o main

或者

gcc -o main main.c -L./ -lstr

测试是否动态链接,如果列出libstr.so, 那么应该是连接正常了

ldd main

注:

1)-L.:表示连接的库在当前的目录中。

2)-lstr:编译器查找动态链接库时有隐含的命名规则,即在给出的名字前面加上lib,后面加上.so来确定库的名称。

如何用gcc编译器生成动态链接库*.so文件(动态库)相关推荐

  1. linux下如何用gcc编译器生成lst文件?

    工作中又用到lst文件去定位一些问题,因此突然又对这个文件产生了兴趣(因为之前几次也查过百度,苦于一直没找到直接的方法),这次就是先请教了工作的前辈,然后又整合了各方资料,总算是生成了lst文件了,因 ...

  2. 转:如何用gcc编译生成动态链接库*.so文件 动态库

    转:如何编译.so动态库 问:我源文件为main.c, x.c, y.c, z.c,头文件为x.h,y.h,z.h 如何编译成.so动态库? 编译器用gcc 最好能给出详细参数解释,谢谢 答: # 声 ...

  3. gcc/g++链接时.o文件及库的顺序问题

    折腾gcc/g++链接时.o文件及库的顺序问题 链接静态库的顺序问题 GCC 编译使用动态链接库和静态链接库--及先后顺序----及环境变量设置总结 交叉编译静态库的链接顺序 问题: 1.当lib1. ...

  4. qt生成无ui界面动态库,有ui界面的动态库,以及含有资源文件和qss文件的动态库

    提要 此文分别就qt生成纯代码的动态库,含有ui文件的动态库以及含有资源文件qss文件和切图的动态库. 实现 1.纯代码的生成qt库.即没有ui文件的项目. 打开QtCreate,新建文件,选择lib ...

  5. QT生成动态链接库.so文件

    首先是新建一个工程,选择C++库,打开后是这样的: 然后输入新建的名称,下一步,记得勾选Qtcore那个(就是默认的那个),否则编译似乎不能通过.因为后面自动生成的.h文件里还有这个. 自动生成的有4 ...

  6. 【STM32/GD32】 如何用Keil uVision生成bin格式文件

    大家在用Keil uVision编译代码时,会生成一个hex文件,该文件可用stlink.jlink等工具直接下载到单片机中.而更多的场合,程序员会编写一个bootloader程序,用于系统升级使用, ...

  7. 【转】gcc 编译使用动态链接库和静态链接库

    1 库的分类 根据链接时期的不同,库又有静态库和动态库之分. 静态库是在链接阶段被链接的(好像是废话,但事实就是这样),所以生成的可执行文件就不受库的影响了,即使库被删除了,程序依然可以成功运行. 有 ...

  8. GCC 编译使用动态链接库和静态链接库

    1 库的分类 根据链接时期的不同,库又有静态库和动态库之分.静态库是在链接阶段被链接的(好像是废话,但事实就是这样),所以生成的可执行文件就不受库的影响了,即使库被删除了,程序依然可以成功运行.有别于 ...

  9. Linux下gcc编译中关于头文件与库文件搜索路径相关问题

    如何指定GCC的默认头文件路径 网上偶搜得之,以之为宝:) 原地址:http://blog.chinaunix.net/u/28781/showart.php?id=401631 ========== ...

最新文章

  1. [文摘]Maven安装jar包的命令
  2. [推荐]数据库索引碎片的自动重建或重组
  3. jQuery Mobile学习笔记
  4. 白话Elasticsearch10-深度探秘搜索技术之基于dis_max实现best fields策略进行多字段搜索
  5. 【数据结构与算法】之树的概念与使用
  6. JimuReport积木报表 — SQL数据源报表带参展示
  7. Excel如何处理x,y坐标的合并
  8. Win-MASM64汇编语言-$/取当前行代码的地址
  9. bzoj 2131: 免费的馅饼【dp+树状数组】
  10. C/C++基础一:stack heap
  11. eclipse 构建 jpa project 所需的用户库(vendor: EclipseLink)
  12. Matlab之semilogx、semilogx、loglog函数
  13. android 自定义 build.gradle,Gradle for Android 第二篇( Build.gradle入门 )
  14. JavaScript:获取帧率FrameUtil.js
  15. (附源码)springboot自律健身房会员管理系统 毕业设计456466
  16. 穿越时空—智慧城市大数据可视化分析决策系统
  17. python金融衍生品大数据分析 pdf_Python金融衍生品大数据分析:建模、模拟、校准与对冲...
  18. 京东云首次发布数智供应链全景图 锚定产业数字化新赛道
  19. 通过图像预处理解决深度学习模型对光照色彩敏感的问题处理
  20. 用xLang写Timer事件

热门文章

  1. 30款精美的国外企业网站模板 PSD 免费下载
  2. lol登录服务器时显示乱码,win7系统登录LOL游戏出现乱码的解决方法
  3. iOS 真机调试 No profile for team ‘xxxx‘ matching ‘xxx‘ found:
  4. 基于nodejs+vue驾校预约网站管理系统
  5. 发表计算机SCI论文有查重要求吗? - 易智编译EaseEditing
  6. SQL-DDL语句DQL语句
  7. STM32-EXTI
  8. android与ios的适配,Android及ios适配原理总结
  9. Android系统分析—OTA升级
  10. 张驰咨询:为什么企业需要走精益生产的道路?