MLGetAvailableLinkProtocolNames (C 函数)

MLGetAvailableLinkProtocolNames has been replaced by WSGetAvailableLinkProtocolNames.

int MLGetAvailableLinkProtocolNames( MLENV env , char *** p , int * l )

从 MathLink 环境 env 中获取一张含有安装链接协议名称的字符串列表,字符串保存在 p 中,名称列表长度保存在 l 中.

更多信息

  • MathLink 目前支持如下链接协议名称:SharedMemory、TCPIP、IntraProcess、Pipes、FileMap 和 TCP.
  • 并非所有链接协议都在所有平台上可用.
  • 平台协议
    LinuxSharedMemory, TCPIP, Intraprocess, Pipes, TCP
    WindowsSharedMemory, TCPIP, IntraProcess, FileMap, TCP
    OS XSharedMemory, TCPIP, IntraProcess, Pipes, TCP
  • MLGetAvailableLinkProtocolNames() 分配内存来储存必须调用 MLReleaseLinkProtocolNames() 才能放出的协议名称列表. 如果 MLGetAvailableLinkProtocolNames() 返回错误,则不能调用 MLReleaseLinkProtocolNames() p 中的内容.
  • 若成功,MLGetAvailableLinkProtocolNames() 返回0;若失败,则返回非零值.
  • MathLink 的标头文件 mathlink.h 已对 MLGetAvailableLinkProtocolNames() 作出声明.

范例

基本范例  (1)

#include "mathlink.h"

int main()
{
    MLENV env;
    char **protocolNames;
    int length;
    int apiResult;

    env = MLInitialize((MLEnvironmentParameter)0);
    if(env == (MLENV)0)
    { /* Unable to create MathLink environment */ }

    apiResult = MLGetAvailableLinkProtocolNames(env, &protocolNames, &length);
    if(apiResult != 0)
    { /* Unable to retrieve link protocol names */ }

    /* ... */

    MLReleaseLinkProtocolNames(env, protocolNames, length);

    MLDeinitialize(env);
}