使用gcc生成动态库及使用动态库的方法
gcc常用编译选项:
选项 |
含义 |
-static | 链接静态库,禁止使用动态库 |
-shared | 进行动态库编译,链接动态库 |
-Ldir | 在动态库的搜索路径中增加dir目录 |
-lname | 链接静态库(libname.a)或动态库(libname.so)的库文件 |
-fPIC(或fpic) | 生成使用相对地址无关的目标代码 |
方法一:
第一步:使用-shared参数生成动态库,gcc -shared -fPIC -o libtest.so test.c 然后把libtest.so复制到/usr/lib64/系统路径下
注意:生成的动态库的名字必须是lib+名字.so,之后可以直接使用-ltest来引用动态库。
第二步:编译main.c,使用libtest.so动态库,gcc -o main main.c -L/usr/lib64/ -ltest
方法二:
在编译main.c,并链接libtest.so的时候,直接指定使用当前目录下的libtest.so文件,
使用命令:gcc -o main main.c ./libtest.so
使用gcc生成动态库及使用动态库的方法相关推荐
- dll = MinGW gcc 生成动态链接库 dll 的一些问题汇总
MinGW gcc 生成动态链接库 dll 的一些问题汇总 https://blog.csdn.net/liyuanbhu/article/details/42612365 网络上关于用 MinGW ...
- linux 中如何将文件粘贴到usr下的lib内,学会在Linux下GCC生成和使用静态库和动态库...
一.基本概念1.1什么是库 在windows平台和linux平台下都大量存在着库. 本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行. 由于windows和linux的平台不同(主 ...
- Linux下Gcc生成和使用静态库和动态库详解
参考文章:http://blog.chinaunix.net/uid-23592843-id-223539.html 一.基本概念 1.1什么是库 在windows平台和linux平台下都大量存在着库 ...
- Linux下GCC生成和使用静态库和动态库详解(二)
2.1准备好测试代码hello.h.hello.c和main.c: hello.h(见程序1)为该函数库的头文件. hello.c(见程序2)是函数库的源程序,其中包含公用函数hello,该函数将在屏 ...
- Linux下Gcc生成和使用静态库和动态库详解(转)
一.基本概念 1.1什么是库 在windows平台和linux平台下都大量存在着库. 本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行. 由于windows和linux的平台不同( ...
- 用 gcc生成静态库和动态库以及静态库和动态库的使用
文章目录 一.linux下gcc生成静态库和动态库以及库文件的使用 1.准备过程 2.静态库的创建及使用 (1)创建静态库 (2)程序中使用静态库 3.动态库的创建及使用 (1)创建动态库 (2)程序 ...
- gcc生成静态库.a和动态库.a以及Ubuntu18.04下opencv3.4.11安装及示例
目录 一.用gcc生成静态库和动态库 (一)hello示例使用库 1.准备过程 2.静态库使用 3.动态库的使用 4.静态库与动态库比较 (二)示例1使用库 二.opencv安装以及使用 (一)认识o ...
- gcc生成静态库和动态库,以及OpenCV3.4.11的安装和实例
文章目录 一.用gcc生成静态库和动态库 (1).hello使用库实例 1.创建目录并编写hello代码 2.gcc编译得到.o文件 3.静态库的使用 4.动态库的使用 5.静态库与动态库的对比 (2 ...
- 用gcc生成静态库和动态库和使用opencv库编写打开摄像头压缩视频
文章目录 一.用gcc生成静态库和动态库 1.编辑生成程序hello.h.hello.c.main.c 2.将hello.c生成.o文件 3.使用静态库 4.动态库的使用 二.a与.so库文件的生成与 ...
- GCC生成静态库和动态库
目录 1)阅读.理解和学习材料"用gcc生成静态库和动态库.pdf"和"静态库.a与.so库文件的生成与使用.pdf",请在Linux系统(Ubuntu)下如实 ...
最新文章
- Git停止跟踪rm -r --cached与ignore区别
- 使用Xcode 7 beta免费真机调试iOS应用程序
- Java——获取和设置多线程的名称
- fck java_FCkjava三种调用方法
- javascript小技巧JavaScript[对象.属性]集锦
- Spring Boot教程
- php执行跟踪_PHP 代码调试跟踪工具 Ytrace
- linux锁定系统时间设置,Linux时间设置系统时间、硬件时间和时间服务
- wp友情链接php代码,为wordpress增加友情链接内页
- libsvm 的使用
- 图论最短路及生成树(Prim,Djikstra,Spfa,Bellan-ford,kruskal,topsort)
- python 基本数据类型
- Julia : 数组(矩阵)的条件过滤
- java选择题库_java题库1-单项选择题.doc
- 在linaro中安装opencv
- Linux——缺少ld-linux.so.2,lbiz.so.1库文件
- Amazon,我们完全不能接受 — 因此我们必须变更 Elastic 许可协议
- Axure 9 修改默认字体
- 详细了解 Linkerd 2.10 基础功能,一起步入 Service Mesh 微服务架构时代
- 【Python网络编程和并发-多线程共享数据混乱引出同步锁】
热门文章
- centos 发送匿名邮件
- .net C# asp.net SMTP 匿名发邮件完整解决方案,有源码.
- linux常用的引导管理器,Linux引导管理器GRUB、GRUB 2和LILO简介
- Docker容器实现跨主机文件共享(NFS服务器)
- EXCEL中行列转换
- C++类的实现 奥特曼打怪兽
- win10设置计算机关机时间,win10系统怎样设置定时关机 win10有定时关机设置吗
- 2021刷百度统计关键词的灰产嫌疑人徐某被抓
- 英文缩写400个速查
- u盘安装系统win2019服务器系统,U盘启动装WIN10系统教程,U盘安装WIN2019方法,UltraISO将Windows server 2016/2019安装盘ISO写入U盘进行安装...