0

x64 および x86 システムに関していくつか質問があります

私は qt 4.7 で C++ アプリケーションを作成しました。通常、整数などには int を使用します。

このアプリケーションを x64bit に変換したい場合、どうすればよいですか?

別のコンパイラ オプションを使用してビルドするか、コードを変更する必要があります。

もう 1 つの質問は、オープン ソース アプリケーションをダウンロードして Linux でビルドすると、x64 または x86 のアーキテクチャになります。x64 ビット Linux でソースをビルドすると x64 アプリケーションが得られ、x86 ビット Linux でソースをビルドすると、 x86 アプリケーションを入手する

4

2 に答える 2

1

ビルドの種類は、ビルドしているコンパイラとアーキテクチャによって異なります。

つまり、異なるビット深度でのビルドがサポートされるように、コードを作成する必要があります (作成する必要がありました)。

たとえば、 を使用して整数変数を宣言するlongと、変数のサイズは異なります (アーキテクチャによって異なります)。代わりにstd::int32_torを使用して宣言するとstd::int64_t、アーキテクチャを切り替えるときにサイズが一定になります。

ビット深度に加えて、エンディアンに依存するコードが引き続き正しく実行されることも確認する必要があります (ビット深度とエンディアン以外にも注意すべき要素がある場合があります)。

結論として、新しいアーキテクチャでコードを再コンパイルするだけで動作する場合もあれば、何らかの編集を行う必要がある場合もあります。コードの動作とその記述方法に依存すると思います。

于 2013-01-08T15:47:36.877 に答える
0

はい、おそらく再コンパイルする必要があります。(ほとんどの?) 64 ビット アーキテクチャでは、int のサイズは 32 ビットのままです。

2 番目の質問に対する答えは、コンパイラに特に指示しない限り、コンパイルしたプラットフォーム用にビルドされる可能性が高いということです。入力uname -mすると、それがどれであるかがわかります。

于 2013-01-08T15:48:47.970 に答える