8.3.3. Environment

Environment代表一个运行模型的环境,包括License检查以及参数配置等。 在创建模型前,需要先提供一个Environment与模型相关联

函数

MDOloadenv()

创建一个环境

MDOemptyenv()

创建一个空的环境

MDOstartenv()

启动一个空的环境

MDOfreeenv()

释放以前创建的环境

MDOmsg()

将一条新消息追加到环境日志中

MDOexplainerror()

解释指定的错误代码

MDOgeterrormsg()

检索与环境关联的最新错误消息

MDOversion()

检索MindOpt版本号

MDOsetlogcallback()

将输出日志重定向到用户定义的回调函数

int MDOloadenv(MDOenv **envP, const char *logfilename)

创建一个环境。 该函数通常是应用程序中的第一个调用。 该函数将尝试查找许可证文件 (mindopt.lic用于固定 许可证,或fl_client.ini用于浮动许可证) 并进行许可证检查。 该例程还将检查当前工作目录下的文件 mindopt.env,将尝试从这个文件读取参数设置,这个文件必须是PRM格式。

Parameters
  • envP (MDOenv**) – [out] 指向新创建的Environment的指针返回的位置。

  • logfilename (const char*) – [in] 日志文件名。可以为NULL或空字符串,在这种情况下不会创建日志文件。

Returns

指定函数状态的响应代码。

int MDOemptyenv(MDOenv **envP)

创建一个空的环境。

Parameters
  • envP (MDOenv**) – [out] 指向新创建的环境的指针的位置 应该放置。

Returns

指定函数状态的响应代码。

Note

您将需要调用 mdodstartenv 之前,您可以使用该 环境。

int MDOstartenv(MDOenv *env)

启动一个空的环境。 该函数启动由MDOemptyenv创建的空环境。 该例程将尝试查找许可证文件 (mindopt.lic用于固定 许可证或fl_client.ini用于浮动许可证) 并进行许可证检查。 该函数还将检查当前工作目录下 名为mindopt.env的文件,它将尝试从中读取参数设置,这个文件必须是PRM格式。

Parameters
  • env (MDOenv*) – [in] 空环境的指针。

Returns

指定函数状态的响应代码。

void MDOfreeenv(MDOenv *env)

释放以前创建的环境。 当不再需要环境时,应调用该例程。

Parameters
  • env (MDOenv*) – [in] 环境被释放。

void MDOmsg(MDOenv *env, const char *message)

将一条新消息追加到环境日志中。

Parameters
  • env (MDOenv*) – [in] 接收消息的环境。

  • message (const char*) – [in] 要追加的消息。

const char *MDOexplainerror(int code)

解释指定的错误代码。

Parameters
  • code (int) – [in] 错误代码。

Returns

code 相对应的解释。请注意,它是一个指向模型的指针内部数据结构。

char *MDOgeterrormsg(MDOenv *env)

检索与环境关联的最新错误消息。

Parameters
  • env (MDOenv*) – [in] 环境指针。

Returns

最新的错误消息。请注意,它是指向模型内部的指针数据结构。

void MDOversion(int *majorP, int *minorP, int *technicalP)

检索MindOpt版本号。

Parameters
  • majorP (int*) – [out] 存放主版本号的位置。

  • minorP (int*) – [out] 存放次要版本号的位置。

  • technicalP (int*) – [out] 保存技术版本号的位置。

int MDOsetlogcallback(MDOenv *env, logfn logcb, void *userdata)

将输出日志重定向到用户定义的回调函数。 该函数将输出日志重定向到用户定义的回调函数。

Parameters
  • env (MDOenv*) – [in] 指向环境的指针。

  • logcb (logfn) –

    [in] 用户定义的回调函数。 类型 ‘logfn’ 定义为:

    typedef void (* logfn)(const char *, void *);
    

  • userdata (void*) – [in] 用户定义的,将传入回调函数的上下文。

Returns

指定函数状态的响应代码。