正在做一些移植工作,由32位平台sybase120+aix433移植到新平台:sybase12.5.4for4.3.3+aix5.3.0.0 都是32位的,以下应用在sybase120+aix433中是正常运行的,但在新的平台就报错,我们的应用中有动态 调用动态库,应用(主要部分,都贴的太长了)如下: extern int GetSN(char *pszSNType, char *pszHeadNo, char *pszSN); main() { EXEC SQL BEGIN DECLARE SECTION; char username[30]; char password[30...
SCO下的动态库中的成员函数如何获得自身所在的动态库句柄, 有无类似window API VirtualQuery的实现办法? (不能用dlopen,因为程序运行时刻不知道动态库文件的名称)
嵌入式系统中,需要无限次循环调用动态链接库 但是测试发现,程序在运行之中占用的内存在慢慢增加,大概四到五个小时后进程退出,但是没有任何报错信息,感觉每次都是在dlclose的时候退出的,并且在退出的时候系统我全部内部还剩余30%~40%,不知道这样算不算是内存泄漏,因为我在网上看到有说dlopen可能导致内存泄漏的, ==>http://www.cublog.cn/u/30686/showart_523439.html ==>http://bbs.chinaunix.net/viewthread.php?tid=53...
我的程序用dlopen(chLibPath, RTLD_LAZY)打开一个动态文件.so,结果 打开动态库失败,dlerror报错: dynamic linker: pa_batcol: relocation error: symbol not found: environ 我的动态库是带连接本地数据库的,如果打开一个不带数据库的就没问题。 我将发现,只要动态库文件程序中有这句,打开动态连接库就会报上面的错误,如下: EXEC SQL CONNECT :chUserName IDENTIFIED BY :chPassWord AT :chFrontDbName USING :chServic...
我的环境是sco5.05, 我写了一个.ec文件的函数,在里面用到了informix的库函数,如: $include datetime.h; tst(char *p ) { long a; if( rdefmtdate( &a, "yyyymmdd", p ) != 0 ){ printf( "Error!\n" ); } else{ printf( "Success!\n" ); } } 用esql编译成.so文件。 同时我在main函数中通过dlopen等函数调用.so文件,如: main() { char p[20]; dlopen(.....
当我用RTLD_LAZY模式时我dlsym的proc的函数,调用时总是core 提示信息是: : Unresolved symbol: sqlcxt (code) from test.sl Abort(coredump) 我用RTLD_NOW 模式时,dlopen的时候出错,提示信息是: Unresolved symbol: sqlcxt (code) from test.sl 没查出来问题到底在哪,我怀疑是编译动态库的时候或者编译主程序的时候少带了什么参数,有哪位用过的可以帮我吗?
请问哪位大侠用过dlopen函数 在sco下,有没有应用实例、体会、demo等,我现在想学习学习,请各位在本贴中贴出来,或发信给我:cnjqian@163.com,谢谢! :shock: