3

さて、私は c++ や c のようなコンピューター プログラミングから始めています。コードが実行される場所をよりよく理解できるようにするプロセッサ アーキテクチャについて、強い疑問があります。

では、C++ プログラムをコンパイルするとします。この時点で、アセンブリの低レベル コードにコンパイルされます。このコードには、コードを実行するためのプロセッサ命令が含まれています。プロセッサごとに異なる命令セットがあるため、コードがどこで実行されるかを知りたいと思いました。同様に、コード ブロックでプログラムをコンパイルします。32 ビットまたは 64 ビットのコンピューター用にコンパイルしているかどうかはどうすればわかりますか? 変更できますか?2 つの 32 ビット プロセッサ (1 つは i5、もう 1 つは pentium 4) の違いは何ですか? (私のコードは 2 つのプロセッサで実行されますか?)

ありがとう :)

4

1 に答える 1

5

32 ビットまたは 64 ビットのコンピューター用にコンパイルしているかどうかはどうすればわかりますか?

プログラムをビルドするときに、コンパイラに通知する必要があります。おそらくいくつかのデフォルトがあります-ドキュメントを確認してください。

変更できますか?

たぶん、それはあなたのコンパイラに依存します。必要なオプションがある場合は、はい。clangたとえば、-archフラグがあります。

2 つの 32 ビット プロセッサ (1 つは i5、もう 1 つは pentium 4) の違いは何ですか?

両方が同じ命令セットを実装している場合、ソフトウェアをコンパイルする目的では実質的に同等です。ただし、非常にマシン固有の最適化がどちらかでうまく機能する可能性があります。

私のコードは 2 つのプロセッサで実行されますか?

あなたが与えた例の場合、おそらくそうです。

于 2013-01-27T04:32:00.053 に答える