USB-порты управления - PullRequest
       10

USB-порты управления

2 голосов
/ 31 октября 2009

Могу ли я отправлять определенные сигналы на USB-порты, используя Ruby или C ++, также операционная система Windows, так что это как новый 4 me (для программирования для Windows), поэтому я пытаюсь сделать это в виде файла DLL Может ли эта DLL содержать код Ruby ??

кстати, это всего лишь учебный проект, так что это не имеет большого значения, я просто тренируюсь над этими вещами под окнами.

1 Ответ

1 голос
/ 31 октября 2009

Я вижу два отдельных вопроса здесь. Поэтому я постараюсь ответить на них по отдельности.

Как управлять USB-устройствами из вашего кода

Да, вы можете управлять USB-устройствами из собственного кода. С libusb вы можете делать все, что делают обычные драйверы USB. Имейте в виду, что вы обращаетесь не к порту, к которому они подключены, а к их производителю и идентификатору устройства. Под Linux это работает для любого устройства USB. Под Windows вы должны каким-то образом установить libusb в качестве драйвера для устройства, которым вы не хотите управлять. Подробнее о libusb см. http://www.libusb.org/. libusb для win32 размещен по адресу http://libusb -win32.sourceforge.net / .

Если вы не хотите использовать libusb изнутри ruby, вы должны использовать какие-то привязки c. Вы можете использовать эфир http://www.a -k-r.org / ruby-usb / или написать свои собственные привязки.

Как скомпилировать код ruby ​​

Это не моя область знаний, но вы задали оба вопроса как один. Я постараюсь ответить.

На самом деле есть способы компиляции ruby.

  • Вы могли бы написать программу на C, которая включает интерпретатор ruby, а eval - строку кода ruby.
  • Проект ruby2c может перевести некоторый код ruby ​​(не весь) в c. Этот код c может быть скомпилирован. Подробнее на http://rubyforge.org/projects/ruby2c/.

Вам также следует подумать о том, имеет ли смысл в вашем случае компилировать код ruby. Если вы пишете смешанную программу на ruby, вы можете сделать все части c расширениями для ruby. Таким образом, ваш рубин не нужно компилировать. Вы не хотите писать библиотеку для c в ruby? Это, вероятно, будет означать огромное влияние на производительность программ c, использующих эту библиотеку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...