Wolfram mathematica 带有Mathlink(Wolfram Mathematica)的REPL(读取和评估和打印循环)

Wolfram mathematica 带有Mathlink(Wolfram Mathematica)的REPL(读取和评估和打印循环),wolfram-mathematica,mathlink,Wolfram Mathematica,Mathlink,我是Mathlink的新手,在将其集成到代码中之前,我尝试编写一个小REPL来适应它。代码如下(省略了不相关的部分,并为C和C++的可怕混合感到抱歉): 但它似乎根本不起作用。我尝试用一条MLNextPacket指令替换while循环,但没有效果;我花了几个小时搜索Mathlink文档,但那个文档太乱了!我哪里做错了?MathLink数据包将使内核返回封装在MathLink数据包中的结果。尝试将while循环中的条件更改为: while(((pkt=MLNextPacket(lp),pkt))&

我是Mathlink的新手,在将其集成到代码中之前,我尝试编写一个小REPL来适应它。代码如下(省略了不相关的部分,并为C和C++的可怕混合感到抱歉):

但它似乎根本不起作用。我尝试用一条MLNextPacket指令替换while循环,但没有效果;我花了几个小时搜索Mathlink文档,但那个文档太乱了!我哪里做错了?

MathLink数据包将使内核返回封装在MathLink数据包中的结果。尝试将while循环中的条件更改为:

while(((pkt=MLNextPacket(lp),pkt))&&(pkt!=RETURNTEXTPKT))
MathLink数据包将使内核返回封装在MathLink数据包中的结果。尝试将while循环中的条件更改为:

while(((pkt=MLNextPacket(lp),pkt))&&(pkt!=RETURNTEXTPKT))

很有魅力,谢谢!但是如果我试图用CTRL-D退出外观,程序就会崩溃。。。我在循环外添加了:MLPutFunction(lp,“Exit”,0);closelink();脱硝();但这没用…很有魅力,谢谢!但是如果我试图用CTRL-D退出外观,程序就会崩溃。。。我在循环外添加了:MLPutFunction(lp,“Exit”,0);closelink();脱硝();但这没用。。。