CSDN论坛 > Linux/Unix社区 > 应用程序开发区

c程序调dlopen C++的动态库的问题,急! [问题点数:100分,结帖人himachao]

Bbs1
本版专家分:0
结帖率 100%
CSDN今日推荐
Bbs3
本版专家分:958
Bbs5
本版专家分:2311
Bbs9
本版专家分:68442
Blank
铜牌 2006年4月 总版技术专家分月排行榜第三
Blank
红花 2008年8月 Linux/Unix社区大版内专家分月排行榜第一
2008年7月 Linux/Unix社区大版内专家分月排行榜第一
2006年7月 Linux/Unix社区大版内专家分月排行榜第一
2006年5月 Linux/Unix社区大版内专家分月排行榜第一
2006年4月 Linux/Unix社区大版内专家分月排行榜第一
2006年3月 Linux/Unix社区大版内专家分月排行榜第一
2006年2月 Linux/Unix社区大版内专家分月排行榜第一
2006年1月 Linux/Unix社区大版内专家分月排行榜第一
2004年3月 Linux/Unix社区大版内专家分月排行榜第一
2004年2月 Linux/Unix社区大版内专家分月排行榜第一
2004年1月 Linux/Unix社区大版内专家分月排行榜第一
2003年12月 Linux/Unix社区大版内专家分月排行榜第一
2003年11月 Linux/Unix社区大版内专家分月排行榜第一
2003年10月 Linux/Unix社区大版内专家分月排行榜第一
2003年9月 Linux/Unix社区大版内专家分月排行榜第一
2003年8月 Linux/Unix社区大版内专家分月排行榜第一
Blank
黄花 2003年11月 C/C++大版内专家分月排行榜第二
2006年6月 Linux/Unix社区大版内专家分月排行榜第二
2003年7月 Linux/Unix社区大版内专家分月排行榜第二
Blank
蓝花 2005年12月 Linux/Unix社区大版内专家分月排行榜第三
Bbs1
本版专家分:0
Bbs9
本版专家分:68442
Blank
铜牌 2006年4月 总版技术专家分月排行榜第三
Blank
红花 2008年8月 Linux/Unix社区大版内专家分月排行榜第一
2008年7月 Linux/Unix社区大版内专家分月排行榜第一
2006年7月 Linux/Unix社区大版内专家分月排行榜第一
2006年5月 Linux/Unix社区大版内专家分月排行榜第一
2006年4月 Linux/Unix社区大版内专家分月排行榜第一
2006年3月 Linux/Unix社区大版内专家分月排行榜第一
2006年2月 Linux/Unix社区大版内专家分月排行榜第一
2006年1月 Linux/Unix社区大版内专家分月排行榜第一
2004年3月 Linux/Unix社区大版内专家分月排行榜第一
2004年2月 Linux/Unix社区大版内专家分月排行榜第一
2004年1月 Linux/Unix社区大版内专家分月排行榜第一
2003年12月 Linux/Unix社区大版内专家分月排行榜第一
2003年11月 Linux/Unix社区大版内专家分月排行榜第一
2003年10月 Linux/Unix社区大版内专家分月排行榜第一
2003年9月 Linux/Unix社区大版内专家分月排行榜第一
2003年8月 Linux/Unix社区大版内专家分月排行榜第一
Blank
黄花 2003年11月 C/C++大版内专家分月排行榜第二
2006年6月 Linux/Unix社区大版内专家分月排行榜第二
2003年7月 Linux/Unix社区大版内专家分月排行榜第二
Blank
蓝花 2005年12月 Linux/Unix社区大版内专家分月排行榜第三
Bbs1
本版专家分:75
Bbs1
本版专家分:75
Bbs9
本版专家分:68442
Blank
铜牌 2006年4月 总版技术专家分月排行榜第三
Blank
红花 2008年8月 Linux/Unix社区大版内专家分月排行榜第一
2008年7月 Linux/Unix社区大版内专家分月排行榜第一
2006年7月 Linux/Unix社区大版内专家分月排行榜第一
2006年5月 Linux/Unix社区大版内专家分月排行榜第一
2006年4月 Linux/Unix社区大版内专家分月排行榜第一
2006年3月 Linux/Unix社区大版内专家分月排行榜第一
2006年2月 Linux/Unix社区大版内专家分月排行榜第一
2006年1月 Linux/Unix社区大版内专家分月排行榜第一
2004年3月 Linux/Unix社区大版内专家分月排行榜第一
2004年2月 Linux/Unix社区大版内专家分月排行榜第一
2004年1月 Linux/Unix社区大版内专家分月排行榜第一
2003年12月 Linux/Unix社区大版内专家分月排行榜第一
2003年11月 Linux/Unix社区大版内专家分月排行榜第一
2003年10月 Linux/Unix社区大版内专家分月排行榜第一
2003年9月 Linux/Unix社区大版内专家分月排行榜第一
2003年8月 Linux/Unix社区大版内专家分月排行榜第一
Blank
黄花 2003年11月 C/C++大版内专家分月排行榜第二
2006年6月 Linux/Unix社区大版内专家分月排行榜第二
2003年7月 Linux/Unix社区大版内专家分月排行榜第二
Blank
蓝花 2005年12月 Linux/Unix社区大版内专家分月排行榜第三
Bbs1
本版专家分:75
Bbs9
本版专家分:68442
Blank
铜牌 2006年4月 总版技术专家分月排行榜第三
Blank
红花 2008年8月 Linux/Unix社区大版内专家分月排行榜第一
2008年7月 Linux/Unix社区大版内专家分月排行榜第一
2006年7月 Linux/Unix社区大版内专家分月排行榜第一
2006年5月 Linux/Unix社区大版内专家分月排行榜第一
2006年4月 Linux/Unix社区大版内专家分月排行榜第一
2006年3月 Linux/Unix社区大版内专家分月排行榜第一
2006年2月 Linux/Unix社区大版内专家分月排行榜第一
2006年1月 Linux/Unix社区大版内专家分月排行榜第一
2004年3月 Linux/Unix社区大版内专家分月排行榜第一
2004年2月 Linux/Unix社区大版内专家分月排行榜第一
2004年1月 Linux/Unix社区大版内专家分月排行榜第一
2003年12月 Linux/Unix社区大版内专家分月排行榜第一
2003年11月 Linux/Unix社区大版内专家分月排行榜第一
2003年10月 Linux/Unix社区大版内专家分月排行榜第一
2003年9月 Linux/Unix社区大版内专家分月排行榜第一
2003年8月 Linux/Unix社区大版内专家分月排行榜第一
Blank
黄花 2003年11月 C/C++大版内专家分月排行榜第二
2006年6月 Linux/Unix社区大版内专家分月排行榜第二
2003年7月 Linux/Unix社区大版内专家分月排行榜第二
Blank
蓝花 2005年12月 Linux/Unix社区大版内专家分月排行榜第三
匿名用户不能发表回复!
其他相关推荐
Linux动态链接库同名符号装载问题(二)
上一篇《Linux动态链接库同名符号装载问题(一)》中提到了动态链接的一些问题,本文主要讨论动态加载时符号冲突的问题。PART1:RTLD_DEEPBIND打开动态链接导致段错误的现象可执行程序A通过dlopen动态加载library.so,有可能出现library.so中和这样的情况: 程序A中存在函数search_hash() library.so中同样存在函数search_hash() dl...
c语言中动态库的使用(启动时链接和运行时链接)
背景 c语言中存在静态库(.a)和动态库(.so)。 静态库实际上是一些目标文件的集合,只用于链接生成可执行文件阶段。链接器会将程序中使用到函数的代码从库文件中拷贝到应用程序中,一旦链接完成生成可执行文件之后,在执行程序的时候就不需要静态库了。 特性: 由于每个使用静态库的应用程序都需要拷贝所用函数的代码,所以静态链接的生成的可执行文件会比较大,多个程序运行时占用内存空间比较大(每个...
c++调用c语言的so动态库
1.环境  ubuntu14.04   gcc 4.8.4 g++ 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会在当前目录生成
linux主文件和动态库之间变量和函数访问
通常我们需要从动态库里面直接调用可执行程序中的函数和变量,如果调用了-l选项,linux进程会自动把动态库的函数和变量加入到动态段中,所以直接访问是没有问题的。 我们这里要说的是非显示连接动态库,而是直接从c文件中通过dlopen函数打开动态库访问的方式,此时,gcc编译器不知道SO需要调用哪一个函数,所以不会讲函数放到动态段。故查找函数或者变量的时候,会出现找不到可执行程序中的符号的情况。
加载动态链接库文件.so 失败出错—— No such file or directory (没有文件或目录)问题处理
例如程序通过dlopen加载当前目录下的lib.so。 代码如下:     void * lib_ptr = dlopen("lib.so",RTLD_NOW);    if(lib_ptr == NULL)    {        printf("%s\n",dlerror());    }    dlerror()返回的错误是" No such file or directory
测试同一个动态链接库重复dlopen是否会更新
主函数文件main_dl.c: #include #include #include #include int main() { void (*func)(); void *handle = NULL; char *myso = "./mylib.so"; while(1) { sleep(1); if((hand
Linux动态库的工作原理详解
Linux动态库的工作原理详解 转自:http://www.fenesky.com/blog/2014/03/17/how-shared-library-works.html 关于动态库的原理和加载过程,网上也有很多版本,但是基本都在讲解动态库的编译以及使用,很少能够有文章对动态库的加载以及工作原理进行深入的剖析和讲解。说来也很惭愧,在过去的工作中,没能彻底的去弄清楚动态库的工作原理。直到
C/C++:多进程使用dlopen、dlsym、dlclose装载动态库
C/C++:多进程使用dlopen、dlsym、dlclose装载动态库
erlang调用c\c++动态链接库
之前的服务器用c++写的,有一个加密库一要在erlang中使用,正好来了解一下erlang nif模块下面是简单的例子。 1、vs新建一个空白的c++工程名字就叫niftest 2、把ERL_ROOT/usr/include目录复制到niftest工程目录里 3、右键项目属性-》常规-》配置类型-》动态库(.dll) 4、右键项目属性-》常规-》字符集-》使用Unicode字符集 5、右键
运行过程中链接动态链接库与编译过程中链接动态库的区别
我们调用动态链接库有两种方法:一种是编译的时候,指明所依赖的动态链接库,这样loader可以在程序启动的时候,来所有的动态链接映射到内存中;一种是在运行过程中,通过dlopen和dlfree的方式加载动态链接库,动态将动态链接库加载到内存中。 这两种方式,从编程角度来讲,第一种是最方便的,效率上影响也不大,在内存使用上有些差别。 第一种方式,一个库的代码,只要运行过一次,便会占用物理内
关闭