EnglishFrenchGermanItaliPortugueseRussiaSpanyol

Favicon OnWorks

mips-linux-gnu-gcj-5 - Dalam Talian di Awan

Jalankan mips-linux-gnu-gcj-5 dalam penyedia pengehosan percuma OnWorks melalui Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS

Ini ialah arahan mips-linux-gnu-gcj-5 yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS.

JADUAL:

NAMA


gcj - Pengkompil lebih awal untuk bahasa Java

SINOPSIS


gcj [-Idir...] [-d dir...]
[--KELAS=jalan] [--laluan kelas=jalan]
[-fpilihan...] [--pengekodan=nama]
[--utama=nama kelas] [-Dnama[=nilai]...]
[-C] [--sumber nama sumber] [-d direktori]
[-Wmemberi amaran kepada...]
fail sumber...

DESCRIPTION


As gcj hanyalah satu lagi bahagian hadapan gcc, ia menyokong banyak pilihan yang sama seperti gcc.
Manual ini hanya mendokumenkan pilihan khusus untuk gcj.

PILIHAN


Input dan output fail
A gcj perintah adalah seperti a gcc arahan, kerana ia terdiri daripada beberapa pilihan dan fail
nama. Jenis nama fail input berikut disokong:

fail.Jawa
fail sumber Java.

fail.kelas
fail bytecode Java.

fail. Zip
fail.jar
Arkib yang mengandungi satu atau lebih fail ".class", yang kesemuanya disusun. The
arkib boleh dimampatkan. Fail dalam arkib yang tidak berakhir dengan .kelas adalah
dianggap sebagai fail sumber; mereka disusun ke dalam fail objek yang terhasil sebagai teras:
URL.

@fail
Fail yang mengandungi senarai nama fail input yang dipisahkan ruang putih. (Pada masa ini, ini
mestilah semua fail sumber ".java", tetapi itu mungkin berubah.) Setiap fail bernama disusun,
sama seperti ia berada di baris arahan.

perpustakaan.a
perpustakaan.so
-llibname
Perpustakaan untuk digunakan semasa memaut. Lihat gcc manual.

Anda boleh menentukan lebih daripada satu fail input pada fail gcj baris arahan, dalam hal ini mereka akan melakukannya
semua disusun. Jika anda menyatakan "-o NAMA FAIL" pilihan, semua fail input akan menjadi
disusun bersama, menghasilkan fail output tunggal, dinamakan NAMA FAIL. Ini dibenarkan walaupun
apabila menggunakan "-S" atau "-c", tetapi tidak apabila menggunakan "-C" atau "--resource". (Ini adalah lanjutan
di luar apa dataran gcc membenarkan.) (Jika lebih daripada satu fail input dinyatakan, semua mesti
kini menjadi fail ".java", walaupun kami berharap dapat membetulkannya.)

Input Pilihan
gcj mempunyai pilihan untuk mengawal di mana ia kelihatan untuk mencari fail yang diperlukannya. Sebagai contoh, gcj kekuatan
perlu memuatkan kelas yang dirujuk oleh fail yang telah diminta untuk disusun. Suka
penyusun lain untuk bahasa Jawa, gcj mempunyai tanggapan a kelas jalan. Disana ada
beberapa pilihan dan pembolehubah persekitaran yang boleh digunakan untuk memanipulasi laluan kelas.
Bila gcj mencari kelas tertentu, ia mencari laluan kelas mencari padanan .kelas
or .Jawa fail. gcj datang dengan laluan kelas terbina dalam yang menghala ke yang dipasang
libgcj.jar, fail yang mengandungi semua kelas standard.

Dalam teks di bawah, direktori atau komponen laluan boleh merujuk sama ada kepada direktori sebenar
pada sistem fail, atau ke a . Zip or .jar fail, yang gcj akan mencari seolah-olah ia adalah a
direktori.

-Idir
Semua direktori yang ditentukan oleh "-I" disimpan dalam susunan dan didahulukan ke laluan kelas
dibina daripada semua pilihan lain. Melainkan keserasian dengan alat seperti "javac"
adalah penting, kami mengesyorkan sentiasa menggunakan "-I" dan bukannya pilihan lain untuk
memanipulasi laluan kelas.

--classpath=jalan
Ini menetapkan laluan kelas kepada jalan, senarai laluan yang dipisahkan bertindih (pada Windows-based
sistem, senarai laluan yang dipisahkan koma bertitik). Ini tidak mengatasi builtin
("boot") laluan carian.

--CLASSPATH=jalan
Sinonim untuk "--classpath" ditamatkan.

--bootclasspath=jalan
Di mana untuk mencari kelas terbina standard, seperti "java.lang.String".

--extdirs=jalan
Untuk setiap direktori dalam jalan, letakkan kandungan direktori itu di hujung
laluan kelas.

KELAS
Ini ialah pembolehubah persekitaran yang memegang senarai laluan.

Laluan kelas akhir dibina seperti:

* Mula-mula datang semua direktori yang ditentukan melalui "-I".

* Sekiranya --laluan kelas ditentukan, nilainya dilampirkan. Jika tidak, jika "CLASSPATH"
pembolehubah persekitaran ditentukan, kemudian nilainya dilampirkan. Jika tidak, arus
direktori (".") dilampirkan.

* Jika "--bootclasspath" ditentukan, tambahkan nilainya. Jika tidak, tambahkan terbina dalam
direktori sistem, libgcj.jar.

* Akhir sekali, jika "--extdirs" ditentukan, tambahkan kandungan yang dinyatakan
direktori di hujung laluan kelas. Jika tidak, tambahkan kandungan
extdir terbina dalam pada "$(prefix)/share/java/ext".

Fail kelas yang dibina oleh gcj untuk kelas "java.lang.Object" (dan diletakkan dalam "libgcj.jar")
mengandungi atribut panjang sifar khas "gnu.gcj.gcj-compiled". Pengkompil mencari
atribut ini apabila memuatkan "java.lang.Object" dan akan melaporkan ralat jika ia tidak ditemui,
melainkan ia dikompilasi kepada bytecode (pilihan "-fforce-classes-archive-check" boleh digunakan untuk
mengatasi tingkah laku ini dalam kes tertentu ini.)

-fforce-classes-archive-check
Ini memaksa pengkompil untuk sentiasa menyemak atribut panjang sifar khas
"gnu.gcj.gcj-compiled" dalam "java.lang.Object" dan keluarkan ralat jika ia tidak ditemui.

-fsource=VERSION
Pilihan ini digunakan untuk memilih versi sumber yang diterima oleh gcj. Lalai adalah 1.5.

Pengekodan
Bahasa pengaturcaraan Java menggunakan Unicode di seluruh. Dalam usaha untuk berintegrasi dengan baik
dengan kawasan lain, gcj membolehkan .Jawa fail untuk ditulis menggunakan hampir semua pengekodan. gcj
tahu cara menukar pengekodan ini kepada pengekodan dalamannya pada masa penyusunan.

Anda boleh menggunakan "--encoding=NAMA" pilihan untuk menentukan pengekodan (daripada aksara tertentu
set) untuk digunakan untuk fail sumber. Jika ini tidak dinyatakan, pengekodan lalai datang daripada
tempat semasa anda. Jika sistem hos anda mempunyai sokongan setempat yang tidak mencukupi, maka gcj
menganggap pengekodan lalai sebagai UTF-8 pengekodan Unicode.

Untuk melaksanakan "--encoding", gcj hanya menggunakan rutin penukaran "iconv" platform hos.
Ini bermakna bahawa dalam amalan gcj dihadkan oleh keupayaan platform hos.

Nama yang dibenarkan untuk hujah "--encoding" berbeza dari platform ke platform (kerana mereka
tidak diseragamkan di mana-mana). Walau bagaimanapun, gcj melaksanakan pengekodan bernama UTF-8
secara dalaman, jadi jika anda memilih untuk menggunakan ini untuk fail sumber anda, anda boleh yakin bahawa ia
akan berfungsi pada setiap hos.

Amaran
gcj melaksanakan beberapa amaran. Seperti dengan generik lain gcc amaran, jika pilihan daripada
borang "-Wfoo" mendayakan amaran, kemudian "-Wno-foo" akan melumpuhkannya. Di sini kami telah memilih untuk
dokumenkan bentuk amaran yang akan memberi kesan -- lalainya ialah
bertentangan dengan apa yang disenaraikan.

-Wredundant-pengubah suai
Dengan bendera ini, gcj akan memberi amaran tentang pengubah suai yang berlebihan. Sebagai contoh, ia akan memberi amaran
jika kaedah antara muka diisytiharkan "awam".

-Wextraneous-titik bertitik
Ini menyebabkan gcj untuk memberi amaran tentang kenyataan kosong. Kenyataan kosong telah
ditamatkan.

-Tidak ketinggalan zaman
Pilihan ini akan menyebabkan gcj untuk tidak memberi amaran apabila fail sumber lebih baharu daripada padanannya
fail kelas. Secara lalai gcj akan memberi amaran mengenai perkara ini.

-Wno-ditamatkan
Beri amaran jika kelas, kaedah atau medan yang tidak digunakan lagi dirujuk.

-Wunused
Ini sama seperti gcc's "-Wunused".

-Dinding
Ini adalah sama seperti "-Pengubah-ubah -Wextraneous-titik bertitik -Wunused".

Menghubungkan
Untuk menjadikan aplikasi Java sebagai program boleh laku, anda perlu memautkannya dengan yang diperlukan
perpustakaan, sama seperti untuk C atau C++. Pemaut secara lalai mencari fungsi global bernama
"utama". Memandangkan Java tidak mempunyai fungsi global, dan koleksi kelas Java mungkin
mempunyai lebih daripada satu kelas dengan kaedah "utama", anda perlu memberitahu pemaut yang mana
kaedah "utama" yang sepatutnya digunakan semasa memulakan aplikasi. Anda boleh melakukannya dalam
mana-mana cara ini:

* Tentukan kelas yang mengandungi kaedah "utama" yang dikehendaki apabila anda memautkan aplikasi,
menggunakan bendera "--main", yang diterangkan di bawah.

* Pautkan pakej Java ke perpustakaan kongsi (dll) dan bukannya boleh laku. Kemudian
gunakan aplikasi menggunakan program "gij", memastikan bahawa "gij" boleh mencari
perpustakaan yang diperlukannya.

* Pautkan pakej Java dengan bendera "-lgij", yang memaut dalam rutin "utama".
daripada arahan "gij". Ini membolehkan anda memilih kelas yang kaedah "utama" anda
mahu dijalankan apabila anda menjalankan aplikasi. Anda juga boleh menggunakan bendera "gij" lain, seperti
Bendera "-D" untuk menetapkan sifat. Menggunakan perpustakaan "-lgij" (bukannya "gij"
program mekanisme sebelumnya) mempunyai beberapa kelebihan: ia serasi dengan statik
memaut, dan tidak memerlukan konfigurasi atau pemasangan perpustakaan.

Pilihan "gij" ini berkaitan dengan memautkan boleh laku:

--utama=NAMA KELAS
Pilihan ini digunakan apabila memaut untuk menentukan nama kelas yang kaedah "utama".
harus digunakan apabila boleh laku yang terhasil dijalankan.

-Dnama[=nilai]
Pilihan ini hanya boleh digunakan dengan "--main". Ia mentakrifkan sifat sistem bernama nama
dengan nilai nilai. Jika nilai tidak ditentukan maka ia lalai kepada rentetan kosong.
Sifat sistem ini dimulakan pada permulaan program dan boleh diambil semula
pada masa jalan menggunakan kaedah "java.lang.System.getProperty".

-lgij
Cipta aplikasi yang pemprosesan baris perintahnya ialah perintah "gij".

Pilihan ini adalah alternatif untuk menggunakan "--main"; anda tidak boleh menggunakan kedua-duanya.

-statik-libgcj
Pilihan ini menyebabkan pemautan dilakukan terhadap versi statik masa jalan libgcj
perpustakaan. Pilihan ini hanya tersedia jika sokongan pemaut yang sepadan wujud.

Amaran: Pautan statik libgcj boleh menyebabkan bahagian penting libgcj ditinggalkan.
Beberapa bahagian libgcj menggunakan refleksi untuk memuatkan kelas pada masa jalan. Oleh kerana penyambung melakukannya
tidak melihat rujukan ini pada masa pautan, ia boleh meninggalkan kelas yang dirujuk. The
keputusan biasanya (tetapi tidak selalu) "ClassNotFoundException" yang dilemparkan semasa runtime.
Berhati-hati mesti digunakan apabila menggunakan pilihan ini. Untuk butiran lanjut lihat:
<http://gcc.gnu.org/wiki/Statically%20memautkan%20libgcj>

Kod Generasi
Selain ramai gcc pilihan mengawal penjanaan kod, gcj mempunyai beberapa pilihan
khusus kepada dirinya sendiri.

-C Pilihan ini digunakan untuk memberitahu gcj untuk menjana bytecode (.kelas fail) dan bukannya objek
kod.

--sumber nama sumber
Pilihan ini digunakan untuk memberitahu gcj untuk menyusun kandungan fail yang diberikan kepada kod objek
jadi ia boleh diakses semasa runtime dengan pengendali protokol teras sebagai teras:/sumber-
nama. Perhatikan bahawa nama sumber ialah nama sumber seperti yang ditemui pada masa jalan; untuk
contohnya, ia boleh digunakan dalam panggilan ke "ResourceBundle.getBundle". Fail sebenar
nama yang hendak disusun dengan cara ini mesti dinyatakan secara berasingan.

-ftarget=VERSION
Ini boleh digunakan dengan -C untuk memilih versi bytecode yang dipancarkan oleh gcj. Yang
lalai adalah 1.5. Apabila tidak menjana bytecode, pilihan ini tidak mempunyai kesan.

-d direktori
Apabila digunakan dengan "-C", ini menyebabkan semua dijana .kelas fail untuk dimasukkan ke dalam
subdirektori yang sesuai bagi direktori. Secara lalai mereka akan dimasukkan ke dalam subdirektori
daripada direktori kerja semasa.

-fno-bounds-check
Secara lalai, gcj menjana kod yang menyemak sempadan semua pengindeksan tatasusunan
operasi. Dengan pilihan ini, semakan ini ditinggalkan, yang boleh meningkatkan prestasi
untuk kod yang menggunakan tatasusunan secara meluas. Ambil perhatian bahawa ini boleh mengakibatkan tidak dapat diramalkan
tingkah laku jika kod yang dipersoalkan sebenarnya melanggar kekangan sempadan tatasusunan. Ia
selamat untuk menggunakan pilihan ini jika anda pasti bahawa kod anda tidak akan membuang
"ArrayIndexOutOfBoundsException".

-fno-store-check
Jangan jana semakan kedai tatasusunan. Apabila menyimpan objek ke dalam tatasusunan, semakan masa jalan
biasanya dijana untuk memastikan objek itu serasi dengan tugasan
jenis komponen tatasusunan (yang mungkin tidak diketahui pada masa penyusunan). Dengan ini
pilihan, semakan ini ditinggalkan. Ini boleh meningkatkan prestasi untuk kod yang disimpan
objek ke dalam tatasusunan dengan kerap. Ia adalah selamat untuk menggunakan pilihan ini jika anda pasti anda
kod tidak akan membuang "ArrayStoreException".

-fjni
Dengan gcj terdapat dua pilihan untuk menulis kaedah asli: CNI dan JNI. Secara lalai
gcj menganggap anda menggunakan CNI. Jika anda sedang menyusun kelas dengan kaedah asli, dan
kaedah ini dilaksanakan menggunakan JNI, maka anda mesti menggunakan "-fjni". Pilihan ini
sebab-sebab gcj untuk menjana stub yang akan menggunakan kaedah asas JNI.

-fno-menegaskan
Tidak mengenali kata kunci "assert". Ini adalah untuk keserasian dengan versi lama
daripada spesifikasi bahasa.

-fno-optimize-static-class-initialization
Apabila tahap pengoptimuman lebih besar atau sama dengan "-O2", gcj akan cuba mengoptimumkan
cara panggilan ke dalam masa jalan dibuat untuk memulakan kelas statik pada penggunaan pertamanya
(pengoptimuman ini tidak dijalankan jika "-C" ditentukan.) Apabila menyusun kepada asli
kod, "-fno-optimize-static-class-initialization" akan mematikan pengoptimuman ini,
tanpa mengira tahap pengoptimuman yang digunakan.

--disable-assertions[=kelas-atau-pakej]
Jangan sertakan kod untuk menyemak penegasan dalam kod yang disusun. Jika
"=kelas-atau-pakej" tiada melumpuhkan penjanaan kod penegasan untuk semua kelas,
melainkan ditindih oleh bendera "--dayakan-penegasan" yang lebih khusus. Jika kelas-atau-pakej
ialah nama kelas, hanya melumpuhkan penjanaan semakan penegasan dalam kelas yang dinamakan atau
kelas dalamannya. Jika kelas-atau-pakej ialah nama pakej, melumpuhkan penjanaan
semakan penegasan dalam pakej yang dinamakan atau subpakej.

Secara lalai, penegasan didayakan apabila menjana fail kelas atau apabila tidak mengoptimumkan,
dan dilumpuhkan apabila menjana binari yang dioptimumkan.

--dayakan-penegasan[=kelas-atau-pakej]
Menghasilkan kod untuk menyemak dakwaan. Pilihan itu mungkin salah nama, kerana anda masih perlukan
untuk menghidupkan semakan penegasan pada masa jalankan, dan kami tidak menyokong sebarang cara mudah untuk dilakukan
itu. Jadi bendera ini belum begitu berguna lagi, kecuali untuk menimpa sebahagiannya
"--lumpuhkan-penegasan".

-findirect-dispatch
gcj mempunyai ABI keserasian binari khas, yang didayakan oleh
Pilihan "-findirect-dispatch". Dalam mod ini, kod yang dihasilkan oleh gcj menghormati
jaminan keserasian binari dalam Spesifikasi Bahasa Java, dan hasilnya
fail objek tidak perlu dipautkan secara langsung terhadap kebergantungan mereka. Sebaliknya,
semua kebergantungan dilihat pada masa jalan. Ini membolehkan pencampuran percuma tafsiran dan
kod yang disusun.

Ambil perhatian bahawa, pada masa ini, "-findirect-dispatch" hanya boleh digunakan semasa menyusun .kelas
fail. Ia tidak akan berfungsi apabila menyusun daripada sumber. CNI juga belum bekerja dengannya
keserasian binari ABI. Sekatan ini akan ditarik balik pada masa hadapan
melepaskan.

Walau bagaimanapun, jika anda menyusun kod CNI dengan ABI standard, anda boleh memanggilnya daripada kod
dibina dengan keserasian binari ABI.

-kelas-fbootstrap
Pilihan ini boleh digunakan untuk memberitahu "libgcj" bahawa kelas yang disusun harus dimuatkan oleh
pemuat bootstrap, bukan pemuat kelas sistem. Secara lalai, jika anda menyusun kelas
dan memautkannya ke dalam boleh laku, ia akan dianggap seolah-olah ia dimuatkan menggunakan
pemuat kelas sistem. Ini mudah, kerana ia bermakna perkara seperti
"Class.forName()" akan mencari KELAS untuk mencari kelas yang dikehendaki.

-freduced-pantulan
Pilihan ini menyebabkan kod yang dihasilkan oleh gcj untuk mengandungi jumlah kelas yang dikurangkan
meta-data yang digunakan untuk menyokong refleksi masa jalan. Kos penjimatan ini adalah kerugian
keupayaan untuk menggunakan keupayaan pantulan tertentu bagi masa jalan Java standard
persekitaran. Apabila menetapkan semua meta-data kecuali yang diperlukan untuk mendapatkan yang betul
semantik runtime dihapuskan.

Untuk kod yang tidak menggunakan pantulan (iaitu bersiri, RMI, CORBA atau kaedah panggilan
dalam pakej "java.lang.reflect")), "-freduced-reflection" akan menghasilkan yang betul
operasi dengan penjimatan dalam saiz kod boleh laku.

JNI ("-fjni") dan keserasian binari ABI ("-findirect-dispatch") tidak berfungsi
dengan betul tanpa meta-data refleksi penuh. Kerana ini, ia adalah ralat untuk digunakan
pilihan ini dengan "-freduced-reflection".

Amaran: Jika tiada meta-data pantulan, kod yang menggunakan "SecurityManager" boleh
tidak berfungsi dengan baik. Juga memanggil "Class.forName()" mungkin gagal jika kaedah panggilan mempunyai
tiada meta-data refleksi.

Konfigurasi-masa Pilihan
Sesetengah gcj pilihan penjanaan kod mempengaruhi ABI yang terhasil, dan begitu juga
diberikan secara bermakna apabila "libgcj", pakej masa jalan, dikonfigurasikan. "libgcj" meletakkan
pilihan yang sesuai daripada kumpulan ini kepada a spec fail yang dibaca oleh gcj. Pilihan ini
disenaraikan di sini untuk kesempurnaan; jika anda menggunakan "libgcj" maka anda tidak mahu menyentuh
pilihan ini.

-fius-boehm-gc
Ini membolehkan penggunaan kod penanda peta bit Boehm GC. Khususnya ini menyebabkan
gcj untuk meletakkan deskriptor penanda objek ke dalam setiap vtable.

-fhash-penyegerakan
Secara lalai, data penyegerakan (data yang digunakan untuk "segerakkan", "tunggu", dan
"memberitahu") ditunjuk dengan perkataan dalam setiap objek. Dengan pilihan ini gcj menganggap bahawa
maklumat ini disimpan dalam jadual cincang dan bukan dalam objek itu sendiri.

-fius-bahagi-subrutin
Pada sesetengah sistem, rutin perpustakaan dipanggil untuk melaksanakan pembahagian integer. Ini adalah
diperlukan untuk mendapatkan pengendalian pengecualian yang betul apabila membahagi dengan sifar.

-fcheck-rujukan
Pada sesetengah sistem adalah perlu untuk memasukkan semakan sebaris apabila mengakses objek
melalui rujukan. Pada sistem lain anda tidak memerlukan ini kerana penunjuk nol mengakses
ditangkap secara automatik oleh pemproses.

-fius-atom-terbina
Pada sesetengah sistem, GCC boleh menjana kod untuk operasi atom terbina dalam. Guna ini
pilihan untuk memaksa gcj menggunakan binaan ini semasa menyusun kod Java. Di mana ini
keupayaan hadir ia harus dikesan secara automatik, jadi anda biasanya tidak memerlukannya
untuk menggunakan pilihan ini.

Gunakan mips-linux-gnu-gcj-5 dalam talian menggunakan perkhidmatan onworks.net


Ad


Ad

Program dalam talian Linux & Windows terkini