MLGetMessage()

int MLGetMessage(MLINK link, int* code, int*param)
从与 link 相关的紧急消息通道读取一个带外消息代码,并把代码存在 code,任何参数存在 param 中.

更多信息更多信息

  • MLGetMessage() 返回一个非零值0如果读取一个带外(out-of-band)消息,否则为零.
  • MLGetMessage() 不是一个块函数(nonblocking function).
  • MLGetMessage() 返回以下消息:
  • MLTerminateMessage关闭当前程序
    MLInterruptMessage中断当前操作
    MLAbortMessage放弃当前操作
    MLEndPacketMessage过时的消息
    MLSynchronizeMessage同步链接两端的内部表达式流
    MLImDyingMessage关闭链接的另一端
    MLWaitingAcknowledgement需要链接另一端的响应
    MLMarkTopLevelMessageMathLink 程序库的内部消息
    MLLinkClosingMessageMathLink 程序库的内部消息
    MLAuthenticationFailure验证消息失败
    MLFirstUserMessage用户定义的消息空间的开始
    MLLastUserMessage用户定义的消息空间的结尾
  • MLFirstUserMessage 应被用于任何用户定义的消息的开始值. 一个新的消息应被定义为 #define MyAppMessage MLFirstUserMessage + 1.
  • 用户定义的消息不应具有大于 MLLastUserMessage 的值.
  • 标准 MathLink 消息没有任何参数.
  • MLGetMessage()MathLink 的标头文件 mathlink.h 中被声明.

范例范例打开所有单元关闭所有单元

基本范例 (1)基本范例 (1)

#include "mathlink.h"

/* read an out-of-band message code from a link */

void f(MLINK lp)
{
    int code, param;

    if(MLMessageReady(lp))
    {
        if(! MLGetMessage(lp, &code, &param))
            { /* unable to read the message code from lp */ }
    }
}
New to Mathematica? Find your learning path »
Have a question? Ask support »