首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在没有文件的情况下链接共享库吗?

在没有文件的情况下链接共享库吗?
EN

Stack Overflow用户
提问于 2013-01-22 18:54:56
回答 1查看 154关注 0票数 2

假设我的目标系统上有一个不能在我的开发系统上使用的x.so库。

我需要使用gcc在我的开发机器上编译一个程序,该程序使用该x.so在目标机器上运行。

有没有办法做到这一点?

EN

Stack Overflow用户

发布于 2013-01-22 19:03:48

是。您根本没有链接到该库,而是使用dlopen()打开它:

代码语言:javascript
运行
复制
void* dlhandle = dlopen("x.so", RTLD_LAZY);

并使用dlsym()从其中加载符号:

代码语言:javascript
运行
复制
some_func_pointer = dlsym(dlhandle, "function");

然后,您可以通过从dlsym()获得的函数指针调用function()。当然,函数指针的类型必须与正在加载的函数相匹配。系统不会为您选中此选项。

票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14456923

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档