我正在尝试使用Stockfish作为外部可执行文件来创建国际象棋程序。我正在Windows 10的Visual Studio 2019中使用C ++,我需要能够在我的主程序正常运行的同时向Stockfish编写命令并读取其输出。
最初,我尝试修改Stockfish的源代码并在单独的线程上运行它。它可以部分工作,但对于互斥锁和共享数据却变得非常混乱。
现在,我正在尝试将其作为单独的可执行文件运行。我发现this,但是此解决方案使用了fork和exec,它们似乎仅在Linux上存在。
我还发现了this,但这只是C#的解决方案。
最后,我发现this看起来很有希望。但是它也需要子程序中的代码,这本身就是一个问题。另外,代码很长,所以我想知道这是否真的是最好的解决方法,还是有一个可以简化此过程的库?