linux下的C语言开发(动态库)
来源:互联网 发布:淘宝buy 宣传视频 编辑:程序博客网 时间:2024/06/05 18:29
动态链接库不是linux独有的特性,在windows下面也存在这样的特性。一般来说,windows下面的动态连接库是以*.dll作为结尾的,而linux下面的动态连接库是以*.so结尾的。和静态链接库相比,动态连接库可以共享内存资源,这样可以减少内存消耗。另外,动态连接是需要经过操作系统加载器的帮助才能被普通执行文件发现的,所以动态连接库可以减少链接的次数。有了这个特点,我们就不难发现为什么很多软件的补丁其实都是以动态库发布的。
那么,在Linux上动态库是怎么生成的呢?
- #include "test.h"
- int add(int a, int b)
- {
- return a + b;
- }
- #ifndef _TEST_H
- #define _TEST_H
- int add(int a, int b);
- #endif
- #include <stdio.h>
- #include "test.h"
- int main()
- {
- printf("%d\n", add(2, 3));
- return 1;
- }
这个时候,有的朋友就会问了,那在windows下面dll应该怎么编写呢?其实也不难,只要在test.h上面稍作改变即可。其他的步骤和静态库的操作是基本类似的。
- #ifndef _TEST_H
- #define _TEST_H
- #ifdef USR_DLL
- #define DLL_API _declspec(dllexport)
- #else
- #define DLL_API _declspec(dllimport)
- #endif
- DLL_API int add(int a, int b);
- #endif
- linux下的C语言开发(动态库)
- linux下的C语言开发(动态库)
- linux下的C语言开发(动态库)
- linux下的C语言开发(动态库)
- linux下的C语言开发(动态库)
- 【转】linux下的C语言开发(动态库)
- linux下的C语言开发(动态库)
- linux下的C语言开发(动态库)
- linux下的C语言开发(动态库)
- linux下的C语言开发(动态库)
- linux下的C语言开发(动态库)
- linux下的C语言开发(动态库)
- linux下的C语言开发(动态库)
- linux下的C语言开发(动态库) 转载加原创
- Linux下的C语言开发(静态库和动态库)
- linux下的C语言开发(静态库)
- linux下的C语言开发(静态库)
- linux下的C语言开发(静态库)
- 解决weblogic和asix之间冲突
- ios快速生成所需要的资源文件
- 解决magento保存产品时耗时很长的问题
- Incorporating Socket Programming into your Applications
- MongoDB MongoDB索引用法和效率分析(5)
- linux下的C语言开发(动态库)
- 运行时改变Button图片的android:drawableTop
- 中国地下市场出现了攻击Apache Struts漏洞的工具, 可让攻击者在目标服务器上执行任意指令
- C++常见的内存错误及其对策
- <Win32_2>Bitmap位图应用1 ------ Win32的数字时钟
- 数组的地址是什么?是指向该数组类型的指针。
- Oracle 10g 修改字符集 为 ZHS16GBK
- DTSRUN
- Ext.form.field.Trigger自定义按钮样式及背景图