AIX系统下,采用xlC_r编译、链接多个动态库,不同的动态库有同名的类,导致程序异常退出,如何解决?

AIX系统下,采用xlC_r编译、链接多个动态库,不同的动态库有同名的类,导致程序异常退出,如何解决?,第1张

用域 *** 作来区分同名类, 使用的时候指明域名就可以了

比如这样: 你把其中一个同名类用域名来 *** 作,另一个用全局域 *** 作,当然,你也可以都采用命名空间来处理.

m.cpp:#include <stdio.h>

m.cpp:namespace james

m.cpp:{

m.cpp: #include "james.h"

m.cpp:}

m.cpp:class AA

m.cpp:{

m.cpp:public:

m.cpp: AA() { printf("A() %s\n", __FILE__)}

m.cpp: ~AA() { printf("~A()\n")}

m.cpp:}

m.cpp://using namespace james// 这句如果放开就会命名冲突, 你可以试试,如果要方便使用,就是两个类用两个不同的命名空间,然后在某个文件中如果仅仅用到其中一个,那么你可以用using 关键字指定其中一个, 就和你原来的使用一样了.

m.cpp:int main()

m.cpp:{

m.cpp: james::AA o

m.cpp: AA o2

m.cpp:}

james.h:#include <stdio.h>

james.h:

james.h:class AA

james.h:{

james.h:public:

james.h:AA() { printf("A() %s\n", __FILE__)}

james.h:~AA() { printf("~A()\n")}

james.h:}

Makefile:

Makefile:all: m.cpp james.h

Makefile: g++ $^

设置ORACLE_HOME环境变量,一般是sqlplus所在位置的上一级再上一级目录, 然后设置PATH,加入$ORACLE_HOME/bin 给你一个示例 export ORACLE_BASE=/ora10 export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1/ export PATH=$ORACLE_HOME/bin:$P


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8497799.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-17
下一篇 2023-04-17

发表评论

登录后才能评论

评论列表(0条)

保存