我可以使用Ruby或C ++向USB端口发送特定信号,操作系统也是Windows,所以这就像全新的4 me(用于Windows程序),所以我试图将其作为DLL文件,这个DLL可以包含Ruby代码吗?
顺便说一下,这只是一个培训项目,所以它并不重要,我只是在windows下练习这些东西。
答案 0 :(得分:1)
我在这里看到两个不同的问题。所以我会尝试分开给他们。
是的,您可以使用自己的代码控制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.a-k-r.org/ruby-usb/或编写自己的绑定。
这不是我的专业领域,但正如您将这两个问题视为一个问题。我会尽力回答它。
实际上有编译ruby的方法。
您还应该考虑一下,编译ruby代码是否合理。如果你正在编写一个混合的c ruby程序,你可以为ruby制作所有c部分c扩展。这样你的ruby就不需要编译了。你不想在红宝石中为c写一个库吗?这可能意味着对使用此库的c程序产生巨大的性能影响。