在Visual C ++中与鳕鱼(外部可执行文件)通信的最佳方法

时间:2019-07-10 11:36:51

标签: c++ visual-c++

我正在尝试使用Stockfish作为外部可执行文件来创建国际象棋程序。我正在Windows 10的Visual Studio 2019中使用C ++,我需要能够在我的主程序正常运行的同时向Stockfish编写命令并读取其输出。

最初,我尝试修改Stockfish的源代码并在单独的线程上运行它。它可以部分工作,但对于互斥锁和共享数据却变得非常混乱。

现在,我正在尝试将其作为单独的可执行文件运行。我发现this,但是此解决方案使用了fork和exec,它们似乎仅在Linux上存在。

我还发现了this,但这只是C#的解决方案。

最后,我发现this看起来很有希望。但是它也需要子程序中的代码,这本身就是一个问题。另外,代码很长,所以我想知道这是否真的是最好的解决方法,还是有一个可以简化此过程的库?

1 个答案:

答案 0 :(得分:0)

经过一些搜索,我发现了一个名为boost的库,特别是boost.process,它看起来像我需要的。可以找到here