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
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 默认壁纸历代记
- Ubuntu Remix Cinnamon 20.04 评测:Ubuntu 与 Cinnamon 的完美融合
- 关于Ubuntu 11.10启动提示waiting for the network configuration的问题
- 在 Ubuntu 桌面中使用文件和文件夹
- 如何组织构建多文件 C 语言程序(二)
- ubuntu下chrome无法同步问题解决
- Ubuntu Linux使用体验
- 使用 GNOME 优化工具自定义 Linux 桌面的 10 种方法
- 以Ubuntu 9.04为例 将工作环境迁移到 Linux
- VirtualBox虚拟机XP与宿主机Ubuntu互访共享文件夹
- 从USB安装Ubuntu Server 10.04.3 图文详解
- Ubuntu 15.04 正式版发布下载
- Ubuntu 12.04安装最新 Reaver和 aircrack-ng 无线网络工具
- Linux-Ubuntu 10.04安装Cadence-ic610 方法总结图解
- Ubuntu 12.04和Windows 7双系统安装图解
- Ubuntu /home下中文目录如何修改成英文?
- 开机出现:grub rescue的修复方法
- Ubuntu连接Android真机调试
- 你应该选择 Ubuntu 还是 Fedora?
- 100 个最佳 Ubuntu 应用(中)