本文根据http://topic.csdn.net/u/20091026/10/0e913e37-e4a2-4504-bcc7-61af18a22dde.html?6487的回复总结而成。
1. 共享库
通常做成共享库的话,在编绎时加上-shared参数,并把链接生成的文件名命名libxxx.so,可以放在/usr/lib下
其他程序引用这个库时,在链接的时候加上-lxxx就可以了。
编辑好代码以后,编译时采用类似下面的命令可生成"共享库"(假如源文件是myfun.c):
gcc -shared -fPIC -Wmyfun.c -0 libmy.so
解释: -shared 生成共享库;
-fIPC 表示“位置无关代码”(Position Independent Code),可不加;
-W 表示输出警告信息,可不加;
库文件的命名要按照libxxxx.so的格式;
要引用这个库时:
gcc xxx.c -0 xxx.out -lmy
-l 表示设定要连接的库(libmy.so,输my便可)
2.静态库
文件名:lib.c
先编译成目标文件 gcc -o mylib.o -c lib.c
然后创建静态库,将mylib.o放到libmylib.a中 ar rcs libmylib.a mylib.o
最后copy到库目录下/usr/lib cp libmylib.a /usr/lib/libmylib.a
在编写的时候直接调用其中的函数就是了,只不过在编译的时候要加入-l选项后面跟上库名
如 gcc -o test test.c -lmylib //mylib是前面创建的库的名称
3. 动态库
创建就是 gcc -fPIC -share -o mylib.so lib.c
调用也分两种方法
一种方法是 gcc -o test test.c ./libmylib.so (注意这里跟的是动态库的路径 )
第二种方法是使用动态库的函数 你man dlopen看下那几个函数看下就知道了就不多说了
分享到:
相关推荐
1.linux下INI配置文件读写操作库 ======================================================================== if(false) SET(CMAKE_SYSTEM_NAME Linux) set(CMAKE_C_COMPILER "/home/swapp/arm/5.4.0/bin/arm-...
Linux下C语言应用编程》深入浅出地讲解了Linux下C应用程序开发所需的基本工具、知识和技巧,主要包括:开发工具的使用和技巧、文件I/O编程、多进程编程、进程间通信、多线程编程、网络编程等内容。可以让读者轻松、...
main2.cpp 生成1个二进制文件。 main3.c 读取二进制文件。 用fgets可以读取指定长度的字符串。 可用于读取格式化固定位址的二进制结构数据。
linux下开发,连接mysql数据库时候用到的头文件和库文件,32位和64位的都有,直接解压根据系统选择32位还是64位,把mysql_include和mysql_lib两个文件夹复制到主文件同级目录,然后makefile里面这样编译gcc -I./...
Linux操作系统是现在流行的一种免费的操作系统,它完全符合POSIX标准,拥有强大的网络功能和良好的可移植性,系统的开发就是基于这个平台。为了用户操作的方便,系统用QT来实现系统的用户界面,它 是一个跨平台的 ...
先在命令行运行make编译,生成串口读写共享库,然后运行gcc -s -shared -fPIC test.c -lSetupSerialPort -o test.so,编译串口...还有Linux下多线程Stocket通讯例程和firefox插件开发例程,有空整理一下贡献给大家了
Linux下C语言编程入门教程 目录 第一章基础知识 ……………………………………………………………………………4 第二章进程介绍 …………………………………………………………………………10 第三章文件操作 ...
C语言字符串处理、Linux系统编程、多进程、多线程、进程间通信、线程同步、实现的功能有暂停、快进、快退、显示歌词、单曲循环、列表循环、随机播放、声音调节等
linux c 的开发 与程序的开发!对于开发所需要的库文件
资深程序员15年开发经验的总结,全面、深入剖析Linux环境C程序设计的精髓 涵盖Linux C编程基础、开发环境、进程操作、文件操作、网路编程和Shell编程 视频教学:专门录制了16.8小时高清配套教学视频,赠送7小时...
Linux下C开发,包括GDB、GCC、linux常用命令、make文件、vi使用。
使用文件来模拟外存,进行数据结构设计和操作算法的设计,实现一个文件系统并实现基本的文件操作(为了简便文件系统,不考虑文件共享,文件系统安全以及管道文件与设备文件等特殊内容)。要求: 1、对程序的每一部分...
2.3 Linux系统服务 2.4 实验内容 本章小结 思考与练习 第3章 Linux下的C编程基础 3.1 Linux下 C语言编程概述 3.2 进入Vi 3.3 初探Emacs 3.4 Gcc编译器 3.5 Gdb调试器 3.6 Make工程管理器 3.7 ...
项目概述:这是一个基于Linux平台,采用纯C语言开发的多核并行卷积神经网络库。该库包含32个文件,其中C源文件10个,头文件6个,Shell脚本4个,以及其他必要的配置文件和图像文件。该库特色在于其高效的多核并行处理...
嵌入式Linux应用开发教程-第二章嵌入式linux-C语言开发工具新(与“文件”相关共75张).pptx
一共12章,包括图形编程 ...第3章 Linux下的C编程基础 3.1 Linux下C语言编程概述 3.2 进入Vi 3.3 初探Emacs 3.4 Gcc编译器 ..................................... ...................................
delphi编写so库,及调用实例,linux下运行,Deepin系统
在嵌入式Linux软件开发中讲述了嵌入式Linux C语言开发工具的使用、标准库的使用、多任务开发基础和设备驱动开发基础;在嵌入式应用系统实例分析中讲述了嵌入式Linux的网络程序开发、MiniGUI图形界面开发、CAN总线...
基于富瀚6630平台移植mp4v2库将h264流保存为mp4文件