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;
}