Microsoft の STL は、講演の中で、STL がカーネル モードで対話する際に問題があることを簡単にほのめかしていました。誰かが彼がそれによって何を意味したか説明してもらえますか?
1 に答える
0
カーネル モードのコードは、特にコードを実行できる IRQ レベルを決定するために、C++ に対するいくつかの独自の Microsoft 拡張機能に依存しています。これを間違えると、Windows は "Driver IRQL Not Less or Equal" 障害でブルースクリーンになる可能性があります。
残念ながら、これらの拡張機能は C++ テンプレートや仮想関数と互換性がありません。その理由は、C++ コンパイラがテンプレートと vtable を暗黙的にインスタンス化しますが、適切なレベルを取得できるインスタンス化の明示的なポイントがないため、適切な IRQL 設定を適用できないためです。
于 2017-01-04T12:39:54.937 に答える