EnglishFrenchGermanItalianPortugueseRussianSpanish

favorit OnWorks

mips64el-linux-gnuabi64-gcj - Online di Cloud

Jalankan mips64el-linux-gnuabi64-gcj di penyedia hosting gratis OnWorks melalui Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS

Ini adalah perintah mips64el-linux-gnuabi64-gcj yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS

PROGRAM:

NAMA


gcj - Kompiler terdepan untuk bahasa Java

RINGKASAN


gcj [-Idir...] [-d dir...]
[--CLASSPATH=path] [--classpath=path]
[-fpilihan...] [--pengkodean=nama]
[--utama=nama kelas] [-Dnama[=nilai]...]
[-C] [--sumber nama Sumberdaya] [-d direktori]
[-Wmemperingatkan...]
sumber data...

DESKRIPSI


As gcj hanyalah ujung depan untuk gcc, ini mendukung banyak opsi yang sama dengan gcc.
Manual ini hanya mendokumentasikan opsi khusus untuk gcj.

PILIHAN


Memasukkan serta keluaran arsip
A gcj perintahnya seperti a gcc perintah, karena terdiri dari sejumlah opsi dan file
nama. Jenis nama file input berikut ini didukung:

fillet.Jawa
File sumber Java.

fillet.kelas
File bytecode Java.

filletZip.
fillet.jar
Arsip yang berisi satu atau lebih file ".class", yang semuanya dikompilasi. NS
arsip dapat dikompresi. File dalam arsip yang tidak diakhiri dengan .kelas adalah
diperlakukan sebagai file sumber daya; mereka dikompilasi ke dalam file objek yang dihasilkan sebagai inti:
URL.

@fillet
File yang berisi daftar nama file input yang dipisahkan spasi. (Saat ini, ini
semua harus berupa file sumber ".java", tetapi itu dapat berubah.) Setiap file bernama dikompilasi,
seolah-olah berada di baris perintah.

perpustakaan.a
perpustakaan.begitu
-lnama lib
Perpustakaan untuk digunakan saat menautkan. Lihat gcc Buku Pegangan.

Anda dapat menentukan lebih dari satu file input di gcj baris perintah, dalam hal ini mereka akan
semua dikompilasi. Jika Anda menentukan "-o NAMA FILE" pilihan, semua file input akan menjadi
dikompilasi bersama, menghasilkan file output tunggal, bernama NAMA FILE. Ini bahkan diperbolehkan
saat menggunakan "-S" atau "-c", tetapi tidak saat menggunakan "-C" atau "--resource". (Ini adalah ekstensi
di luar dataran apa gcc memungkinkan.) (Jika lebih dari satu file input ditentukan, semua harus
saat ini menjadi file ".java", meskipun kami berharap dapat memperbaikinya.)

Memasukkan Opsi
gcj memiliki opsi untuk mengontrol di mana tampilannya untuk menemukan file yang dibutuhkan. Contohnya, gcj mungkin
perlu memuat kelas yang direferensikan oleh file yang telah diminta untuk dikompilasi. Suka
compiler lain untuk bahasa Java, gcj memiliki gagasan tentang kelas path. Ada
beberapa opsi dan variabel lingkungan yang dapat digunakan untuk memanipulasi jalur kelas.
Ketika gcj mencari kelas tertentu, ia mencari jalur kelas mencari kecocokan .kelas
or .Jawa file. gcj dilengkapi dengan jalur kelas bawaan yang menunjuk ke yang diinstal
libgcj.jar, file yang berisi semua kelas standar.

Dalam teks di bawah ini, direktori atau komponen jalur dapat merujuk ke direktori yang sebenarnya
pada sistem file, atau ke a Zip. or .jar file, yang gcj akan mencari seolah-olah itu adalah
direktori.

-Idir
Semua direktori yang ditentukan oleh "-I" disimpan secara berurutan dan ditambahkan ke jalur kelas
dibangun dari semua pilihan lain. Kecuali kompatibilitas dengan alat seperti "javac"
penting, kami sarankan untuk selalu menggunakan "-I" daripada opsi lain untuk
memanipulasi jalur kelas.

--classpath=path
Ini menetapkan jalur kelas ke path, daftar jalur yang dipisahkan titik dua (pada berbasis Windows
sistem, daftar jalur yang dipisahkan titik koma). Ini tidak menimpa builtin
("boot") jalur pencarian.

--CLASSPATH=path
Sinonim yang tidak digunakan lagi untuk "--classpath".

--bootclasspath=path
Di mana menemukan kelas bawaan standar, seperti "java.lang.String".

--extdirs=path
Untuk setiap direktori di path, letakkan konten direktori itu di akhir
jalur kelas.

KELAS
Ini adalah variabel lingkungan yang menyimpan daftar jalur.

Jalur kelas terakhir dibangun seperti ini:

* Pertama datang semua direktori yang ditentukan melalui "-I".

* Jika --classpath ditentukan, nilainya ditambahkan. Jika tidak, jika "CLASSPATH"
variabel lingkungan ditentukan, kemudian nilainya ditambahkan. Jika tidak, arus
direktori (".") ditambahkan.

* Jika "--bootclasspath" telah ditentukan, tambahkan nilainya. Jika tidak, tambahkan built-in
direktori sistem, libgcj.jar.

* Akhirnya, jika "--extdirs" ditentukan, tambahkan konten yang ditentukan
direktori di akhir jalur kelas. Jika tidak, tambahkan konten
built-in extdirs di "$(prefix)/share/Java/ext".

File kelas yang dibangun oleh gcj untuk kelas "java.lang.Object" (dan ditempatkan di "libgcj.jar")
berisi atribut panjang nol khusus "gnu.gcj.gcj-compiled". Kompiler mencari
atribut ini saat memuat "java.lang.Object" dan akan melaporkan kesalahan jika tidak ditemukan,
kecuali jika dikompilasi ke bytecode (opsi "-fforce-classes-archive-check" dapat digunakan untuk
menimpa perilaku ini dalam kasus khusus ini.)

-fforce-classes-archive-check
Ini memaksa kompiler untuk selalu memeriksa atribut panjang nol khusus
"gnu.gcj.gcj-compiled" di "java.lang.Object" dan mengeluarkan kesalahan jika tidak ditemukan.

-sumber=VERSION
Opsi ini digunakan untuk memilih versi sumber yang diterima oleh gcj. Standarnya adalah 1.5.

Encode
Bahasa pemrograman Java menggunakan Unicode secara keseluruhan. Dalam upaya untuk berintegrasi dengan baik
dengan lokal lainnya, gcj memungkinkan .Jawa file yang akan ditulis menggunakan hampir semua pengkodean. gcj
tahu bagaimana mengubah penyandian ini menjadi penyandian internal pada waktu kompilasi.

Anda dapat menggunakan "--encoding=NAMA" opsi untuk menentukan pengkodean (dari karakter tertentu
set) untuk digunakan untuk file sumber. Jika ini tidak ditentukan, penyandian default berasal dari
lokal Anda saat ini. Jika sistem host Anda tidak memiliki dukungan lokal yang memadai, maka gcj
mengasumsikan pengkodean default menjadi UTF-8 pengkodean Unicode.

Untuk mengimplementasikan "--encoding", gcj cukup menggunakan rutinitas konversi "iconv" platform host.
Ini berarti bahwa dalam praktek gcj dibatasi oleh kemampuan platform host.

Nama yang diperbolehkan untuk argumen "--encoding" bervariasi dari platform ke platform (karena mereka
tidak terstandarisasi di mana pun). Namun, gcj mengimplementasikan pengkodean bernama UTF-8
secara internal, jadi jika Anda memilih untuk menggunakan ini untuk file sumber Anda, Anda dapat yakin bahwa itu
akan bekerja pada setiap host.

Peringatan
gcj menerapkan beberapa peringatan. Seperti generik lainnya gcc peringatan, jika opsi dari
form "-Wfoo" mengaktifkan peringatan, lalu "-Wno-foo" akan menonaktifkannya. Di sini kami telah memilih untuk
mendokumentasikan bentuk peringatan yang akan berpengaruh -- defaultnya adalah
kebalikan dari yang tercantum.

-Wredundant-modifier
Dengan bendera ini, gcj akan memperingatkan tentang pengubah yang berlebihan. Misalnya, itu akan memperingatkan
jika metode antarmuka dinyatakan "publik".

-Wextraneous-titik koma
Ini menyebabkan gcj untuk memperingatkan tentang pernyataan kosong. Pernyataan kosong telah
usang.

-Tidak ketinggalan zaman
Pilihan ini akan menyebabkan gcj untuk tidak memperingatkan ketika file sumber lebih baru dari pencocokannya
berkas kelas. Secara default gcj akan memperingatkan tentang ini.

-Tidak digunakan lagi
Peringatkan jika kelas, metode, atau bidang yang tidak digunakan lagi dirujuk.

-Tidak digunakan
Ini sama dengan gcc's "-Wunused".

-Dinding
Ini sama dengan "-Wredundant-modifiers -Wextraneous-semicolon -Wunused".

Menghubungkan
Untuk mengubah aplikasi Java menjadi program yang dapat dieksekusi, Anda perlu menautkannya dengan yang diperlukan
perpustakaan, seperti untuk C atau C++. Linker secara default mencari fungsi global bernama
"utama". Karena Java tidak memiliki fungsi global, dan kumpulan kelas Java mungkin
memiliki lebih dari satu kelas dengan metode "utama", Anda harus memberi tahu tautan yang mana dari
metode "utama" yang harus dipanggil saat memulai aplikasi. Anda bisa melakukannya di
salah satu cara ini:

* Tentukan kelas yang berisi metode "utama" yang diinginkan saat Anda menautkan aplikasi,
menggunakan flag "--main", yang dijelaskan di bawah ini.

* Tautkan paket Java ke perpustakaan bersama (dll) daripada executable. Kemudian
aktifkan aplikasi menggunakan program "gij", pastikan "gij" dapat menemukan
perpustakaan yang dibutuhkannya.

* Tautkan paket-paket Java dengan tanda "-lgij", yang tertaut dalam rutin "utama"
dari perintah "gij". Ini memungkinkan Anda untuk memilih kelas yang metode "utama"-nya Anda
ingin dijalankan ketika Anda menjalankan aplikasi. Anda juga dapat menggunakan bendera "gij" lainnya, seperti
Bendera "-D" untuk mengatur properti. Menggunakan perpustakaan "-lgij" (bukan "gij"
program mekanisme sebelumnya) memiliki beberapa keunggulan: kompatibel dengan statis
menautkan, dan tidak memerlukan konfigurasi atau penginstalan pustaka.

Opsi "gij" ini terkait dengan menautkan yang dapat dieksekusi:

--main=NAMA KELAS
Opsi ini digunakan saat menautkan untuk menentukan nama kelas yang metode "utamanya"
harus dipanggil ketika executable yang dihasilkan dijalankan.

-Dnama[=nilai]
Opsi ini hanya dapat digunakan dengan "--main". Ini mendefinisikan properti sistem bernama nama
dengan nilai nilai. Jika nilai tidak ditentukan maka defaultnya adalah string kosong.
Properti sistem ini diinisialisasi pada startup program dan dapat diambil
saat runtime menggunakan metode "java.lang.System.getProperty".

-lgij
Buat aplikasi yang pemrosesan baris perintahnya adalah dari perintah "gij".

Opsi ini merupakan alternatif untuk menggunakan "--main"; Anda tidak dapat menggunakan keduanya.

-static-libgcj
Opsi ini menyebabkan penautan dilakukan terhadap versi statis runtime libgcj
Perpustakaan. Opsi ini hanya tersedia jika ada dukungan penaut yang sesuai.

Peringatan: Penautan statis libgcj dapat menyebabkan bagian penting dari libgcj dihilangkan.
Beberapa bagian libgcj menggunakan refleksi untuk memuat kelas saat runtime. Karena tautannya melakukannya
tidak melihat referensi ini pada waktu tautan, itu dapat menghilangkan kelas yang dirujuk. NS
hasilnya biasanya (tetapi tidak selalu) "ClassNotFoundException" dilemparkan saat runtime.
Perhatian harus digunakan saat menggunakan opsi ini. Untuk lebih jelasnya lihat:
<http://gcc.gnu.org/wiki/Statically%20linking%20libgcj>

Kode Generasi
Selain banyak gcc opsi mengendalikan pembuatan kode, gcj memiliki beberapa pilihan
khusus untuk dirinya sendiri.

-C Opsi ini digunakan untuk memberitahu gcj untuk menghasilkan bytecode (.kelas file) daripada objek
kode.

--sumber nama Sumberdaya
Opsi ini digunakan untuk memberitahu gcj untuk mengkompilasi konten file yang diberikan ke kode objek
sehingga dapat diakses saat runtime dengan pengendali protokol inti sebagai inti:/sumber-
nama. Catat itu nama Sumberdaya adalah nama sumber daya yang ditemukan saat runtime; untuk
misalnya, itu bisa digunakan dalam panggilan ke "ResourceBundle.getBundle". File sebenarnya
nama yang akan dikompilasi dengan cara ini harus ditentukan secara terpisah.

-ftarget=VERSION
Ini dapat digunakan dengan -C untuk memilih versi bytecode yang dipancarkan oleh gcj. itu
defaultnya adalah 1.5. Saat tidak menghasilkan bytecode, opsi ini tidak berpengaruh.

-d direktori
Saat digunakan dengan "-C", ini menyebabkan semua dihasilkan .kelas file yang akan dimasukkan ke dalam
subdirektori yang sesuai dari direktori. Secara default mereka akan dimasukkan ke dalam subdirektori
dari direktori kerja saat ini.

-fno-batas-cek
Secara default, gcj menghasilkan kode yang memeriksa batas semua pengindeksan array
operasi. Dengan opsi ini, pemeriksaan ini dihilangkan, yang dapat meningkatkan kinerja
untuk kode yang menggunakan array secara ekstensif. Perhatikan bahwa ini dapat mengakibatkan hal yang tidak terduga
perilaku jika kode yang dimaksud benar-benar melanggar batasan batasan array. Dia
aman untuk menggunakan opsi ini jika Anda yakin bahwa kode Anda tidak akan pernah muncul
"ArrayIndexOutOfBoundsException".

-fno-toko-cek
Jangan buat pemeriksaan penyimpanan array. Saat menyimpan objek ke dalam array, pemeriksaan runtime
biasanya dihasilkan untuk memastikan bahwa objek tersebut sesuai dengan tugas
jenis komponen array (yang mungkin tidak diketahui pada waktu kompilasi). Dengan ini
pilihan, pemeriksaan ini dihilangkan. Ini dapat meningkatkan kinerja untuk kode yang disimpan
objek ke dalam array sering. Aman menggunakan opsi ini jika Anda yakin
kode tidak akan pernah melempar "ArrayStoreException".

-fjni
Dengan gcj ada dua opsi untuk menulis metode asli: CNI dan JNI. Secara default
gcj mengasumsikan Anda menggunakan CNI. Jika Anda mengkompilasi kelas dengan metode asli, dan
metode ini diimplementasikan menggunakan JNI, maka Anda harus menggunakan "-fjni". Pilihan ini
penyebab gcj untuk menghasilkan stub yang akan memanggil metode JNI yang mendasarinya.

-fno-menegaskan
Tidak mengenali kata kunci "tegaskan". Ini untuk kompatibilitas dengan versi yang lebih lama
dari spesifikasi bahasa.

-fno-optimize-static-class-initialization
Ketika tingkat optimasi lebih besar atau sama dengan "-O2", gcj akan mencoba mengoptimalkan
cara panggilan ke runtime dibuat untuk menginisialisasi kelas statis pada penggunaan pertama mereka
(optimasi ini tidak dilakukan jika "-C" ditentukan.) Saat mengkompilasi ke asli
kode, "-fno-optimize-static-class-initialization" akan mematikan pengoptimalan ini,
terlepas dari tingkat pengoptimalan yang digunakan.

--nonaktifkan-pernyataan[=kelas-atau-paket]
Jangan sertakan kode untuk memeriksa pernyataan dalam kode yang dikompilasi. Jika
"=kelas-atau-paket" hilang menonaktifkan pembuatan kode pernyataan untuk semua kelas,
kecuali ditimpa oleh tanda "--enable-assertions" yang lebih spesifik. Jika kelas-atau-paket
adalah nama kelas, hanya menonaktifkan pembuatan pemeriksaan pernyataan di dalam kelas bernama atau
kelas batinnya. Jika kelas-atau-paket adalah nama paket, menonaktifkan pembuatan
pemeriksaan pernyataan dalam paket bernama atau subpaket.

Secara default, pernyataan diaktifkan saat membuat file kelas atau saat tidak mengoptimalkan,
dan dinonaktifkan saat menghasilkan binari yang dioptimalkan.

--enable-pernyataan[=kelas-atau-paket]
Menghasilkan kode untuk memeriksa pernyataan. Opsi ini mungkin salah nama, karena Anda masih membutuhkan
untuk mengaktifkan pemeriksaan pernyataan saat run-time, dan kami tidak mendukung cara mudah untuk melakukannya
itu. Jadi bendera ini belum terlalu berguna, kecuali untuk menimpa sebagian
"--nonaktifkan-pernyataan".

-findirect-pengiriman
gcj memiliki ABI kompatibilitas biner khusus, yang diaktifkan oleh
opsi "-findirect-dispatch". Dalam mode ini, kode yang dihasilkan oleh gcj menghormati
jaminan kompatibilitas biner dalam Spesifikasi Bahasa Java, dan hasilnya
file objek tidak perlu ditautkan secara langsung dengan dependensinya. Sebagai gantinya,
semua dependensi dicari saat runtime. Hal ini memungkinkan pencampuran bebas dari interpretasi dan
kode yang dikompilasi.

Perhatikan bahwa, saat ini, "-findirect-dispatch" hanya dapat digunakan saat kompilasi .kelas
file. Ini tidak akan berfungsi saat kompilasi dari sumber. CNI juga belum bekerja dengan
kompatibilitas biner ABI. Pembatasan ini akan dicabut di masa mendatang
lepaskan.

Namun, jika Anda mengkompilasi kode CNI dengan ABI standar, Anda dapat memanggilnya dari kode
dibangun dengan ABI kompatibilitas biner.

-fbootstrap-kelas
Opsi ini dapat digunakan untuk memberi tahu "libgcj" bahwa kelas yang dikompilasi harus dimuat oleh
pemuat bootstrap, bukan pemuat kelas sistem. Secara default, jika Anda mengkompilasi kelas
dan menautkannya ke dalam executable, itu akan diperlakukan seolah-olah dimuat menggunakan
pemuat kelas sistem. Ini nyaman, karena itu berarti hal-hal seperti
"Class.forName()" akan mencari KELAS untuk menemukan kelas yang diinginkan.

-refleksi-reduksi
Opsi ini menyebabkan kode yang dihasilkan oleh gcj mengandung jumlah kelas yang dikurangi
meta-data yang digunakan untuk mendukung refleksi runtime. Biaya penghematan ini adalah hilangnya
kemampuan untuk menggunakan kemampuan refleksi tertentu dari runtime Java standar
lingkungan. Saat mengatur semua meta-data kecuali yang diperlukan untuk mendapatkan yang benar
semantik runtime dihilangkan.

Untuk kode yang tidak menggunakan refleksi (yaitu serialisasi, RMI, CORBA atau metode panggilan
dalam paket "java.lang.reflect"), "-frduced-reflection" akan menghasilkan
operasi dengan penghematan dalam ukuran kode yang dapat dieksekusi.

JNI ("-fjni") dan kompatibilitas biner ABI ("-findirect-dispatch") tidak berfungsi
benar tanpa meta-data refleksi penuh. Karena itu, ini adalah kesalahan untuk digunakan
opsi ini dengan "-freduced-reflection".

Peringatan: Jika tidak ada meta-data refleksi, kode yang menggunakan "SecurityManager" mungkin
tidak bekerja dengan benar. Juga memanggil "Class.forName()" mungkin gagal jika metode pemanggilan memiliki
tidak ada meta-data refleksi.

Konfigurasi-waktu Opsi
Beberapa gcj opsi pembuatan kode memengaruhi ABI yang dihasilkan, dan hanya dapat
diberikan secara bermakna ketika "libgcj", paket runtime, dikonfigurasi. "libgcj" menempatkan
opsi yang sesuai dari grup ini menjadi a spek file yang dibaca oleh gcj. Pilihan ini
tercantum di sini untuk kelengkapan; jika Anda menggunakan "libgcj" maka Anda tidak ingin menyentuh
opsi ini.

-sekering-boehm-gc
Ini memungkinkan penggunaan kode penandaan bitmap Boehm GC. Secara khusus ini menyebabkan
gcj untuk menempatkan deskriptor penandaan objek ke dalam setiap vtable.

-fhash-sinkronisasi
Secara default, sinkronisasi data (data yang digunakan untuk "sinkronisasi", "tunggu", dan
"notify") ditunjuk oleh sebuah kata di setiap objek. Dengan opsi ini gcj mengasumsikan bahwa
informasi ini disimpan dalam tabel hash dan bukan di objek itu sendiri.

-sekering-membagi-subrutin
Pada beberapa sistem, rutin perpustakaan dipanggil untuk melakukan pembagian bilangan bulat. Ini adalah
diperlukan untuk mendapatkan penanganan pengecualian yang benar saat membagi dengan nol.

-fcheck-referensi
Pada beberapa sistem, perlu menyisipkan pemeriksaan sebaris setiap kali mengakses objek
melalui referensi. Pada sistem lain Anda tidak memerlukan ini karena pointer nol mengakses
ditangkap secara otomatis oleh prosesor.

-sekering-atom-builtin
Pada beberapa sistem, GCC dapat menghasilkan kode untuk operasi atom bawaan. Gunakan ini
opsi untuk memaksa gcj menggunakan bawaan ini saat mengkompilasi kode Java. Dimana ini
kemampuan hadir itu harus dideteksi secara otomatis, jadi Anda biasanya tidak perlu
untuk menggunakan opsi ini.

Gunakan mips64el-linux-gnuabi64-gcj online menggunakan layanan onworks.net


Ad


Ad

Program online Linux & Windows terbaru