将 C++ 链接到 GAMS 软件
linking c++ to gams software
我想使用 createprocess() 函数将 c++ 链接到 GAMS 软件。我使用了这段代码,但它只是打开了 GAMS 软件。我希望程序在打开 GAMS 软件后自动运行 file.gms:
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory(&si, sizeof(si));
si.cb = sizeof(si);
ZeroMemory(&pi, sizeof(pi));
if(CreateProcessW(L"C:\PROGRA~1\gams23.3\gamside.exe",NULL,NULL,NULL,false,0,NULL,NULL,&si,&pi))
{
WaitForSingleObject(pi.hProcess, 10000 );
CloseHandle( pi.hProcess );
CloseHandle( pi.hThread );
}
请帮助我。非常感谢。
您应该使用要查看 gamside 的命令行填写第二个参数 ( LPTSTR lpCommandLine
.exe (例如,将您的文件作为第一个参数传递)。您需要在那里指定的内容取决于 gamside 程序的规范(这是 WETF)。
顺便说一句:在您的问题标题中使用术语"链接"对于这个主题来说有点误导,因为C++上下文中的"链接"通常意味着将库链接到可执行文件,而不是从中调用另一个可执行文件。
从其他编程环境调用 GAMS 模型求解器的这个一般问题在 GAMS 帮助页面和讨论列表中得到了很好的处理。参见,例如
http://interfaces.gams-software.com/doku.php?id=env:executing_gams_from_other_environments或http://interfaces.gams-software.com/doku.php?id=env:spawning_gams_from_visual_c
您可能希望调用 gams.exe而不是 gamside.exe因为您不需要 IDE。 从命令行调用 gams.exe 的调用语法有据可查。
相关文章:
- 用于在并发环境中访问 MMIO 的软件模式
- 有没有办法实现 fmu 导出到基于 c++ 的仿真软件以使用 fmi?
- 从C++调用 Python 并访问通过 Anaconda 安装的软件包
- 有关图像处理应用程序的硬件和软件安全性的建议
- 通过自制软件(macOS)安装的clang++:编译错误
- 如何在软件代码中使用ofstream创建文件
- 如何在Linux上正确发布C++软件(游戏)
- 尝试使用 RTool 在 R4.0 上安装软件包时出现编译错误
- Visual Studio Code输出被检测为恶意软件?
- 如何使用自制软件,cMake和cLion将库添加到C++项目中
- 我正在尝试编写将 ASCII 转换为十进制、添加并转换回 ASCII 的软件
- 在 C/C++ 中,是否可以通过使用指针更改"important"内存地址的值来创建简单的恶意软件?
- 使用策略模式设计软件时出现的问题
- 为什么 Avira 认为"CoCreateInstance()"是恶意软件?
- 在陈述"Implementation-defined"时,什么样的软件是"Implementation"的一部分?究竟什么是"Implementation"?
- 如何导入使用自制软件安装的 GMP?
- 在 Linux 上分发软件时的库依赖关系?
- 在RHEL6上使用最近的gcc进行编译:如何分发软件?
- 构建软件应用程序
- 将 C++ 链接到 GAMS 软件