c++ - 控制 USB 端口

标签 c++ windows ruby usb usbserial

我可以使用 Ruby 或 C++ 将特定信号发送到 USB 端口吗,操作系统也是 Windows,所以这就像全新的 4 me(为 Windows 编程),所以我试图将其作为 DLL 文件, 这个 DLL 可以包含 Ruby 代码吗??

顺便说一下,这只是一个培训项目,所以没关系,我只是在 windows 下练习那些东西。

最佳答案

我在这里看到两个不同的问题。所以我会尝试分别回答它们。

如何通过代码控制 USB 设备

是的,您可以通过自己的代码控制 USB 设备。使用 libusb,您可以完成普通 USB 驱动程序所做的一切。请注意,您不会使用它们所在的端口来寻址它们,而是使用它们的制造商和设备 ID。在 linux 下,这适用于任何 USB 设备。在 Windows 下,您必须以某种方式安装 libusb 作为您不想控制的设备的驱动程序。在 http://www.libusb.org/ 查看更多关于 libusb 的信息.用于 win32 的 libusb 位于 http://libusb-win32.sourceforge.net/。 .

如果您不想在 ruby​​ 内部使用 libusb,则必须使用某种 c 绑定(bind)。你可以使用 http://www.a-k-r.org/ruby-usb/或编写您自己的绑定(bind)。

如何编译ruby代码

这不是我的专业领域,但正如您提出的两个问题一样。我会尽力回答它。

实际上有编译 ruby​​ 的方法。

  • 您可以编写一个 C 程序,其中包含 ruby​​ 解释器和 eval 的一串 ruby​​ 代码。
  • ruby2c 项目可以将一些 ruby​​ 代码(不是全部)翻译成 c。可以编译此 c 代码。查看更多信息 http://rubyforge.org/projects/ruby2c/ .

您还应该考虑,在您的情况下编译 ruby​​ 代码是否有意义。如果您正在编写一个混合的 c ruby​​ 程序,您可以为 ruby​​ 制作所有 c 部分的 c 扩展。这样你的 ruby 就不需要编译了。你不想用 ruby​​ 为 c 写一个库吗?这可能意味着对使用该库的 c 程序的性能产生巨大影响。

关于c++ - 控制 USB 端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1652698/

相关文章:

ruby - 我们如何在 Ruby 中进行图形表示

ruby - 局部变量以下划线开头是好习惯吗?

C++ 将二维数组作为参数传递给类

c++ - C++ 代码块的错误代码调试

c++ - 错误 C3861 : popen, pclose:在 C++ 中找不到标识符

python - 如何自定义 tkinter/ttk 小部件和框架的边框颜色?

ruby - 模块嵌套在 instance_eval/exec 或 module_eval/exec 中

c++ - 用户在 C++ 中输入 3x3 矩阵

windows - 我如何为我们的 Subversion 设置解决 "405 Method Not Allowed"?

c# - ASP.NET + 线程感知非托管 API