Oracle 是否可以在HPUX上使用gcc编译/链接到occi?

Oracle 是否可以在HPUX上使用gcc编译/链接到occi?,oracle,gcc,hp-ux,Oracle,Gcc,Hp Ux,我们在HP-UX 11.31和gcc 4.4.3上运行Oracle 11。似乎没有办法链接到occi,因为它是用aCC构建的。是否有解决方法 我有一个愚蠢的想法,我可以以某种方式构建一个基本上代理连接的库——以某种方式使用aCC构建库,这种方式可以通过gcc链接。这可能吗?不,没有办法解决这个问题 不同的C编译器有使用标准ABI的可互换代码。您可以或多或少地混合和匹配它们的目标代码,而不受惩罚 但是,不同的C++编译器有多种不同的约定,这意味着它们的目标代码不兼容。这些与类布局有关(特别是在多继

我们在HP-UX 11.31和gcc 4.4.3上运行Oracle 11。似乎没有办法链接到occi,因为它是用aCC构建的。是否有解决方法


我有一个愚蠢的想法,我可以以某种方式构建一个基本上代理连接的库——以某种方式使用aCC构建库,这种方式可以通过gcc链接。这可能吗?

不,没有办法解决这个问题

不同的C编译器有使用标准ABI的可互换代码。您可以或多或少地混合和匹配它们的目标代码,而不受惩罚

但是,不同的C++编译器有多种不同的约定,这意味着它们的目标代码不兼容。这些与类布局有关(特别是在多继承层次结构和可怕的“死亡钻石”中),但也与名称混乱约定和异常处理有关。故意使名称混乱方案不同,以便您不会意外地将对象从一个编译器链接到另一个编译器

一般来说,如果库是使用C++编译器构建的,那么就必须使用相同的或至少兼容的C++编译器链接代码。这几乎总是意味着来自同一家族的编译器。例如,即使代码是用G++4.4.2构建的,您也可以使用G++4.5.0。但是,您将无法将aCC与G++混合使用