c与c++混合编程,加某个库进去导致编译的软件变小,无法运行
这两天碰到一个很奇怪的问题,现在我这边是c与c++混合编程,其中有四个库是独立的,用c写的,使用c编译方式编译成库
但是有一个比较奇怪的问题,其中有一个库liba,如果在最后的连接中加上这个liba,即使实际上不使用liba中的任何函数,最后编译出来的软件比常常的软件小太多,无法使用;而如果在链接的时候把liba去掉的话,则编译出来的软件大小正常。
其他三个也是c写的库则使用正常
liba库是蛮早的时候写的,里面函数的定义风格是早期的c函数的定义风格,其中有些函数中定义有名称为this的变量。不过我把this改成其他的名称也会出现一样的情况,而至于c函数定义风格的问题,其他三个c语言写的库中也有那种定义风格的代码
因为接下来必须使用liba中的函数,所以必须把这个问题解决掉
请问下大家有没有碰到这种情况,出现这个问题可能是什么原因呢?