19

Javascript でハードウェア ドライバを作成することはできますか? そのようなタスクに必要な手順は何ですか?

また、これをどこに投稿すればよいかわからなかったので、これに関する提案も大歓迎です。これが質問の正確な場所であることを願っています。

4

7 に答える 7

26

いいえ、そうではありません。つまり、Javascript を C にコンパイルするようなものを作成することもできますが、それは非常にクレイジーです。スプーンをチェーンソーとして使おうとしているようなものです。

C を学びましょう。それはこの仕事に適したツールです。

于 2012-08-22T17:12:01.570 に答える
4

あれまあ。でドライバーを書くjs?なんで?Cつまり、またはで何かの JavaScript ラッパーを作成することもできますがC++、なぜそれを行う必要があるのでしょうか。デバイス ドライバーは、かなり低いレベル (ハードウェア レベル) でマシンと通信します。Javascript はそうではありません。Javascript は Web 言語です (ほとんどの場合)。

Rich Bradshaw が言ったように、それはスプーンをチェーンソーのように使うようなものです。私にとっては、カヌーを戦車として使おうとするようなものです.

于 2012-08-22T17:17:21.157 に答える
3

うわー、この考えはナンセンスです。問題やタスクを解決するためにプログラミング言語を選択するのであって、その逆ではありません。私はデバイス ドライバーや OS カーネル関連の作業を行っていますが、CI でプログラミングできるからといって、組み込みデバイスの Linux 管理などの他のタスクに C を使用することはありません。代わりに、Bash、Perl、Python などの高レベルのものを使用します (気分によって異なります :))。

なぜjsに興味を持ったのですか?実際には、プログラミング言語の内部を理解して何を達成しようとしているのかを理解する必要があります。また、プログラムが OS とどのように対話してデバイスレジスタや割り込みなどと通信するかを知る必要があります。

于 2012-08-24T05:30:35.980 に答える
2

ばかげているように聞こえますが、これは現在、さまざまな IOT デバイスで行われています。しかし、私が見たすべてのケースで、デバイス自体には V8 JS エンジンの修正版が含まれています。Mozilla フォンは HW アクセス インターフェイスを公開していますが、これも実際には「実際の」デバイス ドライバーではなく、JS に公開されているスケルトン API です。

Object Pascal または C/C++ は、この種の作業に適した唯一の真の「実際の」言語であるため、これらを学習することを強くお勧めします。伝統的に C が最もよく使われる言語ですが、C と Pascal は本質的に同じもので、構文が異なります。C++ ビルダーと Object Pascal は同じ codegen を共有し、その上に別のパーサー/レクサーがあります。

そうは言っても、一部のカスタム ドライバーを NodeJS でコーディングできる本当の理由はありません。Linux では、多くのハードウェア ミドルウェアが最初に Python で記述され、C で最終化されるだけです。したがって、誰かがハードウェアへのアクセスに関するランタイムを適合させている限り、すべてが可能です。FreePascal と Python により、Raspberry PI 1-2 での GPIO アクセスが簡単になります。しかし、C/C++ や Object Pascal などの実際の言語が優勢であることは間違いありません。

「リアル」はプラットフォーム用のマシン コードにコンパイルされることを意味し、非リアルは Python や JavaScript などのスクリプト エンジンを指します。

于 2016-02-28T01:22:19.600 に答える