我有一个使用 VC++2008 编译的 C++ 二进制文件,此代码使用我的 GPU(NVIDIA GT 8600)进行一些计算。该程序首先使用 openGL 中的 glGetString(GPU_VENDOR) 函数检查显卡供应商。
当我从命令行运行此程序时,它可以正常工作。但是,如果我使用 WAMP 通过 PHP 执行相同的命令,它不会检测到我的供应商是 NVIDIA,而是返回“Microsoft Corporation”并退出,提示我的硬件不支持我正在使用的 GPU 相关功能。我无法理解通过 WAMP 执行命令与直接从命令行执行命令之间的区别。为什么只有前者会失败?
即使我直接从命令行执行 php 代码,它也能正常工作。这表明 WAMP 出了问题。如果有人有任何想法,请在这里发布,这将非常有帮助。
答案1
它以后台模式(非交互式)运行,在这种情况下会发生类似的事情。当您手动运行它时,您将在当前会话中以交互方式运行它,该会话具有图形功能,而后台模式会话则不具有图形功能。