問題タブ [win64]

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.

0 投票する
2 に答える
1817 参照

c++ - ifdef を使用して、Windows DWORD_PTR タイプがサポートされているかどうかを検出する方法は?

Windows API には、Win64 をサポートするための新しい整数型がいくつかあります。それらは常にサポートされているわけではありません。たとえば、それらは MSVC6 には存在しません

#ifこれらのタイプが でサポートされているかどうかを検出する条件を作成するにはどうすればよい<windows.h>ですか?

(私のコードは、MSVC6 を含むさまざまなバージョンの Microsoft Visual C++ でコンパイルする必要があります。そのため#if、新しいコンパイラでそれらを無効にするために、これらの型の独自の定義を提供する必要があります)。

(サーチャーの場合、タイプの完全なリストは次のとおりです: DWORD_PTR、INT_PTR、LONG_PTR、UINT_PTR、ULONG_PTR)

0 投票する
4 に答える
15176 参照

delphi - 64ビットWindowsで実行しているときに2GBのメモリ制限があるのはなぜですか?

私はDelphiアプリケーションを開発するチームのメンバーです。メモリ要件は膨大です。500 MBは正常ですが、メモリ不足の例外が発生する場合があります。その場合に割り当てられるメモリは、通常1000〜1700MBです。

もちろん64ビットコンパイラが必要ですが、それは今は起こりません(そして、それが起こった場合は、Unicodeに変換する必要がありますが、それは別の話です...)。

私の質問は、64ビット環境で実行しているときにプロセスごとに2GBのメモリ制限があるのはなぜですか。ポインタは32ビットなので、4GBが適切な制限だと思います。Delphi2007を使用しています。

編集: したがって、DelphiでIMAGE_FILE_LARGE_ADDRESS_AWAREフラグを設定した場合:

そして、結果のExeファイルをWindows Server 2003 x64で実行すると、アプリケーションは4 GBをアドレス指定できますか?

  • boot.iniで/3GBスイッチを設定する必要がありますか?
  • これを試しましたが、32ビットのWindows Server 2003で、Windowsリソースが制限されているようです。ログにGDIErrorがある「メモリ不足」の例外がさらにありました。しかし、64ビットOSで実行すると、これは消えるかもしれません。
0 投票する
1 に答える
222 参照

windows - ウィンドウのプロパティ - どのように実装されていますか?

SetPropWindows でのウィンドウ プロパティ ( 、GetPropなど) の実装の詳細に関する内部情報を持っている人がここにいるかどうか知りたいです。

SetProp @ MSDN
GetProp @ MSDN

たとえば、ストレージとルックアップはどのように行われますか?

0 投票する
1 に答える
343 参照

c# - Win7 64/32ビットc#dllの疑い

win7 64ビットコンピューターでac#dllおよびtlbファイルを作成し、win7 32ビットコンピューターで動作させることは可能ですか?

前もって感謝します :)

編集:c#COM相互運用機能dllプロジェクトで生成された.tlbファイルを呼び出すc++dllを使用しています。

0 投票する
1 に答える
121 参照

windows - Windows 64 ビットの問題

C# VS 2008 および Sql 2005 Express を使用して Windows アプリケーションを開発しました。自分のマシンでアプリケーションをテストしましたが、正常に動作します。マシンは win32 ビットで、Windows 64 ビットでアプリケーションを試してみると、エラー メッセージが表示され続けます。アプリケーションの開始、そのマシンにSQL Expressをインストールしましたが、.NETframwork3.5sp1 64ビットもインストールする必要がありますか? 、ターゲット マシンは widows 7 64 ビットです。次の順序でアプリケーションを動作させるテクノロジまたは方法もあります。ユーザーの干渉。最後にもう 1 つ質問があります。アプリケーションを 64 ビット マシンで再構築して、64 ビット マシンで動作させる必要がありますか? ありがとう

0 投票する
6 に答える
525 参照

c++ - C/C++、Windows コンソール アプリケーションの速度は、ターゲットが 32 ビットか 64 ビットかによって異なりますか?

メモリが問題ではないと仮定すると、64 ビット OS をターゲットにすると、C/C++ Windows コンソール アプリケーションの実行が速くなりますか?

更新: いくつかのコメント/回答によってプロンプトが表示され、アプリケーションには統計アルゴリズム (線形代数、乱数描画など) が含まれます。

0 投票する
1 に答える
2338 参照

delphi - 64 ビット Windows プラットフォームで 32 ビット Delphi アプリを実行する際の問題

Delphi で記述された Windows 32 ビット アプリを使用していますが、Windows Server 2008 64 ビットで実行すると問題が発生します。

詳細は大ざっぱです (「あらゆる種類の印刷の問題がある」というのが、これまでに得た最高のレポートでした)。アプリは、アクセスできるすべての Win64 プラットフォームで正常に動作しますが、それを除けば、アプリがコンパイルされていると思っていたでしょう。 Win32 ターゲットの場合、Win64 上でほぼそのまま実行する必要があります。

それとも、ここで何か不足していますか?

0 投票する
3 に答える
16086 参照

windows - system32 または SysWOW64 の正しいパスを取得するにはどうすればよいですか?

32 ビットまたは 64 ビットの Windows で実行できる 32 ビット プロセスがあります。したがって、当然、プロセスがファイルにアクセスしようとするとc:\windows\system32\file.ext、にリダイレクトされc:\windows\SysWOW64\file.extます。これまでのところ、リダイレクトを無効にしたくありません。

私の問題は、プロセスが実際にファイルにアクセスしないことです。代わりに、そのパスを取得してテキスト ファイルに書き込みますSysWOW64。そのテキスト ファイルを64 ビット システムとsystem3232ビット システムで読み取る必要があります。. どうやってやるの?

0 投票する
1 に答える
1840 参照

c++ - VS2008 で 64 ビット Windows をビルドすると C2632 エラーが発生する

そのため、64 で 32 ビット アプリケーションを構築しようとしています。すべての 64 ビット ライブラリにリンクしており、64 ビット用に使用したすべてを再コンパイルしました。

現在、奇妙なエラーが発生しています。ネット上で同様のエラーがいくつか見られましたが、これらのトピックでは役に立ちません。

この動作を引き起こす何が間違っている可能性がありますか?

警告 C4091: 'typedef ': 変数が宣言されていない場合、'float' の左側は無視されます C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\windef.h エラー C2632: 'float' の後に 'double' が続きます違法です
C:\Program Files\MicrosoftSDKs\Windows\v6.0A\include\windef.h

警告 C4091: 'typedef ': 変数が宣言されていない場合、'double' の左側は無視されます C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\wtypes.h エラー 44 エラー C2632: 'double' の後に ' double' は違法です
C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\wtypes.h

警告とエラーは同じ行に対するものです。明らかに、wtypes.h と windef.h の問題ではありません (もしそうなら、私はそれについて何もできません)。

明らかに、これらはそれ自体で問題ないため、別のものにする必要があります。これを引き起こす私のプロジェクト内のファイルには、

何か案は?

0 投票する
5 に答える
15106 参照

c++ - Windows 64 で 32 ビット アプリケーションをコンパイルする際の未解決の外部シンボル

そのため、レガシー アプリを 32 ビットから 64 ビットにコンパイルしようとしています。使用しているすべてのライブラリを再コンパイルし、ライブラリの WIN SDK6.0A x64 ビットを調べました。

私は使っている:

  • Visual Studio プロフェッショナル エディション 2008
  • ビジュアル C++
  • dotNet フレームワーク 3.5 SP1
  • Windows Server 2008R2
  • Windows SDK は 6.0A です

すべてがついに登場しましたが、これらの奇妙な未定義シンボルエラーが発生しています:

問題は、これらがすべて SDK からのものであることです。InterlockedDec と InterlockedInc は kernel32.lib から取得されます

C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib\x64 を確認したところ、kernel32.lib と psapi.lib の両方のライブラリが存在します。

それは間違いなく適切な場所でライブラリを検索します。/VERBOSE:LIB をオンにすると、正しいフォルダーを指しています。

だから、なぜそれらを見つけられないのか、本当に混乱しています。

何か案は???

ありがとう