英語フランス語スペイン語

Ad


OnWorksファビコン

arm-linux-androideabi-dlltool - クラウドでオンライン

Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターを介して、OnWorks の無料ホスティング プロバイダーで arm-linux-androideabi-dlltool を実行します。

これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなど、複数の無料オンライン ワークステーションのいずれかを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド arm-linux-androideabi-dlltool です。

プログラム:

NAME


dlltool - DLL を構築して使用するために必要なファイルを作成します。

SYNOPSIS


dlltool [-d|--input-def 定義ファイル名]
[-b|--ベースファイル ベースファイル名]
[-e|--出力式 エクスポートファイル名]
[-z|-- 出力定義 定義ファイル名]
[-l|--output-lib ライブラリファイル名]
[-y|--出力遅延lib ライブラリファイル名]
[--すべてのシンボルをエクスポート] [--すべてのシンボルをエクスポートしない]
[-除外-記号 リスト]
[--no-default-excludes]
[-S|- として アセンブラへのパス] [-f|--フラグとして オプション]
[-D|--dll名 ] [-m|- マシーン 機械]
[-a|--追加-間接]
[-U|--アンダースコアを追加] [--add-stdcall-アンダースコア]
[-k|--キルアット] [-A|--add-stdcall-alias]
[-p|--ext-prefix-alias 接頭辞]
[-x|--no-idata4] [-c|--no-idata5]
[--use-nul-prefixed-import-tables]
[-I|- 識別 ライブラリファイル名] [--identify-strict]
[-i|--インターワーク]
[-n|--nodelete] [-t|--temp-prefix 接頭辞]
[-v|-詳細]
[-h| - 助けて] [-V|- バージョン]
[--先頭にアンダースコアなし] [--先頭のアンダースコア]
[オブジェクトファイル ...]

DESCRIPTION


dllツール からの入力を読み取ります。 -d & -b オブジェクトだけでなくオプションも
コマンドラインで指定されたファイル。 次に、これらの入力を処理し、 -e オプション
が指定されていると、エクスポート ファイルが作成されます。 もし -l オプションが指定されている
ライブラリ ファイルを作成し、 -z オプションが指定されている場合、def ファイルが作成されます。 どれでも
またはすべて -e, -l & -z オプションは、dlltool の XNUMX 回の呼び出しに存在できます。

DLL を作成する場合は、DLL のソースに加えて、次の XNUMX つが必要です。
他のファイル。 dllツール これらのファイルの作成に役立ちます。

最初のファイルは .def DLL からエクスポートされる関数を指定するファイル、
DLL がインポートする関数など。 これはテキスト ファイルなので、次の方法で作成できます。
手、または dllツール を使用して作成できます。 -z オプション。 この場合 dllツール 意志
コマンドラインで指定されたオブジェクトファイルをスキャンして、
エクスポートされるものとして特別にマークされ、それらのエントリを .def ファイルする
作成します。

関数を DLL からエクスポートされたものとしてマークするには、関数に
-輸出: のエントリ .drectve オブジェクトファイルのセクション。 これは可能です
C で実行するには、 asm() オペレーター:

asm (".section .drectve");
asm (".ascii \"-export:my_func\"");

int my_func (void) { ... }

DLL の作成に必要な XNUMX 番目のファイルはエクスポート ファイルです。 このファイルは、
DLL の本体を構成するオブジェクト ファイルであり、DLL 間のインターフェイスを処理します。
そして外の世界。 これはバイナリ ファイルであり、次のコマンドを実行して作成できます。 -e
オプション dllツール 作成中または読み取り中 .def ファイルにソフトウェアを指定する必要があります。

DLL の作成に必要な XNUMX 番目のファイルは、プログラムがリンクするライブラリ ファイルです。
DLL (「インポート ライブラリ」) 内の関数にアクセスするため。 このファイルは作成できます
与えることによって -l dlltool がファイルを作成または読み取るときのオプション .def ファイルにソフトウェアを指定する必要があります。

Status -y オプションが指定されている場合、dlltool は使用できる遅延インポート ライブラリを生成します。
通常のインポート ライブラリの代わりに、プログラムがすぐに DLL にリンクできるようにします。
インポートされた関数が初めて呼び出されます。 結果として得られる実行可能ファイルには、次のことが必要です。
_ を含む静的遅延インプライブラリにリンクされる_遅延ロードヘルパー2()、これは順番に
kernel32 から LoadLibraryA と GetProcAddress をインポートします。

dllツール ライブラリ ファイルは手動で構築されますが、エクスポート ファイルは
アセンブラステートメントを含む一時ファイルを作成し、これらをアセンブルします。 の -S command
line オプションを使用して、dlltool が使用するアセンブラへのパスを指定できます。
  -f オプションを使用して、特定のフラグをそのアセンブラに渡すことができます。 の -n に使用することができます
完了時に dlltool がこれらの一時アセンブラー ファイルを削除しないようにします。 -n
を XNUMX 回指定すると、dlltool が一時オブジェクト ファイルを削除できなくなります。
ライブラリを構築するために使用されていました。

以下はソースファイルから DLL を作成する例です。 dll.c そしてプログラムも作る
(オブジェクトファイルから プログラム.o) その DLL を使用します。

gcc -c dll.c
dlltool -e exports.o -l dll.lib dll.o
gcc dll.o エクスポート.o -o dll.dll
gcc プログラム.o dll.lib -o プログラム

dllツール 既存のインポート ライブラリをクエリして、
関連付けられている DLL。 の説明を参照してください。 -I or - 識別 オプションを選択します。

OPTIONS


コマンドラインオプションの意味は次のとおりです。

-d ファイル名
--input-def ファイル名
の名前を指定します .def 読み込まれて処理されるファイル。

-b ファイル名
--ベースファイル ファイル名
読み込まれて処理されるベースファイルの名前を指定します。 この内容は
ファイルは、dlltool によって生成されたエクスポート ファイルの再配置セクションに追加されます。

-e ファイル名
--出力式 ファイル名
dlltool によって作成されるエクスポート ファイルの名前を指定します。

-z ファイル名
-- 出力定義 ファイル名
の名前を指定します .def dlltoolで作成するファイルです。

-l ファイル名
--output-lib ファイル名
dlltoolで作成するライブラリファイルの名前を指定します。

-y ファイル名
--出力遅延lib ファイル名
dlltool によって作成される遅延インポート ライブラリ ファイルの名前を指定します。

--すべてのシンボルをエクスポート
入力オブジェクト ファイル内で見つかったすべてのグローバル シンボルと弱い定義シンボルをシンボルとして扱います。
輸出される予定。 デフォルトではエクスポートされないシンボルの小さなリストがあります。
見る --no-default-excludes オプション。 シンボルのリストに追加しても構いません。
を使用してエクスポートします -除外-記号 オプションを選択します。

--すべてのシンボルをエクスポートしない
入力に明示的にリストされているシンボルのみをエクスポートします .def ファイルまたは .drectve のセクション
入力オブジェクト ファイル。 これはデフォルトの動作です。 の .drectve セクションは
によって作成された dllエクスポート ソースコード内の属性。

-除外-記号 リスト
のシンボルをエクスポートしないでください。 リスト。 これは、カンマで区切られたシンボル名のリストです。
またはコロン文字。 シンボル名の先頭にはアンダースコアを含めないでください。 これ
の場合にのみ意味があります --すべてのシンボルをエクスポート 使用されている。

--no-default-excludes
日時 --すべてのシンボルをエクスポート を使用すると、デフォルトで特定の特殊なファイルのエクスポートが回避されます。
シンボル。 エクスポートを回避するシンボルの現在のリストは次のとおりです。 DllMain@12,
DllEntryPoint@0, 不純な_ptr。 あなたは使用することができます --no-default-excludes 先に進むオプション
これらの特殊シンボルをエクスポートします。 これは次の場合にのみ意味を持ちます。 --すべてのシンボルをエクスポート
使用されている。

-S path
- として path
ファイル名を含むアセンブラの作成に使用するパスを指定します。
ファイルをエクスポートします。

-f オプション
--フラグとして オプション
実行時にアセンブラに渡す特定のコマンド ライン オプションを指定します。
エクスポートファイルを構築しています。 このオプションは、次の場合でも機能します。 -S オプションは使用されません。
このオプションは引数を XNUMX つだけ取り、コマンド内で複数回出現する場合は、
行にある場合、後の出現は以前の出現をオーバーライドします。 それで、必要であれば
複数のオプションをアセンブラに渡すには、それらを二重引用符で囲む必要があります。

-D
--dll 名
に保存する名前を指定します。 .def ファイルを DLL の名前として使用する場合、 -e
オプションが使用されます。 このオプションが存在しない場合、ファイル名は -e
オプションは DLL の名前として使用されます。

-m 機械
-機械 機械
ライブラリ ファイルを構築する必要があるマシンのタイプを指定します。 dllツール 持っています
作成方法に応じて、組み込みのデフォルト タイプですが、このオプションは
それをオーバーライドするために使用されていました。 これは通常、ARM 用の DLL を作成する場合にのみ役立ちます。
DLL の内容が実際に Thumb 命令を使用してエンコードされるとき。

-a
--追加-間接
いつであるかを指定します dllツール エクスポートファイルを作成しているので、セクションを追加する必要があります
インポート ライブラリを使用せずに、エクスポートされた関数を参照できるようにします。
それが何を意味するとしても!

-U
--アンダースコアを追加
いつであるかを指定します dllツール エクスポート ファイルを作成中です。先頭に追加する必要があります。
の名前にアンダースコアを付ける エクスポートされたシンボル。

--先頭にアンダースコアなし
--先頭のアンダースコア
標準シンボルに強制的に接頭辞を付けるかどうかを指定します。

--add-stdcall-アンダースコア
いつであるかを指定します dllツール エクスポート ファイルを作成中です。先頭に追加する必要があります。
エクスポートされたファイルの名前にアンダースコアを付けます 標準コール 機能。 変数名と非標準呼び出し
関数名は変更されません。 このオプションは、GNU 互換を作成する場合に便利です。
MS-Windows ツールで構築されたサードパーティ DLL のライブラリをインポートします。

-k
--キルアット
それを指定します @ stdcall の名前からサフィックスを省略する必要があります。
DLL からインポートされる関数。 これはインポートを作成するときに便利です
stdcall 関数をエクスポートするが、通常の関数は含まない DLL のライブラリ @
シンボル名の接尾辞。

これによって、インポート ライブラリによってプログラムに提供されるシンボルの名前は変更されません。
ただし、インポート テーブル内のエントリ (つまり .idata セクション) のみがリンクされます。

-A
--add-stdcall-alias
いつであるかを指定します dllツール エイリアスを追加する必要があるエクスポート ファイルを作成しています
stdcall シンボルなし @ の記号に加えて、 @ .

-p
--ext-prefix-alias 接頭辞
目的 dllツール 指定されたすべての DLL インポートの外部エイリアスを作成するには
接頭語。 エイリアスは、先頭のない外部シンボルとインポート シンボルの両方に対して作成されます。
アンダースコア。

-x
--no-idata4
いつであるかを指定します dllツール 省略すべきエクスポート ファイルとライブラリ ファイルを作成しています
「.idata4」セクション。 これは、特定のオペレーティング システムとの互換性のためです。

--use-nul-prefixed-import-tables
いつであるかを指定します dllツール プレフィックスを付ける必要があるエクスポート ファイルとライブラリ ファイルを作成しています
「.idata4」と「.idata5」の要素をゼロにします。 これは古い GNU インポート ライブラリをエミュレートします
「dlltool」の生成。 デフォルトでは、このオプションはオフになっています。

-c
--no-idata5
いつであるかを指定します dllツール 省略すべきエクスポート ファイルとライブラリ ファイルを作成しています
「.idata5」セクション。 これは、特定のオペレーティング システムとの互換性のためです。

-I ファイル名
- 識別 ファイル名
それを指定します dllツール で示されるインポート ライブラリを検査する必要があります。 ファイル名 &
関連する DLL の名前を「stdout」にレポートします。 これは次の方法で実行できます。
他のオプションおよび引数によって示される他の操作に加えて。
dllツール インポート ライブラリが存在しないか、実際にはインポートではない場合は失敗します。
図書館。 こちらも参照 --identify-strict.

--identify-strict
の動作を変更します。 - 識別 オプション。次の場合にエラーが報告されます。
ファイル名 複数の DLL に関連付けられています。

-i
--インターワーク
それを指定します dllツール ライブラリファイルとエクスポートファイル内のオブジェクトをマークする必要があります
これは、ARM コードと Thumb コード間の相互作用をサポートするものとして生成されます。

-n
--nodelete
作る dllツール エクスポートの作成に使用した一時アセンブラー ファイルを保存します。
ファイル。 このオプションを繰り返すと、dlltool は一時オブジェクトも保存します。
ライブラリファイルの作成に使用されるファイル。

-t 接頭辞
--temp-prefix 接頭辞
作る dllツール つかいます 接頭辞 一時的なアセンブラとオブジェクトの名前を作成するとき
ファイル。 デフォルトでは、一時ファイルのプレフィックスは pid から生成されます。

-v
-詳細
dlltool にその動作を説明させます。

-h
- 助けて
コマンドラインオプションのリストを表示してから終了します。

-V
- バージョン
dlltool のバージョン番号を表示して終了します。

@file
からコマンドラインオプションを読み取る file。 読み取られたオプションは、の代わりに挿入されます
オリジナル @file オプション。 場合 file 存在しないか、読み取ることができない場合、オプション
文字通りに扱われ、削除されません。

オプションで file 空白で区切られます。 空白文字が含まれる場合があります
オプション全体を一重引用符または二重引用符で囲むことにより、オプション内で。 どれでも
文字(バックスラッシュを含む)は、文字の前に付けることで含めることができます
バックスラッシュが含まれています。 NS file それ自体に追加の@が含まれる場合がありますfile オプション; どれか
このようなオプションは再帰的に処理されます。

onworks.net サービスを使用してオンラインで arm-linux-androideabi-dlltool を使用する


無料のサーバーとワークステーション

Windows と Linux のアプリをダウンロード

Linuxコマンド

Ad