【问题标题】:linking c++ to gams software [duplicate]将c ++链接到游戏软件[重复]
【发布时间】:2012-06-21 15:17:59
【问题描述】:

我想使用 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 );   
 }

请帮助我。非常感谢。

【问题讨论】:

    标签: c++ gams-math


    【解决方案1】:

    您应该使用您希望查看 gamside.exe 的命令行填写第二个参数 (LPTSTR lpCommandLine)(例如,将您的文件作为第一个参数传递)。您需要在那里指定的内容取决于 gamside 程序的规范(这是 WETF)。

    顺便说一句:在您的问题标题中使用术语“链接”对本主题有点误导,因为 C++ 上下文中的“链接”通常意味着将库链接到您的可执行文件,而不是从中调用另一个可执行文件。

    【讨论】:

    • 你介意给这个问题加上一个 gams 标签和stackoverflow.com/q/22666921/1470262吗?
    • @ElaineHale 目前没有gams 标签(我不想创建一个新标签)。对于您提供的链接,我会将问题标记为可能重复。
    • 你为什么不想为游戏创建一个新标签?这似乎是合适的,因为已经有一个放大器,至少有 5-10 个现有问题可以使用它,并且可能添加它会使游戏程序员更容易在 StackOverflow 上提供和获得帮助。
    • 另外,这个问题不是我的问题的重复。我只提到我的问题是另一个可以使用 gams 标签的问题。
    • @ElaineHale 我一直在研究您的问题,得到的答案主要涉及传递给程序所需的参数。这同样适用于这里。我无法创建标签,拒绝已经存在非常相似的gam,并且应该要求元数据创建新标签:-/ ...
    【解决方案2】:

    从其他编程环境调用 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 的语法有据可查。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-11
      • 2021-07-05
      • 2014-01-06
      • 1970-01-01
      • 2016-01-07
      • 1970-01-01
      • 1970-01-01
      • 2020-06-01
      相关资源
      最近更新 更多