我用来MathLink
从C++
应用程序中以字符串形式发送和接收独立的 mma 表达式。
std::string expression[N];
// ...
for(int i = 0; i < N; ++i) {
MLPutFunction(l, "EnterTextPacket", 1);
MLPutString(l, expression[i].c_str());
MLEndPacket(l);
// Check Packet ...
const char* result;
MLGetString(l, &result);
// process result ...
MLDisownString(l, result);
}
我希望这会MLDisownString
释放已使用的内存,但它不会。
有任何想法吗?