我意思是用extern “C” 来定义namespace GameFunc { //创建对象 void HkCreateObj(ULONG64 Object,ULONG64 RDX); //删除对象 void HkDeleteObj(ULONG64 MatrixManager, ULONG64 Object); //动作Call void HkActionCall(ULONG64 Object, ULONG64 RSP); }
时间: 2024-01-27 12:05:05 浏览: 58
浅析extern “C”的作用
如果您想使用 `extern "C"` 来定义 C 语言风格的函数在 C++ 中的命名空间 `GameFunc`,可以按照以下方式进行定义:
```cpp
#ifdef __cplusplus
extern "C" {
#endif
namespace GameFunc
{
// 创建对象
void HkCreateObj(ULONG64 Object, ULONG64 RDX);
// 删除对象
void HkDeleteObj(ULONG64 MatrixManager, ULONG64 Object);
// 动作Call
void HkActionCall(ULONG64 Object, ULONG64 RSP);
}
#ifdef __cplusplus
}
#endif
```
在这个例子中,我们使用 `extern "C"` 来告诉编译器,其中的函数采用 C 语言的链接规范,以便在 C++ 中正确处理函数的名称。
请注意,`extern "C"` 应该放在 C++ 的代码块中,因此我们使用了条件编译指令 `#ifdef __cplusplus` 和 `#endif` 来确保这些代码仅在 C++ 编译器下进行编译。
通过这种方式,在 C++ 中可以使用 `namespace GameFunc` 来访问这些函数,并且函数将以 C 语言的方式进行链接。
阅读全文