問題タブ [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.
windows - Windows での dll のビルドとデプロイ: SxS、マニフェスト、その他すべて
VS 2005 以降、MS ランタイムに対して単純に dll をビルドし、それらを一緒にデプロイすることはできないことがわかりました ( http://www.ddj.com/windows/184406482 )。マニフェスト、SxS、および co に深く混乱しています。MSDN のドキュメントは、循環参照があり、非常に貧弱です。特に、私はどちらかというと Unix 派なので、これらはすべて有益ではありません。私の中心的な問題は、msvc9 または msvc8 に対して dll をリンクすることです。これらのランタイムは再配布可能ではないため、そのような dll をリンクしてデプロイする手順は何ですか? 特に、マニフェストはどのように生成されますか (mt.exe は必要ありません。コンパイラ間で移植可能なものが必要です)、マニフェストはどのように埋め込まれ、使用されますか? Side by side assembly とはどういう意味ですか?
基本的に、MS 専門用語以外の仕様はどこで見つけることができますか?
回答してくださった皆様、本当に参考になりました、ありがとうございます
c++ - DLLからC++クラスを動的にインポートする
DLLからC++クラスをインポートする正しい方法は何ですか?VisualC++を使用しています。
dllexport / exports.def + LoadLibrary + GetProcAddress trifectaがありますが、C ++クラスでは機能せず、C関数でのみ機能します。これはC++の名前マングリングによるものですか?これを機能させるにはどうすればよいですか?
winapi - 自分のコードのモジュール ハンドルを取得するには?
自分のモジュールでリソースを見つけようとしています。このモジュールが実行可能である場合、それは簡単です - GetModuleHandle(NULL)
「メイン」モジュールのハンドルを返します。
ただし、私のモジュールは、別の実行可能ファイルによってロードされる DLL です。そのGetModuleHandle(NULL)
ため、モジュールハンドルをその実行可能ファイルに返しますが、これは明らかに私が望んでいるものではありません。
現在実行中のコードを含むモジュールのモジュール ハンドルを特定する方法はありますか? への呼び出しで DLL の名前を使用することは、GetModuleHandle()
私にはハックのように思えます (問題のコードが別の DLL に移植された場合、簡単に保守できません)。
dll - マネージ DLL から実行可能パスを取得する方法
C# 実行可能ファイルで使用されるクラスを含むマネージ DLL (C++/CLI で記述) があります。クラスのコンストラクターで、DLL を参照する実行可能ファイルのフル パスにアクセスする必要があります。実際のアプリでは、Application オブジェクトを使用してこれを行うことができますが、マネージ DLL からどのように行うことができますか?
windows - DLLファイルとは正確には何ですか?また、それらはどのように機能しますか?
DLLファイルはどの程度正確に機能しますか?非常に多いようですが、何なのか、どのように機能するのかわかりません。
それで、彼らとの取引は何ですか?
.net - Visual Studio での .NET 以外の依存関係の指定
P/Invoke を使用してプロジェクトから非 .NET dll を呼び出しています。つまり、.dll は常に .exe のディレクトリに存在する必要があります。
コンパイル時に.dllを出力ディレクトリに自動的にコピーし、.dllをセットアップに自動的に含めるように、この依存関係をVisual Studioに伝える方法はありますか? または、これを手動で行う必要がありますか?
vb.net - COMコンポーネント参照をVB.NETプロジェクトに追加する際の問題
vb.net(2008 Express)プロジェクトに追加しようとしているサードパーティのCOMdllがあります。dllをC:\ WINDOWS \ system32 \に置き、「zippy32vxncom.dll」に登録しました。[プロジェクト]>[参照の追加]に移動して[COM]タブに移動すると、使用可能なコンポーネント/ライブラリのリストに表示されます。しかし、ライブラリを選択して[OK]をクリックすると、VisualStudioから「「vxncom4.0ライブラリ」への参照を追加できませんでした。ActiveXタイプライブラリ「C:\ WINDOWS \ system32\vxncom.dll」を登録できませんでした」というメッセージが表示されます。
私がこれを行っているプロジェクトは、dllを配布する人々によって提供された例です。新しい(空白の)vb.netプロジェクトを開始しても、コンポーネントを追加できません。
更新1:
問題のdllで依存関係ウォーカーを実行しました。エラーログに表示される内容は次のとおりです。
エラー:暗黙的に依存するモジュールにエクスポート機能がないため、少なくとも1つのモジュールに未解決のインポートがあります。
問題のモジュールはlibeay32.dllのようですが、C:\ WINDOWS\system32に既に存在します。
更新2:
私はopensslサイトにアクセスし、インストーラーをダウンロードして使用し、libeay32.dllを更新しました。vxncom.dllで依存関係ウォーカーを再度実行しましたが、エラーは発生しませんでした。Visual Studioに戻りましたが、それでも参照を追加したくありませんでした。以前とまったく同じエラー。
windows - DLL で CPU 固有の機能を使用するための標準的な手法は何ですか?
短いバージョン: DLL 内で CPU 固有の命令を利用することが可能かどうか、またどのように最適なのか疑問に思っていますか?
少し長いバージョン: Microsoft などから (32 ビット) DLL をダウンロードする場合、1 つのサイズですべてのプロセッサに適合するようです。
これは、それらが最小公分母 (つまり、OS でサポートされる最小プラットフォーム) 用に厳密に構築されていることを意味しますか? または、DLL 内の単一のインターフェイスをエクスポートするために使用されるテクニックがありますが、最適なパフォーマンスを得るために舞台裏で CPU 固有のコードを利用しますか? もしそうなら、それはどのように行われますか?
c - Cでコンソールexeをdllに変換する
オープン ソースのコンソール アプリケーションであるSoXを別の Windows GUI プログラム (自然に Delphi で記述) から呼び出すことに興味があります。コンソール ウィンドウをスクレイピングして非表示にするのではなく、アプリケーションから呼び出すことができる DLL にアプリケーションを変換したいと考えています。
この道を歩み始める前に、どのくらいの仕事を期待すべきか知りたいです。私たちは大事業について話しているのでしょうか、それとも簡単な解決策はありますか? 私は C をある程度知っていますが、決して専門家ではありません。
SoX 固有の詳細は期待していません。一般的な DLL への EXE コンソール アプリケーションの変換だけです。ただし、誰かが SoX に精通している場合はなおさらです。
c++ - DLLのアンロード時にメモリリークが発生すると、ホストプロセスにリークが発生しますか?
この場合を考えてみましょう:
この時点で、malloc()の呼び出しで割り当てられた1kは、ホストプロセスで再び使用できるようになりますか?DLLはCRTに静的にリンクしています。