我正在尝试在 R 中使用一些 C++ 函数。我已将所有 C++ 函数放在一个 DLL 中。我的 R 代码是
#load the c++ DLL
dyn.load("PathToDLL\\MyCPlusPlus.dll")
#call the C++ function from R
a <- .C("MyFunc",as.character("Hello world"))
我的 C++ DLL 函数是
char ** _stdcall MyFunc(char ** strInput)
{
//display the string received from R
MessageBox(NULL, LPCWSTR(*strInput), L"C++ program", NULL);
return strInput;
}
我遇到的问题是我从 R 传递到 C++ 的字符串在显示在消息框中时被破坏了。有没有人有将字符串从 R 传递给 C++ 的经验,如果是这样,你能指出我正确的方向吗?
谢谢
编辑:我也尝试过使用 char * 而不是 char** 如下所示,但没有运气
char * _stdcall MyFunc(char * strInput)
{
//display the string received from R
MessageBox(NULL, LPCWSTR(strInput), L"C++ program", NULL);
return strInput;
}