İngilizceFransızcaİspanyolca

OnWorks favicon'u

aarch64-linux-gnu-gcj-5 - Bulutta Çevrimiçi

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 aarch64-linux-gnu-gcj-5'i ç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 aarch64-linux-gnu-gcj-5 komutudur.

Program:

ADI


gcj - Java dili için önceden derleyici

SİNOPSİS


[-Idir...] [-d dir...]
[--SINIF YOLU=yol] [--sınıf yolu=yol]
[-fseçenek...] [--kodlama=isim]
[--ana=sınıfadı] [-Disim[=değer]...]
[-C] [--kaynak kaynak adı] [-d rehber]
[-Wuyarmak...]
Kaynak dosyasıKendi ID’n ile mağazalarını oluştur

TANIM


As gcj sadece başka bir ön uç gcc, gcc ile aynı seçeneklerin çoğunu destekler.
Bu kılavuz, yalnızca aşağıdakilere özgü seçenekleri belgelemektedir: gcj.

SEÇENEKLER


Giriş ve çıktı Dosyaları
A gcj komut bir gibidir gcc komut, bir dizi seçenek ve dosyadan oluştuğu için
isimler. Aşağıdaki girdi dosyası adları desteklenir:

dosya.Java
Java kaynak dosyaları.

dosya.sınıf
Java bayt kodu dosyaları.

dosya.zip
dosya.jar
Hepsi derlenmiş bir veya daha fazla ".class" dosyası içeren bir arşiv. NS
arşiv sıkıştırılabilir. ile bitmeyen bir arşivdeki dosyalar .sınıf vardır
kaynak dosyaları olarak kabul edilir; elde edilen nesne dosyasına şu şekilde derlenirler: çekirdek:
URL'ler.

@dosya
Girdi dosya adlarının boşlukla ayrılmış bir listesini içeren bir dosya. (Şu anda bunlar
tümü ".java" kaynak dosyaları olmalıdır, ancak bu değişebilir.) Adlandırılmış her dosya derlenir,
sanki komut satırındaymış gibi.

kütüphane.a
kütüphane.yani
-lkütüphane adı
Bağlanırken kullanılacak kitaplıklar. Bkz. gcc manuel.

üzerinde birden fazla girdi dosyası belirtebilirsiniz. gcj komut satırı, bu durumda
hepsi derlenecek. Bir "-o belirtirseniz DOSYA ADI" seçeneği, tüm girdi dosyaları olacak
adlı tek bir çıktı dosyası üreterek birlikte derlenir. DOSYA ADI. Buna bile izin verilir
"-S" veya "-c" kullanırken, ancak "-C" veya "--resource" kullanırken değil. (Bu bir uzantıdır
ne düz ötesinde gcc izin verir.) (Birden fazla girdi dosyası belirtilmişse, tümü
şu anda ".java" dosyaları olabilir, ancak bunu düzeltmeyi umuyoruz.)

Giriş Opsiyonlar
gcj ihtiyaç duyduğu dosyaları nerede bulacağını kontrol etme seçeneklerine sahiptir. Örneğin, gcj olabilir
derlemesi istenen dosya tarafından başvurulan bir sınıfı yüklemeniz gerekir. Beğenmek
Java dili için diğer derleyiciler, gcj bir kavramı var sınıf yol. Var
sınıf yolunu değiştirmek için kullanılabilecek çeşitli seçenekler ve ortam değişkenleri.
Ne zaman gcj belirli bir sınıfı arar, eşleştirmeyi arayan sınıf yolunu arar .sınıf
or .Java dosyası. gcj kurulu olana işaret eden yerleşik bir sınıf yolu ile birlikte gelir
libgcj.jar, tüm standart sınıfları içeren bir dosya.

Aşağıdaki metinde, bir dizin veya yol bileşeni, gerçek bir dizine atıfta bulunabilir.
dosya sisteminde veya bir .zip or .jar dosya, hangi gcj bir şeymiş gibi arayacak
dizin.

-Idir
"-I" ile belirtilen tüm dizinler sırayla tutulur ve sınıf yolunun başına eklenir
diğer tüm seçeneklerden inşa edilmiştir. "javac" gibi araçlarla uyumluluk olmadığı sürece
önemliyse, diğer seçenekler yerine her zaman "-I" kullanmanızı öneririz.
sınıf yolunu manipüle etmek.

--sınıf yolu=yol
Bu, sınıf yolunu şu şekilde ayarlar: yol, iki nokta üst üste ayrılmış yol listesi (Windows tabanlı
sistemler, noktalı virgülle ayrılmış bir yol listesi). Bu, yerleşik olanı geçersiz kılmaz
("önyükleme") arama yolu.

--SINIF YOLU=yol
"--classpath" için kullanımdan kaldırılan eşanlamlı.

--bootclasspath=yol
"Java.lang.String" gibi standart yerleşik sınıflar nerede bulunur.

--extdirs=yol
içindeki her bir dizin için yol, o dizinin içeriğini dizinin sonuna yerleştirin.
sınıf yolu.

CLASSPATH'E
Bu, yolların listesini tutan bir ortam değişkenidir.

Son sınıf yolu şu şekilde oluşturulur:

* Önce "-I" ile belirtilen tüm dizinler gelir.

* Eğer --sınıf yolu belirtilir, değeri eklenir. Aksi takdirde, "SINIF YOLU"
ortam değişkeni belirtilir, ardından değeri eklenir. Aksi takdirde, mevcut
dizin (".") eklenir.

* "--bootclasspath" belirtilmişse, değerini ekleyin. Aksi takdirde, yerleşik
sistem dizini, libgcj.jar.

* Son olarak, "--extdirs" belirtilmişse, belirtilen içeriğin sonuna ekleyin.
sınıf yolunun sonundaki dizinler. Aksi takdirde, içeriği ekleyin
"$(prefix)/share/Java/ext" konumunda yerleşik uzantılar.

tarafından oluşturulan sınıf dosyası gcj "java.lang.Object" sınıfı için (ve "libgcj.jar" içine yerleştirilmiş)
"gnu.gcj.gcj-derlenmiş" özel bir sıfır uzunluk özniteliği içerir. derleyici arar
"java.lang.Object" yüklenirken bu özellik ve bulunamazsa bir hata bildirir,
bayt kodunu derlemedikçe ("-fforce-classes-archive-check" seçeneği kullanılabilir
bu özel durumda bu davranışı geçersiz kılın.)

-fforce-classes-arşiv-kontrol
Bu, derleyiciyi her zaman özel sıfır uzunluk özelliğini kontrol etmeye zorlar.
"Java.lang.Object" içinde "gnu.gcj.gcj-compiled" ve bulunamazsa bir hata verir.

-kaynak=VERSION
Bu seçenek, tarafından kabul edilen kaynak sürümü seçmek için kullanılır. gcj. Varsayılan, 1.5.

Kodlamalar
Java programlama dili baştan sona Unicode kullanır. İyi bir entegrasyon çabası içinde
diğer yerel ayarlarla, gcj veriyor .Java dosyalar hemen hemen tüm kodlamalar kullanılarak yazılabilir. gcj
derleme zamanında bu kodlamaları kendi iç kodlamasına nasıl dönüştüreceğini bilir.

"--encoding=İSİM" (belirli bir karakterin) bir kodlama belirtme seçeneği
set) kaynak dosyalar için kullanılacak. Bu belirtilmezse, varsayılan kodlama şuradan gelir:
geçerli yerel ayarınız. Ana bilgisayar sisteminiz yetersiz yerel ayar desteğine sahipse, gcj
varsayılan kodlamanın UTF-8 Unicode'un kodlaması.

"--encoding" uygulamak için, gcj sadece ana bilgisayar platformunun "iconv" dönüştürme rutinini kullanır.
Bunun anlamı, pratikte gcj ana bilgisayar platformunun yetenekleri ile sınırlıdır.

"--encoding" argümanı için izin verilen adlar platformdan platforma değişir (çünkü bunlar
hiçbir yerde standartlaştırılmamıştır). Yine de, gcj adlı kodlamayı uygular UTF-8
dahili olarak, bu nedenle kaynak dosyalarınız için bunu kullanmayı seçerseniz, emin olabilirsiniz.
her ana bilgisayarda çalışacak.

Uyarılar
gcj birkaç uyarı uygular. Diğer jeneriklerde olduğu gibi gcc bir seçenek varsa uyarılar
"-Wfoo" formu bir uyarıyı etkinleştirir, ardından "-Wno-foo" onu devre dışı bırakır. İşte biz seçtik
etkisi olacak uyarının biçimini belgeleyin - varsayılan
listelenenlerin tam tersi.

-Gereksiz değiştiriciler
Bu bayrakla, gcj gereksiz değiştiriciler hakkında uyaracaktır. Örneğin, uyaracak
bir arabirim yöntemi "genel" olarak bildirilirse.

-Wextraneous-noktalı virgül
Bu neden gcj boş ifadeler hakkında uyarmak için. Boş açıklamalar yapıldı
kullanımdan kaldırıldı.

-Güncel olmayan
Bu seçenek neden olur gcj bir kaynak dosya eşleşmesinden daha yeni olduğunda uyarmamak
sınıf dosyası. Varsayılan olarak gcj bu konuda uyaracaktır.

-Wno-kullanımdan kaldırıldı
Kullanımdan kaldırılmış bir sınıf, yöntem veya alana başvurulursa uyar.

-Kullanılmamış
Bu aynıdır gcc"-Wunused".

-Duvar
Bu, "-Gereksiz-değiştiriciler -Wextraneous-noktalı virgül -Wunused" ile aynıdır.

Bağlayıcı
Bir Java uygulamasını çalıştırılabilir bir programa dönüştürmek için, onu gerekli uygulamalarla ilişkilendirmeniz gerekir.
kütüphaneler, tıpkı C veya C++ için olduğu gibi. Bağlayıcı varsayılan olarak adlı bir global işlevi arar.
"ana". Java'nın global işlevleri olmadığından ve bir Java sınıfları koleksiyonu,
"ana" yönteme sahip birden fazla sınıfa sahipseniz, bağlayıcıya aşağıdakilerden hangisi olduğunu bildirmeniz gerekir.
uygulamayı başlatırken çağırması gereken "ana" yöntemler. bunu yapabilirsin
bu yollardan herhangi biri:

* Uygulamayı bağladığınızda istediğiniz "ana" yöntemi içeren sınıfı belirtin,
aşağıda açıklanan "--main" bayrağını kullanarak.

* Java paketlerini yürütülebilir bir dosya yerine paylaşılan bir kitaplığa (dll) bağlayın. Sonra
"gij" programını kullanarak uygulamayı çağırın ve "gij" in bulabildiğinden emin olun.
ihtiyaç duyduğu kütüphaneler.

* Java paketlerini "ana" rutinde bağlanan "-lgij" bayrağıyla bağlayın
"gij" komutundan. Bu, "ana" yöntemi istediğiniz sınıfı seçmenize olanak tanır.
uygulamayı çalıştırdığınızda çalıştırmak istiyorum. Diğer "gij" bayraklarını da kullanabilirsiniz, örneğin
Özellikleri ayarlamak için "-D" bayrakları. "-lgij" kitaplığını kullanma ("gij" yerine
önceki mekanizmanın programı) bazı avantajlara sahiptir: statik ile uyumludur
bağlama ve kitaplıkların yapılandırılmasını veya kurulmasını gerektirmez.

Bu "gij" seçenekleri, yürütülebilir bir dosyanın bağlanmasıyla ilgilidir:

--ana=SINIF ADI
Bu seçenek, "ana" yöntemi olan sınıfın adını belirtmek için bağlanırken kullanılır.
ortaya çıkan yürütülebilir dosya çalıştırıldığında çağrılmalıdır.

-Disim[=değer]
Bu seçenek yalnızca "--main" ile kullanılabilir. adlı bir sistem özelliğini tanımlar. isim
değeri olan değer. Eğer değer belirtilmezse, varsayılan olarak boş dizeye geçer.
Bu sistem özellikleri, programın başlangıcında başlatılır ve geri alınabilir.
çalışma zamanında "java.lang.System.getProperty" yöntemini kullanarak.

-lgij
Komut satırı işlemesi "gij" komutu olan bir uygulama oluşturun.

Bu seçenek, "--main" kullanımına bir alternatiftir; ikisini de kullanamazsınız.

-statik-libgcj
Bu seçenek, bağlantının libgcj çalışma zamanının statik bir sürümüne karşı yapılmasına neden olur.
kütüphane. Bu seçenek yalnızca ilgili bağlayıcı desteği mevcutsa kullanılabilir.

Dikkat: libgcj'nin statik olarak bağlanması, libgcj'nin önemli bölümlerinin atlanmasına neden olabilir.
libgcj'nin bazı bölümleri, çalışma zamanında sınıfları yüklemek için yansıma kullanır. Bağlayıcı yaptığından beri
bağlantı zamanında bu referansları görmez, atıfta bulunulan sınıfları atlayabilir. NS
sonuç genellikle (ancak her zaman değil) çalışma zamanında atılan bir "ClassNotFoundException" dır.
Bu seçeneği kullanırken dikkatli olunmalıdır. Daha fazla ayrıntı için bakınız:
<http://gcc.gnu.org/wiki/Statically%20bağlama%20libgcj>

Kod nesil
Birçok ek olarak gcc kod üretimini kontrol eden seçenekler, gcj birkaç seçeneği var
kendine özgü.

-C Bu seçenek anlatmak için kullanılır gcj bayt kodu oluşturmak için (.sınıf dosyalar) yerine nesne
kodu.

--kaynak kaynak adı
Bu seçenek anlatmak için kullanılır gcj belirli bir dosyanın içeriğini nesne koduna derlemek için
bu nedenle, çalışma zamanında çekirdek protokol işleyicisi ile şu şekilde erişilebilir: çekirdek:/kaynak-
isim. Bunu not et kaynak adı çalışma zamanında bulunan kaynağın adıdır; için
örneğin, "ResourceBundle.getBundle" çağrısında kullanılabilir. gerçek dosya
bu şekilde derlenecek isim ayrıca belirtilmelidir.

-ftarget=VERSION
Bu ile kullanılabilir -C tarafından yayılan bayt kodunun sürümünü seçmek için gcj.
varsayılan 1.5. Bayt kodu oluşturulmadığında bu seçeneğin hiçbir etkisi yoktur.

-d rehber
"-C" ile kullanıldığında, bu, oluşturulan tüm .sınıf içine konacak dosyalar
uygun alt dizini rehber. Varsayılan olarak alt dizinlere konulacaklardır.
geçerli çalışma dizininin.

-fno-sınır-kontrol
Varsayılan olarak, gcj tüm dizi indekslemenin sınırlarını kontrol eden kod üretir
operasyonlar. Bu seçenekle, performansı artırabilecek bu kontroller atlanır.
dizileri yoğun olarak kullanan kod için. Bunun tahmin edilemez sonuçlara yol açabileceğini unutmayın.
davranış, söz konusu kod gerçekten dizi sınırları kısıtlamalarını ihlal ediyorsa. Bilişim Teknoloji
kodunuzun hiçbir zaman bir hata atmayacağından eminseniz bu seçeneği kullanmak güvenlidir.
"ArrayIndexOutOfBoundsException".

-fno-mağaza-kontrol
Dizi deposu kontrolleri oluşturmayın. Nesneleri dizilerde saklarken, bir çalışma zamanı kontrolü
nesnenin atama ile uyumlu olmasını sağlamak için normal olarak oluşturulur.
dizinin bileşen türü (derleme zamanında bilinmeyebilir). Bununla
seçeneği, bu kontroller atlanır. Bu, depolanan kodun performansını artırabilir.
nesneleri sık sık dizilere dönüştürür. eminseniz bu seçeneği kullanmak güvenlidir.
kod asla bir "ArrayStoreException" oluşturmaz.

-fjni
İle gcj yerel yöntemler yazmak için iki seçenek vardır: CNI ve JNI. Varsayılan olarak
gcj CNI kullandığınızı varsayar. Yerel yöntemlerle bir sınıf derliyorsanız ve
bu yöntemler JNI kullanılarak uygulanır, o zaman "-fjni" kullanmanız gerekir. Bu seçenek
nedenleri gcj temeldeki JNI yöntemlerini çağıracak saplamalar oluşturmak için.

-fno iddiası
"iddia" anahtar sözcüğünü tanımıyor. Bu, eski sürümlerle uyumluluk içindir
dil belirtiminden.

-fno-optimize-statik-sınıf-başlatma
Optimizasyon düzeyi "-O2" değerinden büyük veya eşit olduğunda, gcj optimize etmeye çalışacak
çalışma zamanına yapılan çağrılar, ilk kullanımlarında statik sınıfları başlatmak için yapılır
("-C" belirtilmişse bu optimizasyon yapılmaz.) Yerele derlerken
kodu, "-fno-optimize-static-class-initialization" bu optimizasyonu kapatacak,
kullanımdaki optimizasyon seviyesinden bağımsız olarak.

--disable-iddialar[=sınıf veya paket]
Derlenmiş koda iddiaları kontrol etmek için kod eklemeyin. Eğer
"=sınıf veya paket" eksik, tüm sınıflar için onay kodu oluşturmayı devre dışı bırakır,
daha spesifik bir "--enable-assertions" bayrağı tarafından geçersiz kılınmadıkça. Eğer sınıf veya paket
bir sınıf adıdır, yalnızca adlandırılmış sınıf içinde onaylama kontrolleri oluşturmayı devre dışı bırakır veya
onun iç sınıfları. Eğer sınıf veya paket bir paket adıdır, oluşturmayı devre dışı bırakır
adlandırılmış paket veya bir alt paket içinde onaylama kontrolleri.

Varsayılan olarak, sınıf dosyaları oluşturulurken veya optimizasyon yapılmadığında iddialar etkinleştirilir,
ve optimize edilmiş ikili dosyalar oluştururken devre dışı bırakılır.

--enable-iddialar[=sınıf veya paket]
Onayları kontrol etmek için kod üretir. Hala ihtiyacınız olduğu için seçenek belki de yanlış adlandırılmıştır.
çalışma zamanında iddia kontrolünü açmak için ve bunu yapmanın kolay bir yolunu desteklemiyoruz
o. Yani bu bayrak, kısmen geçersiz kılmak dışında henüz çok kullanışlı değil.
"--disable-iddiaları".

-findirect-gönderme
gcj tarafından etkinleştirilen özel bir ikili uyumluluk ABI'sine sahiptir.
"-findirect-dispatch" seçeneği. Bu modda, tarafından oluşturulan kod gcj onurlandırmak
Java Dil Spesifikasyonunda ikili uyumluluk garantileri ve bunun sonucunda
nesne dosyalarının doğrudan bağımlılıklarına bağlanması gerekmez. Bunun yerine,
tüm bağımlılıklar çalışma zamanında aranır. Bu, yorumlanmış ve
derlenmiş kod.

Şu anda "-findirect-dispatch" ifadesinin yalnızca derleme sırasında kullanılabileceğini unutmayın. .sınıf
Dosyalar. Kaynaktan derlerken çalışmaz. CNI ayrıca henüz çalışmıyor
ikili uyumluluk ABI. Bu kısıtlamalar bir süre sonra kaldırılacak
bırakın.

Ancak, CNI kodunu standart ABI ile derlerseniz, onu koddan çağırabilirsiniz.
ikili uyumluluk ABI ile oluşturulmuştur.

-fbootstrap-sınıfları
Bu seçenek, "libgcj"ye derlenmiş sınıfların aşağıdakiler tarafından yüklenmesi gerektiğini söylemek için kullanılabilir.
sistem sınıfı yükleyici değil, önyükleme yükleyicisi. Varsayılan olarak, bir sınıf derlerseniz
ve yürütülebilir bir dosyaya bağlayın, kullanılarak yüklenmiş gibi işlem görecektir.
sistem sınıfı yükleyici. Bu uygundur, çünkü bunun gibi şeyler
"Class.forName()" arayacaktır CLASSPATH'E İstenen sınıfı bulmak için

-azaltılmış-yansıma
Bu seçenek tarafından oluşturulan koda neden olur gcj sınıfın azaltılmış bir miktarını içermek
çalışma zamanı yansımasını desteklemek için kullanılan meta veriler. Bu tasarrufun maliyeti,
standart Java çalışma zamanının belirli yansıtma yeteneklerini kullanma yeteneği
Çevre. Doğru elde etmek için gerekli olanlar dışında tüm meta verileri ayarladığınızda
çalışma zamanı semantiği ortadan kalkar.

Yansıma kullanmayan kodlar için (yani serileştirme, RMI, CORBA veya çağrı yöntemleri)
"Java.lang.reflect" paketinde), "-freduced-reflection" doğru sonuç verecektir.
yürütülebilir kod boyutunda tasarruf ile işlem.

JNI ("-fjni") ve ikili uyumluluk ABI ("-findirect-dispatch") çalışmıyor
tam yansıma meta verileri olmadan düzgün şekilde. Bu nedenle, kullanmak bir hatadır.
bu seçenekler "-azaltılmış-yansıma" ile.

Dikkat: Yansıma meta verisi yoksa, "SecurityManager" kullanan kod
uygun şekilde çalışmamak. Çağıran yöntemde varsa "Class.forName()" çağrısı da başarısız olabilir.
yansıma meta verisi yok.

yapılandırma zamanı Opsiyonlar
Bizi gcj kod oluşturma seçenekleri, elde edilen ABI'yi etkiler ve bu nedenle yalnızca
çalışma zamanı paketi olan "libgcj" yapılandırıldığında anlamlı olarak verilir. "libgcj" koyar
bu gruptan uygun seçenekler bir spec tarafından okunan dosya gcj. Bu seçenekler
eksiksiz olması için burada listelenmiştir; "libgcj" kullanıyorsanız, dokunmak istemeyeceksiniz
bu seçenekler.

-sigorta-boehm-gc
Bu, Boehm GC bitmap işaretleme kodunun kullanılmasını sağlar. Özellikle bu neden olur
gcj her bir tabloya bir nesne işaretleme tanımlayıcısı koymak için.

-fhash-senkronizasyon
Varsayılan olarak, senkronizasyon verileri ("senkronize et", "bekle" ve
"bildir") her nesnede bir kelime ile gösterilir. Bu seçenek ile gcj olduğunu varsayar
bu bilgi, nesnenin kendisinde değil, bir karma tablosunda saklanır.

-sigorta-böl-altyordamı
Bazı sistemlerde, tamsayı bölme işlemini gerçekleştirmek için bir kitaplık rutini çağrılır. Bu
sıfıra bölerken istisna işlemeyi doğru yapmak için gereklidir.

-fcheck-referansları
Bazı sistemlerde, bir nesneye erişirken satır içi kontroller eklemek gerekir.
bir referans aracılığıyla. Diğer sistemlerde buna ihtiyacınız olmayacak çünkü boş gösterici erişiyor
işlemci tarafından otomatik olarak yakalanır.

-sigorta-atomik yerleşikler
Bazı sistemlerde GCC, yerleşik atomik işlemler için kod oluşturabilir. Bunu kullan
Java kodunu derlerken gcj'yi bu yerleşikleri kullanmaya zorlama seçeneği. Nerede bu
yeteneği mevcutsa, otomatik olarak algılanmalıdır, bu nedenle genellikle ihtiyacınız olmaz
Bu seçeneği kullanmak için

onworks.net hizmetlerini kullanarak aarch64-linux-gnu-gcj-5'i çevrimiçi kullanın


Ücretsiz Sunucular ve İş İstasyonları

Windows ve Linux uygulamalarını indirin

Linux komutları

Ad