我可以使用 Ruby 或 C++ 将特定信号发送到 USB 端口吗,操作系统也是 Windows,所以这就像全新的 4 me(为 Windows 编程),所以我试图将其作为 DLL 文件来执行,可以吗? DLL 包含 Ruby 代码??
顺便说一句,这只是一个培训项目,所以没关系,我只是在windows下练习那些东西。
我在这里看到两个单独的问题。因此,我将尝试分别对它们进行答复。
是的,您可以通过自己的代码控制 USB 设备。使用 libusb,您可以完成普通 USB 驱动程序所做的一切。请注意,您不是使用它们所在的端口来寻址它们,而是使用它们的制造商和设备 ID。在 linux 下,这适用于任何 USB 设备。在 Windows 下,您必须以某种方式安装 libusb 作为您不想控制的设备的驱动程序。在http://www.libusb.org/上查看有关 libusb 的更多信息。win32 的 libusb 托管在http://libusb-win32.sourceforge.net/上。
如果您不想在 ruby 中使用 libusb,则必须使用某种 c 绑定。您可以使用http://www.akr.org/ruby-usb/或编写自己的绑定。
这不是我的专业领域,但正如你提出的两个问题一样。我会尝试回答它。
实际上有编译ruby的方法。
您还应该考虑,在您的情况下编译 ruby 代码是否有意义。如果您正在编写一个混合的 c ruby 程序,您可以为 ruby 制作所有 c 部分 c 扩展。这样你的 ruby 就不需要编译了。你不想用 ruby 为 c 写一个库吗?这可能意味着对使用这个库的 c 程序的巨大性能影响。