問題タブ [x86-64]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - C で 32 ビット アプリケーションを 64 ビット アプリケーションに変換する
現在、C で 32 ビット アプリケーションを 64 ビット アプリケーションに変換する作業を行っています。このアプリケーションは、現在 x86 アーキテクチャ (Windows、osx、Unix、Linux) で作業しています。そのため、コーディングを開始する前に、アプリケーションを変換する際に何を考慮する必要があるかを知りたいと思いました。
c# - ネイティブDLLファイルがx64またはx86としてコンパイルされているかどうかを確認するにはどうすればよいですか?
ネイティブアセンブリがマネージコードアプリケーション(C#)からx64またはx86としてコンパイルされているかどうかを確認したいと思います。
OSローダーがこの情報を知る必要があるので、PEヘッダーのどこかにあるはずだと思いますが、見つかりませんでした。もちろん、私はマネージコードでそれを行うことを好みますが、必要に応じて、ネイティブC++を使用できます。
gcc - i386 用の crti.o のビルド
x86_64 がホストで i386 がターゲットのクロスコンパイラを構築しようとしています。(すべて共通) crti.o: No such file エラーが表示されます。ディストリビューションから既にビルドされた crti.o と crtn.o を取得する代わりに、これらのファイルを glibc (または gcc) ソースから明示的にビルドするにはどうすればよいですか?
参考までに、x86_64 コンパイラの -m32 オプションについてはよく知っています。32ビットのみのコンパイラ環境があればいいのにと思います。また、膨大な数の既にビルドされている i386 コンパイラを使用したくない理由は、テストのニーズに応じて glibc/binutils/gcc のバージョンを混在させて一致させることを計画しているためです。
ありがとう、チェンツ
crystal-reports - x86/x64 の検出と正しい .msi のインストール
私は、Windows ロゴ プログラムの検証のためにまもなく提出される申請書を完成させています。要件の 1 つは x64 互換性です。具体的には、Crystal Reports 2008 は x64 で動作する必要があります。
私の問題は、Crystal Reports basic 2008 (Visual Studio 2008 にパッケージされているもの) にはマージ モジュールがなく、提供されている .msi インストーラーを使用してインストールする必要があることです。x86 と x64 用に個別のインストーラーを提供しています。
では、インストール中に x86 と x64 を検出し、適切な Crystal msi を実行するにはどうすればよいでしょうか? これはマージモジュールなしでも可能ですか?
編集:
これ:
それを検出する方法を教えてくれるようです (MicSim に感謝)。しかし、MSI でこれを実行するにはどうすればよいでしょうか。カスタムアクションですか?次に、x32 および x64 Crystal レポートに必要なさまざまな msi をトリガーするにはどうすればよいですか?
x86 Crystal インストーラーが WOW64 で動作しないのはなぜですか? WOW64 x86 アプリを使用するには、x64 Crystal をインストールする必要があります。もどかしい...
編集2:
さて、x86/x64 の検出はここでカバーされているようです。では、選択した msi を手動でトリガーしてみませんか?
linux - 64 ビット OS で開発する利点はありますか?
私はそれを正しく理解しているかどうかわかりません.64ビットOSは、同じシステム上で32ビットOSよりも速くコードを実行/コンパイルしますか?
私は 64 ビット OS を使用していますが、レガシー ソフトウェアやプロプライエタリ ソフトウェアとの互換性の問題のみが発生するようです。(Ubuntu 9.04 Jaunty amd64 を実行しています)
gcc - 64 ビット整数の cmpxchg の例
次のように、32ビットの比較と交換のためにi686アーキテクチャでcmpxchg(比較と交換)を使用しています。
(編集者注: 元の 32 ビットの例にはバグがありましたが、問題はそれについてではありません。このバージョンは安全であり、おまけとして x86-64 でも正しくコンパイルされます。 また、インライン asm はそうではないことに注意してください。これには必要または推奨;または、 i486 および x86-64__atomic_compare_exchange_n
の古い__sync_bool_compare_and_swap
作業int32_t
int64_t
.しかし、この質問は、インライン asm でそれを行うことについてです.)
64ビットの比較とスワップのx86_64アーキテクチャに相当するものは何ですか?
linux - シェルからの Linux ソケットの強制終了 (gentoo amd64)
皆さん、Linux で確立された接続をシェルから切断する最良の方法は何ですか?
「tcpkill」ツールと「cutter」ツールが利用できるようですが、私の gentoo amd64 では、「amd64」キーワードによって tcpkill が無効になり、カッターを使用すると、「openning /proc/net/ip_conntrack: No such file」というエラーが出力されます。またはディレクトリ」。
接続を切断する他の方法はありますか?
ありがとう。
.net - x86コンピューターでASP.NETアプリケーションを開発する際の注意事項ですが、ターゲットコンピューターは64ビットです(Windows Server 2008)
アプリケーションをWindows200864ビットサーバーに展開する必要があります。アプリケーションはWindows2003サーバーのインストールですでに1年以上実行されているため、すべてが正常に機能していることがわかります。私たちはまだWindowsXPで開発中です。
しかし、Windows 2008 64ビットシステムにインストールすると、少し不安になります。
では、注意しなければならない点はありますか?やるべき罠やトリッキーなことはありますか?
c++ - x64 C++ アプリで下部の 4GB VM を予約する方法
32 ビット Windows C++ アプリの 64 ビットへの移植に取り組んでいます。残念ながら、このコードでは、DWORD 値とポインター値の間で頻繁に両方向のキャストが使用されます。
アイデアの 1 つは、プロセスの起動時に仮想プロセス空間の最初の 4GB をできるだけ早く予約して、メモリを予約するための後続のすべての呼び出しが 4GB を超える仮想アドレスからのものになるようにすることです。これにより、ポインターから DWORD への安全でないキャストが発生し、ポインターに戻るアクセス違反エラーが発生し、エラーを早期に検出するのに役立ちます。
非常に単純な 1 行の C++ プログラムのメモリ マップを見ると、下部の 4GB 内に多くのライブラリがロードされていますか? すべてのライブラリなどが 4GB を超えてのみロードされるようにする方法はありますか?
ありがとう
macos - OS はアセンブリ コードの実行にどのように影響しますか?
x86のアセンブリ言語を学びたいと思っています。私は Mac を使用していますが、ほとんどの x86 チュートリアル/書籍では Windows 向けのコードが使用されていると想定しています。
コードが実行されている OS は、コードの動作にどのように影響するか、またはコードが機能するかどうかを決定しますか? Windows ベースのチュートリアルに従って、いくつかのコマンドを変更して、比較的簡単に Mac で動作するようにすることはできますか? より一般的に言えば、特に Mac アセンブリ プログラマーが知っておくべき注意点はありますか? ありがとう!