我正在编写一个机器人模拟场景。机器人在C中编程并使用特殊API调用。
我的计划是将机器人程序编译为DLL,并在模拟开始时我将调用该DLL的主要功能来启动它。
我遇到的问题是DLL如何回传。我将在伪代码中给出一个这样的例子
假设机器人程序只是“SetLeftWheelSpeed(100)”然后“等待(1500)”让它移动左轮然后等待1.5秒。
当我调用机器人的程序时,我如何获得SetLeftWheelSpeed(int speed)与我的模拟器进行通信?我认为DLL是你称之为方法的工具库,它会给你一个回报。我必须让它在循环中运行,所以我不能只使用我不认为的返回值。
编辑:
更多的想法使我成为一个根本问题。在我给出的例子中,我将无法编译机器人代码,因为它没有像移动轮子那样的定义。为此,我必须将它链接到模拟器中的API。所以也许我必须将API链接到机器人代码,将机器人代码链接到模拟器,并以某种方式将模拟器链接到API,以便它实现它应该做的事情。
答案 0 :(得分:0)
是的,有可能。
请通过Code Project通过本教程,这可以帮助您解决这个问题。
此外,我认为它与How to call C++ DLL in C#或Is it possible to call a C function from C#.Net
重复