Har*_*rry 4 c c++ extern linkage
这样做合法吗?我想导出一个 C 函数,但在内部该函数将使用一个 C++ 类。
extern "C" BOOL /*BOOL==int*/ Func()
{
return someclass::getinstance()->Func(); // this is just bool tho
}
Run Code Online (Sandbox Code Playgroud)
这是完全合法的。extern "C" 的目的是防止 Func() 对其名称进行修改(用类型信息修饰),以便 C 模块可以使用其纯名称链接到它。C++ 修改名称,以便可以解析名称相同但参数列表不同的函数(函数重载)。
| 归档时间: |
|
| 查看次数: |
501 次 |
| 最近记录: |