私は C++ でコーディングしていることを考慮して、可能であれば、組み込み関数のようなソリューションを使用して、ハードウェアに関する有用な情報を読みたいと思います。私の懸念/考慮事項は次のとおりです。
- 私はアセンブリをよく知りません。この種の情報を取得するだけでもかなりの投資になります (CPU のように見えますが、値を反転してレジスタを読み取るだけです。)
- asm には少なくとも 2 つの一般的な構文 ( Intel と AT&T ) があるため、断片化されています。
- 奇妙なことに、組み込み関数は、最近では asm コードよりも人気があり、サポートされています
- 現在、私のレーダーにあるすべてのコンパイラがインライン asm をサポートしているわけではありません。MSVC 64 ビットはその 1 つです。私が使用しなければならないさまざまなコンパイラの機能セットをさらに掘り下げているうちに、他の同様の欠陥が見つかるのではないかと心配しています。
- 組み込み関数に賭ける方が生産的であると私が考えるトランズを考えると、それはどの asm コードよりもはるかに簡単なはずです。
そして、私が答えなければならない最後の質問は、組み込み関数で同様のことを行うにはどうすればよいかということです。この種の情報を取得するための CPUID オペコード以外に何も見つからなかったからです。