に変更する 特定の標準ライブラリ機能を高速化できる特殊なハードウェアがあるとします。Golangの標準パッケージを置き換えて、元の番号を
ハードウェアが存在するかどうか。
このハードウェアを使用するパッケージを、標準のものと同じ 機能シグネチャで書き込むことはできますが、ハードウェアの可用性に基づいてインポートするパッケージをすべてのアプリケーションや他のパッケージが強制的に決定します特定のターゲット。ビルド時に、すべてのアプリケーションとパッケージにコードを変更しました。
理想的には、実行時にどのパッケージを使用するか、アプリケーションでインポートを変更する必要がないことを理想的に考えています。
パッケージは、ハードウェアの可用性をチェックし、ハードウェアを使用するか、代わりに標準機能を実行します。
これを達成する方法はありますか?
標準パッケージ機能への呼び出しを「傍受する」他の方法はありますか?
JITのようなバイナリコードに注入またはフックを意味しますか? – mattn
あなたの質問は、この理由で投票を終了するに値する:「広すぎる:適切な答えを特定するのに十分な詳細で特定の問題に限定するために質問を編集してください。たとえば、Intel SSE4が必要ですか? ARMの浮動小数点が欲しいですか?または何? – peterSO
@peterSO私は細部が重要だとは思わないが、OPはそのメカニズムが何であるかを知りたいだけだ。このメカニズムは、ターゲットとしている特定のハードウェアとはほとんど関係がありません。 – Adrian