İngilizceFransızcaİspanyolca

Ad


OnWorks favicon'u

arm-linux-androideabi-dlltool - Bulutta Çevrimiçi

Arm-linux-androideabi-dlltool'u Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü üzerinden OnWorks ücretsiz barındırma sağlayıcısında çalıştırın

Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü gibi birden fazla ücretsiz çevrimiçi iş istasyonumuzdan birini kullanarak OnWorks ücretsiz barındırma sağlayıcısında çalıştırılabilen arm-linux-androideabi-dlltool komutudur.

Program:

ADI


dlltool - DLL'leri oluşturmak ve kullanmak için gereken dosyaları oluşturun.

SİNOPSİS


dll aracı [-d|--input-def def-dosya-adı]
[-b|--base-dosyası temel dosya adı]
[-e|--çıktı-exp ihracat-dosya-adı]
[-z|--çıktı-def def-dosya-adı]
[-l|--çıktı-lib kitaplık-dosya-adı]
[-y|--output-delaylib kitaplık-dosya-adı]
[--tüm sembolleri dışa aktar] [--no-export-all-semboller]
[--hariç tutma-semboller liste]
[--no-varsayılan-hariç tutar]
[-S|--olarak montajcıya giden yol] [-f|--as-flaglar seçenekleri]
[-D|--dlladı isim] [-m|--makine makine]
[-a|--add-dolaylı]
[-U|--ek-alt çizgi] [--add-stdcall-alt çizgi]
[-k|--öldürme] [-A|--add-stdcall-takma ad]
[-p|--ext-önek-takma ad önek]
[-x|--hiçbir veri4] [-c|--hiçbir veri5]
[--use-nul-önekli-import-tabloları]
[-I|--tanımlamak kitaplık-dosya-adı] [--tanımlamak-katı]
[-i|--ara çalışma]
[-n|--nodelet] [-t|--temp-ön eki önek]
[-v|--ayrıntılı]
[-h|--yardım et] [-V|--versiyon]
[--no-lider-alt çizgi] [--ön-alt çizgi]
[nesne dosyası ...]

TANIM


dll aracı gelen girdileri okur. -d ve -b seçeneklerin yanı sıra nesne
komut satırında belirtilen dosyalar. Daha sonra bu girdileri işler ve eğer -e seçenek
bir dışa aktarma dosyası oluşturduğu belirtildi. Eğer -l seçenek belirtilmiş
bir kitaplık dosyası oluşturur ve eğer -z seçenek belirtilmişse bir def dosyası oluşturur. Herhangi
veya tümü -e, -l ve -z seçenekler, dlltool'un bir çağrısında mevcut olabilir.

Bir DLL oluştururken, DLL kaynağıyla birlikte üç tane olması gerekir.
diğer dosyalar. dll aracı bu dosyaların oluşturulmasına yardımcı olabilir.

İlk dosya bir .def DLL'den hangi işlevlerin dışa aktarıldığını belirten dosya,
DLL içe aktarılan işlevleri vb. Bu bir metin dosyasıdır ve tarafından oluşturulabilir.
el veya dll aracı kullanarak oluşturmak için kullanılabilir -z seçenek. Bu durumda dll aracı irade
sahip olan işlevleri aramak için komut satırında belirtilen nesne dosyalarını tarayın.
özel olarak ihraç ediliyor olarak işaretlenmiş ve onlar için girişler .def dosyala
yaratır.

Bir işlevi DLL'den dışa aktarılıyor olarak işaretlemek için, bir işlevi olması gerekir.
-ihracat: giriş .direktve nesne dosyasının bölümü. Bu olabilir
kullanılarak C'de yapılır. asm() Şebeke:

asm (".bölüm .drectve");
asm (".ascii \"-export:my_func\"");

int my_func (geçersiz) { ... }

DLL oluşturmak için gereken ikinci dosya bir dışa aktarma dosyasıdır. Bu dosya ile bağlantılı
DLL'nin gövdesini oluşturan ve DLL arasındaki arabirimi yöneten nesne dosyaları
ve dış dünya. Bu bir ikili dosyadır ve aşağıdakileri vererek oluşturulabilir: -e
için seçenek dll aracı oluştururken veya okurken .def dosyası.

DLL oluşturmak için gereken üçüncü dosya, programların içinde bağlantı kuracağı kitaplık dosyasıdır.
DLL'deki işlevlere erişmek için (bir "içe aktarma kitaplığı"). Bu dosya oluşturulabilir
vererek -l oluştururken veya okurken dlltool seçeneği .def dosyası.

Eğer -y seçeneği belirtilirse, dlltool kullanılabilecek bir gecikme içe aktarma kitaplığı oluşturur
bir programın dll'ye yalnızca en kısa sürede bağlanmasına izin vermek için normal içe aktarma kitaplığı yerine
içe aktarılan bir işlev ilk kez çağrılır. Ortaya çıkan yürütülebilir dosyanın
_ içeren statik delayimp kitaplığına bağlanın_gecikmeYükHelper2()sırayla
LoadLibraryA ve GetProcAddress'i kernel32'den içe aktarır.

dll aracı kitaplık dosyasını elle oluşturur, ancak dışa aktarma dosyasını oluşturarak oluşturur.
assembler deyimlerini içeren ve ardından bunları bir araya getiren geçici dosyalar. NS -S komuta
line seçeneği, dlltool'un kullanacağı montajcının yolunu belirtmek için kullanılabilir ve
the -f seçeneği, o birleştiriciye belirli bayrakları iletmek için kullanılabilir. NS -n için kullanılabilir
dlltool'un bittiğinde bu geçici derleyici dosyalarını silmesini önleyin ve eğer -n
iki kez belirtilirse, bu, dlltool'un geçici nesne dosyalarını silmesini önleyecektir.
kütüphaneyi inşa etmek için kullanılır.

İşte bir kaynak dosyadan DLL oluşturmaya bir örnek dll.c ve ayrıca bir program oluşturmak
(adlı bir nesne dosyasından program.o) bu DLL'yi kullanan:

gcc -c dll.c
dlltool -e export.o -l dll.lib dll.o
gcc dll.o export.o -o dll.dll
gcc program.o dll.lib -o programı

dll aracı adını belirlemek için mevcut bir içe aktarma kitaplığını sorgulamak için de kullanılabilir.
İlişkili olduğu DLL. açıklamasına bakın -I or --tanımlamak seçeneği.

SEÇENEKLER


Komut satırı seçenekleri aşağıdaki anlamlara sahiptir:

-d Dosya
--input-def Dosya
Bir adını belirtir .def okunacak ve işlenecek dosya.

-b Dosya
--base-dosyası Dosya
İçinde okunacak ve işlenecek bir temel dosyanın adını belirtir. bunun içeriği
dosyası, dlltool tarafından oluşturulan dışa aktarma dosyasındaki yer değiştirme bölümüne eklenecektir.

-e Dosya
--çıktı-exp Dosya
dlltool tarafından oluşturulacak dışa aktarma dosyasının adını belirtir.

-z Dosya
--çıktı-def Dosya
Adını belirtir .def dlltool tarafından oluşturulacak dosya.

-l Dosya
--çıktı-lib Dosya
dlltool tarafından oluşturulacak kitaplık dosyasının adını belirtir.

-y Dosya
--output-delaylib Dosya
dlltool tarafından oluşturulacak gecikmeli içe aktarma kitaplığı dosyasının adını belirtir.

--tüm sembolleri dışa aktar
Giriş nesnesi dosyalarında bulunan tüm genel ve zayıf tanımlı sembolleri semboller olarak ele alın
ihraç edilecek. Varsayılan olarak dışa aktarılmayan küçük bir sembol listesi vardır;
bakın --no-varsayılan-hariç tutar seçenek. etmemek için semboller listesine ekleyebilirsiniz.
kullanarak dışa aktar --hariç tutma-semboller seçeneği.

--no-export-all-semboller
Yalnızca bir girdide açıkça listelenen sembolleri dışa aktarın .def dosya veya içinde .direktve bölümler
giriş nesnesi dosyaları. Bu varsayılan davranıştır. NS .direktve bölümler
tarafından yaratıldı dll dışa aktarımı kaynak kodundaki öznitelikler.

--hariç tutma-semboller liste
içindeki sembolleri dışa aktarmayın. liste. Bu, virgülle ayrılmış sembol adlarının bir listesidir.
veya iki nokta üst üste karakterleri. Sembol adları, baştaki alt çizgi içermemelidir. Bu
sadece ne zaman anlamlıdır --tüm sembolleri dışa aktar kullanıldı.

--no-varsayılan-hariç tutar
Ne zaman --tüm sembolleri dışa aktar kullanıldığında, varsayılan olarak belirli özel öğeleri dışa aktarmaktan kaçınacaktır.
semboller. Dışa aktarmayı önlemek için geçerli sembol listesi DllAna@12,
DllGirişNoktası@0, impure_ptr. kullanabilirsiniz --no-varsayılan-hariç tutar devam etme seçeneği
ve bu özel sembolleri dışa aktarın. Bu sadece ne zaman anlamlıdır --tüm sembolleri dışa aktar
kullanıldı.

-S yol
--olarak yol
Oluşturmak için kullanılacak derleyicinin dosya adı dahil yolunu belirtir.
ihracat dosyası.

-f seçenekleri
--as-flaglar seçenekleri
Aşağıdaki durumlarda montajcıya iletilecek belirli komut satırı seçeneklerini belirtir.
ihracat dosyasının oluşturulması. Bu seçenek çalışsa bile çalışır. -S seçeneği kullanılmaz.
Bu seçenek yalnızca bir bağımsız değişken alır ve komutta birden fazla kez ortaya çıkarsa
satır, daha sonraki oluşumlar önceki oluşumları geçersiz kılacaktır. Yani gerekliyse
montajcıya birden çok seçenek iletmek için çift tırnak içine alınmalıdır.

-D isim
--dll-adı isim
içinde saklanacak ismi belirtir. .def dosya, DLL'nin adı olarak -e
seçeneği kullanılır. Bu seçenek yoksa, dosyaya verilen dosya adı -e
seçeneği DLL adı olarak kullanılacaktır.

-m makine
-makine makine
Kitaplık dosyasının oluşturulacağı makinenin türünü belirtir. dll aracı vardır
nasıl oluşturulduğuna bağlı olarak yerleşik bir varsayılan tür, ancak bu seçenek
bunu geçersiz kılmak için kullanılır. Bu normalde yalnızca bir ARM için DLL oluştururken kullanışlıdır.
işlemci, DLL içeriği aslında Thumb yönergeleri kullanılarak kodlandığında.

-a
--add-dolaylı
Ne zaman olduğunu belirtir dll aracı dışa aktarma dosyasını oluştururken, bir bölüm eklemesi gerekir.
içe aktarma kitaplığını kullanmadan dışa aktarılan işlevlere başvurulmasına izin verir.
Her ne anlama geliyorsa!

-U
--ek-alt çizgi
Ne zaman olduğunu belirtir dll aracı dışa aktarma dosyasını oluşturuyorsa, başına bir
isimlerinin altını çiz herşey dışa aktarılan semboller

--no-lider-alt çizgi
--ön-alt çizgi
Standart sembolün önek konulmaya zorlanıp zorlanmayacağını belirtir.

--add-stdcall-alt çizgi
Ne zaman olduğunu belirtir dll aracı dışa aktarma dosyasını oluşturuyorsa, başına bir
ihraç edilenlerin adlarının altını çizin standart çağrı fonksiyonlar. Değişken isimleri ve stdcall olmayan
işlev adları değiştirilmez. Bu seçenek, GNU uyumlu oluştururken kullanışlıdır.
MS-Windows araçlarıyla oluşturulmuş üçüncü taraf DLL'ler için kitaplıkları içe aktarın.

-k
--öldürme
şunu belirtir @ stdcall adlarından son ekler çıkarılmalıdır
DLL'den içe aktarılacak işlevler. Bu, bir içe aktarma oluştururken kullanışlıdır
stdcall işlevlerini dışa aktaran ancak olağan işlevler olmadan bir DLL için kitaplık @
sembol adı son eki.

Bu, içe aktarma kitaplığı tarafından programlara sağlanan sembollerin adlarını değiştirmez
buna karşı bağlantılıdır, ancak yalnızca içe aktarma tablosundaki girişler (yani .idata bölümü).

-A
--add-stdcall-takma ad
Ne zaman olduğunu belirtir dll aracı takma ad eklemesi gereken dışa aktarma dosyasını oluşturuyor
stdcall sembolleri olmadan @ sembollere ek olarak @ .

-p
--ext-önek-takma ad önek
Bilgiler dll aracı belirtilen tüm DLL içe aktarmaları için harici takma adlar oluşturmak için
önek. Takma adlar, hem harici hem de içe aktarma sembolleri için başında olmadan oluşturulur
vurgulamak.

-x
--hiçbir veri4
Ne zaman olduğunu belirtir dll aracı atlaması gereken dışa aktarma ve kitaplık dosyalarını oluşturuyor
".idata4" bölümü. Bu, belirli işletim sistemleriyle uyumluluk içindir.

--use-nul-önekli-import-tabloları
Ne zaman olduğunu belirtir dll aracı öneki olması gereken dışa aktarma ve kitaplık dosyalarını oluşturuyor
".idata4" ve ".idata5" sıfır bir öğe. Bu, eski gnu içe aktarma kitaplığını öykünür
"dlltool" nesli. Varsayılan olarak bu seçenek kapalıdır.

-c
--hiçbir veri5
Ne zaman olduğunu belirtir dll aracı atlaması gereken dışa aktarma ve kitaplık dosyalarını oluşturuyor
".idata5" bölümü. Bu, belirli işletim sistemleriyle uyumluluk içindir.

-I Dosya
--tanımlamak Dosya
şunu belirtir dll aracı ile belirtilen içe aktarma kitaplığını incelemelidir. Dosya ve
"stdout"ta, ilişkili DLL(ler)in ad(lar)ını rapor edin. Bu gerçekleştirilebilir
diğer seçenekler ve argümanlar tarafından belirtilen diğer işlemlere ek olarak.
dll aracı içe aktarma kitaplığı yoksa veya gerçekte bir içe aktarma değilse başarısız olur
kütüphane. Ayrıca bakınız --tanımlamak-katı.

--tanımlamak-katı
davranışını değiştirir --tanımlamak seçeneği, eğer bir hata rapor edilirse
Dosya birden fazla DLL ile ilişkili.

-i
--ara çalışma
şunu belirtir dll aracı kütüphane dosyasındaki nesneleri işaretlemeli ve dosyayı dışa aktarmalıdır
ARM ve Thumb kodu arasında destekleyici olarak ürettiğini.

-n
--nodelet
Yapar dll aracı dışa aktarmaları oluşturmak için kullandığı geçici montajcı dosyalarını koru
dosya. Bu seçenek tekrarlanırsa, dlltool geçici nesneyi de koruyacaktır.
kütüphane dosyasını oluşturmak için kullandığı dosyalar.

-t önek
--temp-ön eki önek
Yapar dll aracı kullanım önek geçici derleyici ve nesne adlarını oluştururken
Dosyalar. Varsayılan olarak, geçici dosya öneki pid'den oluşturulur.

-v
--ayrıntılı
Dlltool'un ne yaptığını tarif etmesini sağlayın.

-h
--yardım et
Komut satırı seçeneklerinin bir listesini görüntüler ve ardından çıkar.

-V
--versiyon
dlltool'un sürüm numarasını görüntüler ve ardından çıkar.

@dosya
Komut satırı seçeneklerini şuradan okuyun: dosya. Okunan seçenekler yerine eklenir.
orijinal @dosya seçenek. Eğer dosya mevcut değilse veya okunamıyorsa, seçenek
kelimenin tam anlamıyla işlenecek ve kaldırılmayacaktır.

İçindeki seçenekler dosya boşluk ile ayrılır. Bir boşluk karakteri dahil edilebilir
tüm seçeneği tek veya çift tırnak içine alarak bir seçenekte. Herhangi
karakter (ters eğik çizgi dahil), kullanılacak karakterin önüne eklenerek dahil edilebilir.
ters eğik çizgi ile dahil edilmiştir. NS dosya kendisi ek @ içerebilirdosya seçenekler; herhangi
bu tür seçenekler özyinelemeli olarak işlenecektir.

onworks.net hizmetlerini kullanarak arm-linux-androideabi-dlltool'u çevrimiçi kullanın


Ücretsiz Sunucular ve İş İstasyonları

Windows ve Linux uygulamalarını indirin

Linux komutları

Ad