問題タブ [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.

0 投票する
8 に答える
45962 参照

c# - C++ Windows dll を C# アプリケーション exe にマージするにはどうすればよいですか?

データ I/O に C++ dll を使用する Windows C# プログラムがあります。私の目標は、アプリケーションを単一の EXE として展開することです。

そのような実行可能ファイルを作成する手順は何ですか?

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

c++ - DLL で宣言されたグローバル変数はどうなりますか?

C++ で DLL を作成し、重要なデストラクタを使用してクラスのグローバル オブジェクトを宣言するとします。DLL がアンロードされるときにデストラクタが呼び出されますか?

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

ruby - Windows上のRubyでファイルのバージョンを確認しています

Rubyでファイルのバージョン、具体的には.dllファイルを見つける方法はありますか?

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

c++ - EXEデータを1つ以上のDLLに渡す

現在のアプリケーションは、複数のページを含む単一のOpenGLEXEです。EXEは、UDPを介してネットワーク経由で送信されるデータにアクセスする責任があります。データを蓄積し、多数のシングルトン構造に格納します。EXE内の個々のページは、シングルトン構造にアクセスして、適切と思われるデータを処理します。

EXEのフットプリントを軽減し、構成管理の試みをサポートするために、EXEがロードする単一のDLLにページを分割することにしました。EXEを、DLLのページがロードされるシェルにすることが私たちの意図です。EXEには、引き続きすべての通信責任(UDP、Corba、ユーザーなど)があります。ページは、それが何をしているのかを表示する責任があります。

問題は(最終的に)次のようになります。EXEから収集されたこの無数のデータを、消費しているDLLベースのページに渡すにはどうすればよいですか。私たちが使用するシングルトン(ACE_Singleton)はこのレベルの方向を許可しないため、シングルトンの概念はもはや水を保持しません。シングルトンをDLLから消費するEXEに一日中エクスポートできますが、その逆はまだわかりません。私は次のオプションを考え出しました-どれも好きではないので、誰かがもっと良いものを持っていることを望んでいました:)

  1. 現在別々のシングルトンに格納されているすべてのデータを、「真の」シングルトンをエクスポートする別のDLLにまとめます。例えば。DLLからエクスポートされたシングルトンは、EXEがロードしたものに関係なく、共有メモリのようなものです。これは興味深い選択ですが、展開シナリオで問題が発生する可能性があります。人々が本当にこの考えに夢中になっているなら、私はそれらの問題について詳しく説明することができます。
  2. 関連するすべてのデータを含む静的DLLレベルの構造を作成します。EXEは、DLLのロード時にこのデータをDLLにプッシュダウンし、DLL内に含まれるページがデータにアクセスできるようにします。これは、アプリケーションのすべてのページを編集する必要がある場合でも、100を超える最も簡単な解決策のようです。また、少しずさんなようです。すべてのデータはグローバルにあります。あまりセクシーでもC++yでもありません。

それで、他の誰かがこの問題の解決策を持っていますか?

このアプリケーションは、WindowsXPで使用するためにVisualC ++ 9.0(VisualStudio 2008)を使用して作成されています。何らかの理由で、Vistaは、お客様が使用しているにもかかわらず、ラボではまだサポートされていません。

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

excel - VBA for Excel または Access プロジェクトで VisualBasic-Express のクラスを使用するにはどうすればよいですか?

VB-Express コードを .dll として保存し、それを regasm に登録して、.tlb ファイルを作成しました。

しかし、Excel モジュールで関数を実行しようとすると、「実行時エラー '453': kernel32 で DLL エントリ ポイント RegisterServiceProcess が見つかりません」というエラーが表示されます。

私が見逃したステップは何ですか?

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

winapi - プロセスにロードされたシェル DLL から身を守るには?

GetOpenFileName() を使用して標準の Windows の「ファイルを開く」ダイアログを使用すると、シェルは、カスタムのものを含め、ファイル リストを表示するために必要なさまざまな DLL をロードします。

私のアプリケーションでは、TortoiseCVS がアイコンにオーバーレイを描画するために使用する DLL が GdiPlusShutdown() を呼び出していることがわかりました。そのため、「ファイルを開く」ダイアログを表示した後、TortoiseCVS DLL がアンロードされ、GDI+ がシャットダウンされ、私のグラフィック関数はすべて失敗します!

基本的に、古い DLL がアプリケーションによっていつでもロードされ、その状態に対してランダムな処理を開始できるというのは、非常に悪いことのように思えます。私の場合の回避策は非常に簡単でした。GDI+ がシャットダウンされたことを検出した場合は、GDI+ を再起動するだけです。ただし、これがデバッグできないクライアントのマシンで発生した場合、何が起こっているのかを理解するのははるかに困難でした.

誰でも洞察を提供できますか?これが起こらないようにするにはどうすればよいですか?

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

c# - 1 つの dll を別の dll 内に埋め込みリソースとして埋め込み、それを自分のコードから呼び出す

別のサード パーティの DLL を使用する DLL を作成している状況がありますが、サード パーティの DLL を自分の DLL に組み込むことができるようにしたいと考えています。

これは C# と .NET 3.5 です。

これを行う方法は、サードパーティの DLL を埋め込みリソースとして保存し、最初の DLL の実行中に適切な場所に配置することです。

私が最初にこれを行う予定だった方法は、サード パーティの DLL をSystem.Reflection.Assembly.GetExecutingAssembly().Location.ToString() 最後の/nameOfMyAssembly.dll. .DLLこの場所にサードパーティを無事に保存できます(最終的には

C:\Documents and Settings\myUserName\Local Settings\Application Data\assembly\dl3\KXPPAX6Y.ZCY\A1MZ1499.1TR\e0115d44\91bb86eb_fe18c901

)、しかし、この DLL を必要とするコードの部分に到達すると、それが見つかりません。

私が別のやり方で何をする必要があるかについて誰かが何か考えを持っていますか?

0 投票する
7 に答える
14200 参照

c++ - C/C++ dll ヘッダーを Delphi に変換するための最適なリソースは?

私が最近参加していたメーリング リストに、c/c++ で記述された dll の使用と .h ヘッダー ファイルの delphi/pascal への変換に関する問題と解決策を説明するかなり包括的なサイトが投稿されたので、共有したいと思いました。リンク、変換ツール、書籍/論文のタイトルなど、他の有用なリソースを投稿するように他の人を招待してください。

回答ごとに 1 つのリソースを入力してください。最終的には、最も人気のある/最高のリソースが一番上に表示されます。

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

c++ - Secure a DLL file with a license file

What is the best way to secure the use/loading of a DLL with a license file?

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

windows - -rpath リンカー フラグに相当する Windows/MSVC はありますか?

Linux/GCC では、-rpath フラグを使用して、環境変数を調整することなく、共有ライブラリの実行可能ファイルの検索パスを変更できます。

これは Windows でも実現できますか? 私の知る限り、dll は常に実行可能ファイルのディレクトリと PATH で検索されます。

私のシナリオ: 一意の名前を気にせずに、プロパティ (32/64 ビット/デバッグ/リリース) に従って共有ライブラリを場所に配置したいと考えています。Linux では、これは rpath 経由で簡単に実行できますが、Windows でこれを行う方法はまだ見つかりません。

ヒントをありがとう!