您的位置:首页 > 运维架构 > Linux

Linux共享库so文件创建与使用

2015-09-16 19:09 417 查看
Linux共享库so文件类似于Windows的dll文件,首先讲一下so文件的创建过程

将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目录下就可以运行
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: