8.4.3. Environment¶
Environment代表一个运行模型的环境,包括License检查以及参数配置等。 在创建模型前,需要先提供一个Environment与模型相关联
函数
创建一个环境
创建一个空的环境
启动一个空的环境
释放以前创建的环境
将一条新消息追加到环境日志中
解释指定的错误代码
检索与环境关联的最新错误消息
检索MindOpt版本号
将输出日志重定向到用户定义的回调函数
- 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
指定函数状态的响应代码。