Linux共享库so文件创建与使用
2015-09-16 19:09
417 查看
Linux共享库so文件类似于Windows的dll文件,首先讲一下so文件的创建过程
将Test.c文件编译成libtest.so文件,test.c文件内容如下:
编译成.so文件名需要以lib开头.so结尾,然后我们需要些.h文件告诉调用方so文件的内容 test.h头文件的内容如下:
到这so文件的创建基本完成 下面就介绍一下so文件的使用
参数-L.就是在本地目录下找libtest.so文件 我们需要把libtest.so文件放在/usr/lib目录下就可以运行
将Test.c文件编译成libtest.so文件,test.c文件内容如下:
int max(int a,int b) { return a>b?a:b; } int add(int a,int b) { return a + b; } ~ ~主要还是看makefile文件的内容将.c文件编译成.so文件
编译成.so文件名需要以lib开头.so结尾,然后我们需要些.h文件告诉调用方so文件的内容 test.h头文件的内容如下:
#ifndef TEST_H_ #define TEST_H_ #ifdef __cplusplus extern "C" { #endif int max(int a,int b); int add(int a,int b); #ifdef __cplusplus } #endif #endif ~
到这so文件的创建基本完成 下面就介绍一下so文件的使用
#include <stdlib.h> #include <stdio.h> #include "test.h" int main(void) { printf("max number :%d\n",max(8,10)); printf("add number;%d\n",add(8,10)); return EXIT_SUCCESS; } ~ ~ ~ ~关键需要看makefile编译文件内容:
参数-L.就是在本地目录下找libtest.so文件 我们需要把libtest.so文件放在/usr/lib目录下就可以运行
相关文章推荐
- 【CentOS 6.5】解决QtCreator 安装时错误:/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
- centos关掉防火墙以及selinux
- Linux的加密工具以及ssh
- Linux中jsoncpp的安装和使用
- Linux下,telnet命令如何退出
- CentOS postgresql9.4
- 在Linux执行命令报错”Arg list too long”的原因分析
- Linux之定时器与时间管理 【转】
- linux下使用AES cbc加解密文件源码,支持所有类型文件
- Linux内核驱动之延时 【转】
- centos 文本排序
- Linux 编程学习笔记----动笔makefile档
- linux下文件夹的创建、复制、剪切、重命名、清空和删除命令
- linux内存管理解析
- 关于在Linux的堆栈段执行代码的实践和思考
- Linux命令大全
- Linux最基础(第一篇)——用户权限
- Linux系统平均负载3个数字的含义
- CentOS NTP服务器
- linux sort 命令详解