問題タブ [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.
x86 - インストールするアプリケーションが 32 ビットか 64 ビットかを確認するにはどうすればよいですか?
アプリケーションのデフォルトのインストール場所を予測できるようにしたいと考えています。64 ビット マシンでは、32 ビット アプリケーションの場合は「Program Files (x86)」にインストールされ、64 ビット アプリケーションの場合は「Program Files」にインストールされます。
私の目標は、アプリケーションをデフォルトの場所にインストールし、インストールがうまくいったかどうかを検証することです。しかし、そのためには、それがどこにインストールされるかを知る必要があります。アプリケーションがどのアーキテクチャ用に構築されているかがわかれば、それが私の目的に役立つと思います。
.net - NUnitがWindows7/64でGPSVC.DLLを「欠落」しています
最近、Vista/32からWin7/64にアップグレードしました。私の古いマシンでは、すべてが正常に機能していました。
残念ながら、新しいマシンでは、NUnitはユニットテストをロードせず、「System.IO.FileNotFoundException:ファイルまたはアセンブリ'UnitTest'またはその依存関係の1つをロードできませんでした。システムは指定されたファイルを見つけることができません」というエラーメッセージが表示されます。(実際、これを実現するには、ソリューションのすべてのプロジェクトを実行し、それらを32ビットに設定する必要がありました。)
そこで、Dependency Walkerをロードすると、IESHIMS.DLLが見つからないことがわかりました。自分のマシンで2つ見つかったので、Internet Explorerディレクトリから32ビットバージョンでコピーすると、DWはそのファイルについて文句を言うのをやめました。
ただし、GPSVC.DLLもありません。これのコピーはC:\ Windows \ System32で1つしか見つかりませんでしたが、それを単体テストディレクトリにコピーすると、DWは64ビットであると文句を言い、NUnitはまだ実行されません。また、不足しているリストにSYSNTFY.DLLが追加されるようになりました。私はそのうちの1つしか持っていません、そしてそれも64ビットです。NUnitは引き続きエラーを報告します。
では、この64ビットOSを廃棄して、古き良き32ビットに戻す必要がありますか、それとも明らかな何かが欠けていますか?
objective-c - アプリケーション ウィンドウがアクティブでないときに Cocoa でホット キーをインターセプトする方法
実行時にウィンドウを開かず、ホット キーからアクティブ化されるユーティリティを作成しようとしています。現在、Cocoa にはそのための関数がなく、非推奨の Carbon 関数を使用する必要があることを読みました。
Cocoa でグローバル ホット キーを使用する方法はありませんか? Cocoa がそのための機能を導入するのを待つか、Cocoa に同様の機能が導入されなくなるまでカーボン機能を使用する必要がありますか?
x86-64 - 8.15 と 8.70 の間の Ghostscript の互換性に関する質問
x86_64 システムで PDF のラスタライズに Ghostscript 8.15 を使用していました。新機能のため、バージョン 8.70 に切り替えたいと思います。しかし、バージョン 8.70 では 32 ビットのポストスクリプト整数のみをサポートすることについて、Ghostscript が注意を払っていることに気付きました。これが私のアプリケーションの動作にどのように影響するかをよく理解していません.誰かがアップグレードしたくない理由やアイデアを持っているかどうか疑問に思っていました.
c# - Windows7での不正アクセスの例外
起動時にライセンスファイルを読み取るアプリケーションがあります。私のインストールでは、アプリケーションのプログラムファイルにフォルダーを作成し、ライセンスフォルダーを作成して、そこにライセンスファイルを配置します。ただし、アプリケーションを実行しようとすると、ライセンスファイルを読み取って更新する必要があります。これを実行しようとすると、「不正アクセス例外」が発生します。管理者としてログオンし、プログラムを手動で実行しています。
パスが正しいのになぜそのファイルにアクセスできないのか、何か考えはありますか?しかし、インストールでは、ファイルとフォルダーは問題なく作成されますか?
MyApplication.exeがあり、ライセンスリーダーはMyApplicationToolsと呼ばれる別のDLLにあります。私は次のようにライセンスファイルを読み書きしています:
ありがとう
c - 標準Cからx86-64用の`bts`命令を生成するために`gcc`を取得するにはどうすればよいですか?
最近の質問に触発されて、インラインアセンブリや非標準のコンパイラ組み込み関数を使用せずに、Linux x86-64プラットフォームでgcc
x86-64命令(ビットテストおよびセット)を生成する方法を知っている人がいるかどうかを知りたいです。bts
関連する質問:
移植性は私にとってより重要なbts
ので、ディレクティブは使用しませんasm
。別の解決策がある場合は、コンパイラの本能を使用しないことを好みます。
編集:Cソース言語はアトミック操作をサポートしていないので、アトミックテストアンドセットを取得することに特に興味はありません(それが最初にテストアンドセットが存在する元々の理由ですが)。アトミックなものが必要な場合は、標準のCソースでそれを行う機会がないことがわかっています。それは、組み込み関数、ライブラリ関数、またはインラインアセンブリである必要があります。(複数のスレッドをサポートするコンパイラーでアトミック操作を実装しました。)
c# - 32 ビットおよび 64 ビットのアンマネージド DLL 用のマネージド ラッパーの作成
アンマネージ DLL の周りに C# ラッパーを作成しています。アンマネージ DLL には、32 ビット バージョンと 64 ビット バージョンの両方があります。マネージド ラッパーを独自のプロジェクトに保持して、個別のコンポーネントとして構築し、ソリューション間で再利用できるようにします。
ただし、これはいくつかの問題を引き起こします。アンマネージド DLL は 32 ビット バージョンと 64 ビット バージョンの両方で同じ名前を持っているため、正しいアンマネージド DLL を出力 (bin) ディレクトリに移動するのに問題があります。ビルド構成が x86 の場合は 32 ビット バージョンをコピーし、x64 の場合は 64 ビット バージョンをコピーします。プロセッサ アーキテクチャが 1 つだけの場合、これは簡単に実現できます。アンマネージ DLL をプロジェクトにインクルードし、ファイルで copy local を true に設定するだけです。しかし、両方をターゲットにする必要があるため、よりトリッキーです。
このリンクは、同じソリューション/プロジェクトで Visual Studio を使用して 32 ビットと 64 ビットの両方をターゲットにしていますが、マシンに既に存在する DLL を参照しているようです。正しいバージョンの DLL を出力ディレクトリ (bin) にコピーする必要があります。
これを解決するためのヒントやテクニックは大歓迎です。
c - C 関数呼び出しに対するカスタム X86_64 呼び出し規約
X86_64アセンブリコードからC関数への呼び出し規約を使用して、他の呼び出し規約で呼び出しを許可するインターフェイス(ラッパーなど)を作成する必要があります。最善の方法は、かなり「コンパイラに依存しない」ことです(ラッパーを変更するだけです)ので、レジスタ/スタックをコンパイラに戻すものを探しています。私はすでにここを見てきました: P/Invoke と C#のカスタム呼び出し規約。現在、私は GCC を使用していますが、他のコンパイラからのヒントは大歓迎です!
したがって、問題を最もよく理解するために、次のことを示します(カスタムコーディング規則は奇妙です):
「特別な」(ラッパー) C 関数を呼び出せるようにする必要があります。ここでの仕事は、他の C 関数間の呼び出しをディスパッチすることです。そのため、このラッパーは %r11 を見つけ、すべてのレジスタを保存し、さらに呼び出すためにスタックを準備する必要があります。Cでこれを行う適切な方法はありますか(インラインasmを使用)?
どうもありがとう
plugins - x86 TortoiseSVN プラグインを x64 に変換する
TortoiseSVN x64 で動作するように作成した 32 ビット TortoiseSVN プラグイン (IBugTraqProvider 実装) を変換しようとしています。しかし、それを機能させるために変更する必要があるものに苦労しています。役立つ特定のツールはありますか、または変更が必要な種類のものを誰かが知っていますか (参照/IBugTraqProvider?)
c++ - Visual Studio に埋め込まれたアセンブリ ファイル
要点を簡潔に説明します。Visual Studio で 64 ビット コードを作成すると、_asm ブロックが完全に削除されました。私の質問は、プロジェクトから呼び出すことができるコードでアセンブリを使用する方法に関する情報をどこで見つけることができるかということです。アセンブリ ファイルのように、C++ ソースで直接呼び出すことができる「最適化された」関数が含まれていると思います。