您的位置:首页 > 编程语言 > C语言/C++

c语言调用c语言的so动态库

2017-02-07 15:17 357 查看
1.环境 

ubuntu14.o4  

gcc 4.8.4

2.库文件生成

1)源码

//clTest.c

int add(int a, int b) {
return a + b;
}2)生成库文件
cd到clTest.c所在目录,输入命令

gcc -shared -o libclTest.so clTest.c会在当前目录生成文件libclTest.so
3.主程序

1)源码

//cclTest.c
#include <stdio.h>
#include <dlfcn.h>

int main(void) {
int(*myadd)(int a, int b);
void *handle;
handle = dlopen("./libclTest.so", RTLD_LAZY);
myadd = dlsym(handle, "add");

int result = myadd(1, 2);

dlclose(handle);

printf("%d\n", result);
}

2)编译成可执行文件
cd到cclTest.c所在目录,输入命令

gcc -o cclTest cclTest.c -ldl生成可执行文件cclTest

4.执行
cd到可执行文件cclTest所在目录

输入命令

./cclTest
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ubuntu c语言 so 动态库