【发布时间】:2019-11-09 18:00:47
【问题描述】:
我正在编写一个 MATLAB .mex 库来运行 c++ 和 CUDA。在 .cu 和 .cpp 文件中我必须写:
extern "C" void myFunction(float* variable1,float* variable2);
用 Visual Studio 2015 编译。myFunction 的定义在 .cu 文件中,我在 .cpp 中调用它。它已经在工作,但是我想更好地组织它,以便将来更容易修复。
我的问题是:有没有办法创建一个头文件来链接两个文件中的这个函数,这样我就不需要在这两个文件中显式写extern "C"?
【问题讨论】:
-
鉴于所有内容都将使用 C++ 链接进行编译,因此您根本不需要使用
extern "C",所以我真的不明白您在这种情况下的问题是什么 -
我刚刚从一个工作示例中复制了
extern "C"(它正在工作)。我只是按照@MariaChiara 的回答做了并且工作正常。
标签: c++ visual-studio cuda mex