2

ソフトウェアライセンスの目的で、一意のコンピューターIDを使用する必要があります。CPUフラグを使用することにしました。MSVCでは、関数__cpuidで取得され、gccバージョン4.3以降では、関数__get_cpuidで取得されます。これらの関数から整数を取得します。これは、一意のIDとして使用することを目的としたビット配列のようなものです。

上記の関数で取得されたCPUフラグが変更される可能性があるかどうかわからないことは何ですか?これらのフラグは、ユーザーがプログラムで変更できますか?通常のアプリケーションではない場合、おそらくBIOSを介して?

ありがとうございました。

4

2 に答える 2

0

cpuidいいえ、リストした各コマンドは基本的に、Intel (および Intel クローン) チップで提供される 実際のプロセッサ オペコードのラッパーであるため、エンド ユーザーはそれらを変更できません。

したがって、この情報はシリコンに「焼き付け」られます。ユーザーは変更できません。

次のリソースが役立つ場合があります。

1)ウィキペディアの記事CPUID

2) CPUID への呼び出しを使用してプロセッサー情報にアクセスすることに関するコードの第一人者の記事 (2 ページ)

3)多くのプロセッサーをステッピング、ファミリー、およびモデル番号別にリストした表

于 2013-04-20T21:23:36.187 に答える
-1

OK いくつかのテストの後、Info Type 1 の 2 番目のバイトからのフラグが変更されていることを確認できます。したがって、Stepping ID、Model、Family、および Processor Type の値のみを使用します。

于 2013-02-21T23:59:10.343 に答える