Tri*_*g3l 5 c c++ name-mangling
我有一个.lib文件,我没有源代码.
我需要一个导出的函数,但是我用C编写,函数是C++名称错误的.我不能写extern "C",因为我没有源代码.
如何在没有源代码和切换到C++的情况下链接损坏的函数?
Ker*_* SB 12
制作C++包装器:
wrapper.cpp:
#include "3rdparty.hpp"
extern "C" int foo(int a, int b)
{
return third_party::secret_function(a, b);
}
Run Code Online (Sandbox Code Playgroud)
consumer.c:
extern int foo(int, int);
// ...
Run Code Online (Sandbox Code Playgroud)
构建:(例如与GCC)
g++ -o wrapper.o wrapper.cpp
gcc -o consumer.o consumer.c
g++ -o program consumer.o wrapper.o -l3rdparty
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1112 次 |
| 最近记录: |