問題タブ [dll]
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++ - プロセスにアタッチすると Visual Studio 2005 がロックする
WiX インストーラー用のいくつかのカスタム アクションを実装する単純な C++ DLL があります。
通常、カスタム アクションのデバッグは簡単です。アクションの開始時に一時的なダイアログ ボックスを配置し、ダイアログ ボックスが表示されたときにプロセスにアタッチします。
しかし、今日、プロセスに接続するたびに、画面の下部に「Microsoft Visual Studio is Busy」というバブルが表示されます。これがどこから来ているのかわかりません。何か案は?
.net - 構成情報をDLLに入れる
私のプロジェクトには、Webアプリケーションおよびコンソールアプリケーション(タスクスケジューラから開始する)として使用されている機能があります。そのために、Webアプリケーションとコンソールアプリケーションの両方で使用されているDLLに共通のコードを配置します。これは正常に機能します。
ただし、コンソールアプリケーションとWebアプリケーションには、ほとんど同じApp.configとWeb.configがあります。この構成をDLLに入れて、両方のアプリケーションで使用できるようにすることは可能ですか?
c++ - 静的配列の恒常性は共有ライブラリのレイアウトに影響しますか?
次の2つのC++ヘッダーの場合を考えてみましょう。
ケース1:
ケース2:
後者の場合のconstは、自主的なコンパイル時チェックのみですか、それともMac / Linux / Windowsの共有ライブラリレイアウトに影響しますか?
更新:回答によると、コンパイラーはconstのものを読み取り専用ページに配置する場合があります。WindowsのVisualC++またはMacまたはLinuxのGCCは、実際にconstデータを読み取り専用ページに配置しますか?おそらく私は間違った方法でテストしましたが、IntelのMacでは、constバージョンの要素は書き込み可能であるように見えました。
.net - dll と Visual Studio での動作について理解する
DLL に関する優れたリソースと、Visual Studio での DLL の使用/生成方法を知っている人はいますか? 私が特に漠然としているいくつかの質問は次のとおりです。
- ファイルの更新の仕組み
- dll バージョン番号の生成方法
- プロジェクトによる参照の追加と特定の dll の参照の違い
その他のヒントも大歓迎です。
c++ - VC9とVC8のlibの互換性
(元の質問はそこで尋ねられました:http ://www.ogre3d.org/phpBB2/viewtopic.php?t = 44832 )
「vs2008(VC9)ですべてをビルドしたいのですが、PhysX SDKはvs2005(VC8)でビルドされています。これにより、すべてのvc9コンパイル済みライブラリを使用してこのvc8ライブラリと組み合わせて使用すると、問題が発生しますか?」
VC8で生成された.libファイル(および.dll)を使用してvc9コンパイル済みexeに含める前日に、コンパイラーが.libファイルを開くことができなかったと答えました。
さて、他の人は問題なくこれをしたと答えました。
vc9とvc8の間のlibの互換性に関する情報が見つかりません。
だから...助けて?
dll - WinXP で DWMAPI.DLL の遅延読み込み依存を修正するには?
WinXP で .dll を作成しましたが、ロード時に DWMAPI.DLL が見つからないと主張しています。問題は、この DLL が Vista DLL であることです。これは、IE7 がインストールされている XP ユーザーにとって既知の問題です。IE7 をアンインストールするか、[プログラムの追加と削除] を使用して .NET Framework を修復することをお勧めします。修理をしましたが、何も変わりませんでした。「Windows の再インストール」と同等ではないより良い解決策が必要なので、IE7 をアンインストールするつもりはありません。
私は IE7 をアンインストールしようとした人々について悪いことを読んだことがあるので、その道を行くのは気が進まない。
Visual Studio 2003 (7.1) で C++ を使用しています。アプリケーションの起動時にロードを強制的に遅らせた可能性があるオプションが表示されません。DLL プロジェクトを作成したときは、デフォルト設定を使用しました。私は興味深いオプションを見つけました.Linker->Input->Delay Loaded DLLsなので、そこにDWMAPI.DLLを入れて強制的に遅延ロードさせました。ただし、リンクすると次のようになります。
..もちろん、DLLをロードしようとしても何も変わりませんでした。なんと、DWMAPI.DLL につながる DLL のツリー全体を追加しましたが、同じメッセージが表示されます。(記録としては、foundation.dll->shell32.dll->shdocvw.dll->mshtml.dll->ieframe.dll->dwmapi.dll です。)
私がやっていることをより具体的にするために、私は Maya プラグインを書いており、スクリプト エディタで常に役立つテキストを取得しています。
最初に Dependency Walker を使用して問題を突き止めたところ、DWMAPI.DLL にたどり着きました。これらは依存するメッセージであり、DWMAPI.DLL はその横に黄色の疑問符が付いている唯一のものです。
ジェラルドは正しい。実際、Maya は Dependency Walker とは異なる PATH を使用しています。私のプラグインは、Maya プラグイン ディレクトリに存在する別の DLL (イメージ処理用) をロードし、問題なく検出されましたが、Maya は検出しませんでした。Maya.env の PATH に「;plug-ins」を追加する必要がありました。
結局、この問題は DWMAPI.DLL とは関係ありませんでしたが、DWMAPI は一般的な問題であるため、Novell の Web サイトで DWMAPI の問題について見つけた最良のリンクをここに投稿します。基本的に、ほとんどのプログラムでは、depends.exe にこの警告が表示されますが、その横に遅延読み込みアイコンがあり、プログラムが直接的または間接的に DWMAPI を呼び出さないことが確実な場合は、問題ありません。問題は別のところにあります。遅延ロード アイコンが表示されない場合は、Visual Studio の /DELAY および /DELAYLOAD オプションを確認する必要があります。依存しているという事実は、「エラー」ではなく「警告」を私に与えたという事実は、DWMAPI が自動的にロードされていないという事実の手がかりでした。
visual-c++ - MinGW ライブラリを Windows ライブラリに変換すると、VC++6 で奇妙なリンクが表示される
以下のように、gmp-discuss リストのスレッドで詳しく説明されているように、MinGW.a
から Windowsへの変換プロセスを使用しました (--disable-shared --enable-static で作成されたライブラリに対して作用します)。.lib
私は今、.lib
VC++6 が問題なくリンクできるように見えるファイルを持っています。今私が懸念しているのは、リンク フェーズから得られる警告メッセージです。
手順のこの時点では、これらは私の DLL (特定の GMP 機能をラップする) の実行に違いはありません。しかし、それで十分ですか?これらの 3 つのシンボルをlibgmp.a
Windows DLL にリンクすると、後で噛み付くことになりますか?
visual-c++ - VCRedist_x86.exe を使用しない Visual C++ 再頒布可能パッケージ
私は厳しい制約のある環境で開発していますが、開発者も厳しく管理しています。
VCRedist_x86.exe - 4Mb の再配布可能ファイル - は面白くありません (転送に 4 時間かかります)。私は、MFC90.dll、msvcm90.dll、msvcp90.dll、および msvcr90.dll を再配布することを本当に好みます。これは 2Mb に近いものです。ただし、Visual C++ ファイルの再配布には次のように書かれています。
マニフェストなしでビルドされた C/C++ アプリケーションの再配布はサポートされていません。Visual C++ ライブラリは、アプリケーションをこれらのライブラリにバインドするマニフェストがないと、C/C++ アプリケーションで使用できません。詳細については、展開方法の選択を参照してください。
DLL をプログラムの作業ディレクトリにコピーするという当初の計画は、このすばらしい新しいマニフェストの世界では機能しないようです。
私の次の推測は、ファイルを WinSxS ディレクトリに追加するために必要なレジストリ エントリを作成し、(4 メガ プログラムを使用するのではなく) 自分で作成することです。
[編集] ソフトウェアは頻繁に更新されるため、DLL は静的リンクよりも強く推奨されます。[/編集]
必要なファイルを正常に配布しながら、オーバーヘッドを抑えるにはどうすればよいですか?
.net - .Net DLLがGUIアプリとWebサービスのどちらで使用されているかを判断するにはどうすればよいですか?
.Net DLLでWindowsGUIアプリケーションとWebサービスのどちらで実行されているかを確認するにはどうすればよいですか?2つのアプリケーション間で共有されている低レベルのクラスがあり、Webサービスで使用するときにメッセージボックスを無効にする必要があります。
Windowsアプリケーションには200を超えるソリューションがあり、私は既存のコードをリファクタリングする立場にありません。Webサービスはいくつかの機能を再利用する必要があり、私は迅速な修正を探しています。
python - .exe に MSVC DLL を含む py2exe
py2exe を使用して wxPython で Python アプリケーションを配布する場合、新しくインストールしたマシンで .exe を動作させるには、通常、いくつかの MSVC DLL が必要です。特に、最も一般的な 2 つの DLL は msvcp71.dll と msvcr71.dll です。
前者は、このヒントを使用して .exe に含めることができます。ただし、後者はdist
py2exeによってディレクトリに配置されるだけで、実行可能ファイルには配置されません。具体的に含めるように頼んだとしてもです。
py2exe に .exe 内に両方を含める方法はありますか?