問題タブ [x86]
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.
.net - x64とx86で.netプログラムを実行するために必要な考慮事項はありますか?
.Netプログラムを作成するときに、アーキテクチャタイプ(x86とx64)が抽象化されていると思いますが、問題を引き起こす可能性のある他の考慮事項はありますか?
assembly - アセンブリ プログラムを実行できません
Introduction to 80x86 Assembly Language and Computer Architecture を読み始めたところです。第 3 章に示されている最初の例を実行するために NASM を使用しようとしていますが、うまくいきませんでした。
assembly - `testl` eax対eax?
私はいくつかのアセンブリを理解しようとしています。
次のようなアセンブリ、私はtestl
ラインに興味があります:
私はとのtestl
間のそのポイントを理解しよう%eax
としてい%eax
ますか?このコードの詳細は重要ではないと思います。私はテスト自体を理解しようとしているだけです。値は常に真であるとは限りません。
c++ - 手続き型コンテンツ用の高速疑似乱数ジェネレーター
各数値を生成する前にシードが与えられたときに高速に動作するように特化された疑似乱数ジェネレーターを探しています。私がこれまで見てきたほとんどのジェネレーターは、シードを一度設定してから、長い数列を生成することを前提としています。これまで見てきたのと少し似ているのはパーリン ノイズだけですが、あまりにも「滑らかな」データを生成します。同様の入力に対して、同様の結果が生成される傾向があります。
ジェネレーターの宣言は次のようになります。
または:
入力をハッシュして結果を RandomNumber1 に渡すことで RandomNumber3 を実装することができるため、適切な RandomNumber1 があれば十分だと思いますが、一部の実装で独立した入力を使用できる場合に備えて、2 番目のプロトタイプを作成しました。
このジェネレーターの使用目的は、グリッドに木を配置し、ランダムな樹種と各場所のランダムな空間オフセットを決定することで森林を生成するなど、手続き型コンテンツ ジェネレーターに使用することです。
プロシージャルコンテンツはレンダリング中にリアルタイムで大量に作成されるため、ジェネレーターは非常に効率的 (500 CPU サイクル未満) である必要があります。
build - VS2008 Proを実行しているx86プラットフォームからx64バイナリにコンパイルするにはどうすればよいですか?
x64プラットフォーム用にアプリ(サードパーティライブラリを使用)をコンパイルしようとしています。ただし、VS2008ProのBuildConfigurationManagerからx64を選択しても機能しないようです。バイナリは作成されますが、クライアントはx64で実行できませんでした。
サードパーティのDLLが原因である可能性があるのではないかと思います。誰かがこれについて何か考えを持っていますか?
.net - 再コンパイルせずに「x86」として実行するように WinForms アプリを構成できますか?
「任意の CPU」用にコンパイルされた WinForms アプリを、アプリを再コンパイルせずに 64 ビット サーバー上で「x86」として実行するように構成できますか? 具体的には、この目的を達成するための app.config 設定またはコントロール パネル アプレットを探しています。お客様のクライアントはすべて x86 ですが、サーバーは x64 です。管理者がシステムを構成および監視できるように、サーバーに WinForms アプリをインストールしたいと考えています。サーバーのためだけに再コンパイルしたくはありません。
visual-studio-2008 - VS 2008 で廃止されたビルド構成を追跡するにはどうすればよいですか?
多くの C# プロジェクトを含む大規模なソリューションがあります。ソリューションを開いて初めて F5 キーを押すと、次のようなコンパイル エラーが発生します。
エラー 3 メタデータ ファイル 'C:\Users\david\Documents\VS.Projects\CeoTrunk\Ceoimage\bin\x86\Release\Ceoimage.dll' が見つかりませんでした。
「デバッグ(任意のCPU)」のエラーを生成するソリューションとプロジェクトをコンパイルしていますが、「リリース(x86)」を長い間選択していません。たぶん数ヶ月。これらのエラーは、最初に「デバッグ (任意の CPU)」のソリューションをビルドすると消えます。ソリューションを閉じてもう一度 F5 キーを押すと、問題が再発します。
この「リリース (x86)」の名残りはどこに隠れているのでしょうか? どうすればそれを取り除くことができますか?なぜそれは戻ってくるのですか?
com - x86 アセンブリからの COM?
x86 アセンブリ言語を介して COM オブジェクトを呼び出すことはできますか? もしそうなら、どのように?
なぜ私はこれをしたいのですか?ソースを持っていない 2 つのプログラムがあるとしましょう - 私が持っているのはバイナリだけです。それらの 1 つは COM インターフェイスを実装し、もう 1 つは実装していません。この COM インターフェイスを使用して、最初のプログラムにコードを挿入し、2 番目のプログラムを呼び出す必要があります。これには、x86 アセンブリを使用する必要があります。
assembly - gcc を使用して Intel 構文でアセンブリ コードを生成するにはどうすればよいですか?
このgcc -S
オプションは AT&T 構文でアセンブリ コードを生成しますが、Intel 構文でファイルを生成する方法はありますか? または、2つの間で変換する方法はありますか?
c++ - Borland x86 インライン アセンブラ。ラベルのアドレスを取得しますか?
Borland Turbo C++ をインライン アセンブラー コードで使用しているため、おそらく Turbo Assembler (TASM) スタイルのアセンブリ コードです。私は次のことをしたい:
そのため、SomeLabel のアドレスが EAX に配置されます。これは機能せず、コンパイラは次のように文句を言います: 未定義のシンボル 'SomeLabel'。
Microsoft Assembler (MASM) では、ドル記号 ($) が現在の場所のカウンターとして機能します。これは、私の目的に役立ちます。しかし、これも Borlands Assember では機能しないようです (式の構文エラー)。
更新: もう少し具体的に言うと、実行時ではなく、コンパイル/リンク中に定数として eax に移動するアドレスをコンパイラが生成する必要があるため、「mov eax, 0x00401234」のようにコンパイルされます。
誰でもこれを機能させる方法を提案できますか?
更新: Pax の質問 (コメントを参照) に応答するには、実行時に Windows ローダーによってベース アドレスが変更された場合でも、DLL/EXE PE イメージは Windows ローダーによって再配置され、ラベル アドレスは実行時に次のようにパッチされます。ローダーは再ベースのアドレスを使用するため、ラベル アドレスにコンパイル/リンク時の値を使用しても問題ありません。
よろしくお願いします。