RubyまたはC++を使用して特定の信号をUSBポートに送信できますか?また、オペレーティングシステムはWindowsなので、これはまったく新しい4 me(Windows用にプログラムするため)のようなものです。DLLファイルとして送信しようとしています。 DLLにはRubyコードが含まれていますか?
ちなみに、これは単なるトレーニングプロジェクトなので、それほど重要ではありません。私は窓の下でそれらのことを練習しているだけです。
ここには2つの別々の質問があります。だから私はそれらを別々に答えようとします。
はい、独自のコードから USB デバイスを制御できます。libusb を使用すると、通常の USB ドライバーが行うすべてのことができます。それらがオンになっているポートではなく、製造元とデバイス ID でアドレス指定することに注意してください。Linux では、これはどの USB デバイスでも機能します。Windowsでは、制御したくないデバイスのドライバーとしてlibusbを何らかの方法でインストールする必要があります。libusb の詳細については、http://www.libusb.org/を参照してください。win32 の libusb はhttp://libusb-win32.sourceforge.net/でホストされています。
ruby 内から libusb を使用したくない場合は、ある種の c バインディングを使用する必要があります。http://www.akr.org/ruby-usb/を使用するか、独自のバインディングを作成できます。
これは私の専門分野ではありませんが、あなたが両方の質問をまとめて尋ねたように。私はそれに答えようとします。
実際にRubyをコンパイルする方法があります。
Ruby コードをコンパイルすることがあなたのケースで意味があるかどうかについても考えるべきです。混合 C Ruby プログラムを作成している場合、すべての C 部分を Ruby 用の C 拡張にすることができます。この方法では、Ruby をコンパイルする必要はありません。ruby で c 用のライブラリを書きませんか? これはおそらく、このライブラリを使用する C プログラムのパフォーマンスに大きな影響を与えることを意味します。