EnglishFrenchSpanyol

Favicon OnWorks

cpp - Dalam talian dalam Awan

Jalankan cpp dalam penyedia pengehosan percuma OnWorks melalui Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS

Ini ialah cpp arahan 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


cpp - Prapemproses C

SINOPSIS


cpp [-Dmakro[=defn]...] [-Umakro]
[-Idir...] [-iquotedir...]
[-Wmemberi amaran kepada...]
[-M|-MM] [-MG] [-MF nama fail]
[-MP] [-MQ sasaran...]
[-MT sasaran...]
[-P] [-fno-working-directory]
[-x bahasa] [-std=standard]
dalam fail fail luar

Hanya pilihan yang paling berguna disenaraikan di sini; lihat di bawah untuk bakinya.

DESCRIPTION


Prapemproses C, selalunya dikenali sebagai cpp, Adalah makro pemproses yang digunakan secara automatik oleh
pengkompil C untuk mengubah atur cara anda sebelum penyusunan. Ia dipanggil makro
pemproses kerana ia membolehkan anda untuk menentukan makro, yang merupakan singkatan ringkas untuk lebih panjang
membina.

Prapemproses C bertujuan untuk digunakan hanya dengan kod sumber C, C++ dan Objektif-C.
Pada masa lalu, ia telah disalahgunakan sebagai pemproses teks umum. Ia akan tercekik input yang
tidak mematuhi peraturan leksikal C. Sebagai contoh, apostrof akan ditafsirkan sebagai
permulaan pemalar aksara, dan menyebabkan ralat. Juga, anda tidak boleh bergantung padanya
mengekalkan ciri input yang tidak penting kepada bahasa keluarga C.
Jika Makefile diproses terlebih dahulu, semua tab keras akan dialih keluar dan Makefile akan
tidak berfungsi.

Oleh itu, anda selalunya boleh terlepas menggunakan cpp pada perkara yang bukan C. Lain-lain
Bahasa pengaturcaraan Algol-ish selalunya selamat (Pascal, Ada, dll.) Begitu juga pemasangan, dengan
berhati-hati. -tradisional-cpp mod mengekalkan lebih banyak ruang putih, dan sebaliknya lebih banyak
permisif. Banyak masalah boleh dielakkan dengan menulis komen gaya C atau C++
bukannya ulasan bahasa ibunda, dan memastikan makro mudah.

Jika boleh, anda harus menggunakan prapemproses yang menjurus kepada bahasa yang anda tulis
dalam. Versi moden pemasang GNU mempunyai kemudahan makro. Tahap paling tinggi
bahasa pengaturcaraan mempunyai mekanisme penyusunan dan pemasukan bersyarat sendiri. Jika
semuanya gagal, cuba pemproses teks am yang benar, seperti GNU M4.

Prapemproses C berbeza dalam beberapa butiran. Manual ini membincangkan prapemproses GNU C, yang
menyediakan superset kecil ciri ISO Standard C. Dalam mod lalainya, GNU
C prapemproses tidak melakukan beberapa perkara yang diperlukan oleh piawai. Ini adalah ciri
yang jarang, jika pernah, digunakan, dan boleh menyebabkan perubahan yang mengejutkan pada maksud a
program yang tidak mengharapkan mereka. Untuk mendapatkan ISO Standard C yang ketat, anda harus menggunakan
-std=c90, -std=c99 or -std=c11 pilihan, bergantung pada versi standard anda
mahu. Untuk mendapatkan semua diagnostik mandatori, anda juga mesti menggunakan -pedantik.

Manual ini menerangkan tingkah laku prapemproses ISO. Untuk meminimumkan percuma
perbezaan, di mana tingkah laku prapemproses ISO tidak bercanggah dengan tradisional
semantik, prapemproses tradisional harus berkelakuan dengan cara yang sama. Pelbagai
perbezaan yang wujud diperincikan dalam bahagian Tradisional mod.

Untuk kejelasan, melainkan dinyatakan sebaliknya, rujukan kepada CPP dalam manual ini rujuk GNU CPP.

PILIHAN


Prapemproses C mengharapkan dua nama fail sebagai argumen, dalam fail and fail luar. Yang
prapemproses membaca dalam fail bersama-sama dengan mana-mana fail lain yang dinyatakan dengannya #include. Semua
output yang dijana oleh fail input gabungan ditulis dalam fail luar.

Sama ada dalam fail or fail luar mungkin -, yang sebagai dalam fail bermaksud membaca daripada input standard dan
as fail luar bermaksud menulis kepada output standard. Juga, jika mana-mana fail ditinggalkan, ini bermakna
sama seperti jika - telah ditentukan untuk fail itu.

Melainkan dinyatakan sebaliknya, atau pilihan berakhir dengan =, semua pilihan yang mengambil hujah boleh
minta hujah itu muncul sama ada sejurus selepas pilihan, atau dengan ruang antara
pilihan dan hujah: -Ifoo and -I foo mempunyai kesan yang sama.

Banyak pilihan mempunyai nama berbilang huruf; oleh itu berbilang pilihan huruf tunggal boleh tidak be
berkumpulan: -dM sangat berbeza dari -d -M.

-D nama
Pratakrif nama sebagai makro, dengan definisi 1.

-D nama=definisi
Kandungan dari definisi ditandakan dan diproses seolah-olah ia muncul semasa
terjemahan fasa tiga dalam a #tentukan arahan. Khususnya, takrifannya ialah
dipenggal oleh aksara baris baharu yang dibenamkan.

Jika anda menggunakan prapemproses daripada program seperti shell atau shell yang anda perlukan
untuk menggunakan sintaks petikan shell untuk melindungi aksara seperti ruang yang mempunyai a
maksud dalam sintaks shell.

Jika anda ingin mentakrifkan makro seperti fungsi pada baris arahan, tulis hujahnya
senaraikan dengan kurungan sekeliling sebelum tanda sama (jika ada). Tanda kurung ialah
bermakna kepada kebanyakan cangkerang, jadi anda perlu memetik pilihan. Dengan sh and csh,
-D'nama(args...)=definisi' kerja.

-D and -U pilihan diproses mengikut susunan yang diberikan pada baris arahan. Semua
-imacros fail and -termasuk fail pilihan diproses selepas semua -D and -U pilihan.

-U nama
Batalkan sebarang takrifan sebelumnya bagi nama, sama ada terbina dalam atau disediakan dengan a -D pilihan.

-undef
Jangan pratakrif mana-mana makro khusus sistem atau khusus GCC. Piawaian yang telah ditetapkan
makro kekal ditakrifkan.

-I dir
Tambah direktori dir ke senarai direktori yang akan dicari untuk fail pengepala.

Direktori yang dinamakan oleh -I dicari sebelum sistem standard termasuk direktori.
Jika direktori dir adalah sistem standard termasuk direktori, pilihan itu diabaikan
memastikan bahawa perintah carian lalai untuk direktori sistem dan layanan khas
pengepala sistem tidak dikalahkan. Jika dir bermula dengan "=", kemudian "=" akan menjadi
digantikan dengan awalan sysroot; lihat --sysroot and -isysroot.

-o fail
Tulis output ke fail. Ini adalah sama seperti yang dinyatakan fail sebagai bukan pilihan kedua
hujah untuk cpp. gcc mempunyai tafsiran berbeza tentang hujah bukan pilihan kedua,
jadi anda mesti menggunakan -o untuk menentukan fail output.

-Dinding
Menghidupkan semua amaran pilihan yang diingini untuk kod biasa. Pada masa ini ini
is -Wkomen, -Wtrigraf, -Wmultichar dan amaran tentang promosi integer menyebabkan a
perubahan tanda masuk "#if" ungkapan. Ambil perhatian bahawa banyak amaran prapemproses
dihidupkan secara lalai dan tidak mempunyai pilihan untuk mengawalnya.

-Wkomen
-Wkomen
Beri amaran setiap kali urutan permulaan ulasan /* muncul dalam a /* komen, atau bila-bila masa a
garis serik belakang muncul dalam a // komen. (Kedua-dua bentuk mempunyai kesan yang sama.)

-Wtrigraf
Kebanyakan trigraf dalam ulasan tidak boleh menjejaskan maksud program. Walau bagaimanapun, a
trigraf yang akan membentuk baris baharu yang terlepas (??/ di hujung baris) boleh, oleh
menukar tempat komen bermula atau berakhir. Oleh itu, hanya trigraf yang akan terbentuk
baris baharu yang terlepas menghasilkan amaran di dalam ulasan.

Pilihan ini tersirat oleh -Dinding. Jika -Dinding tidak diberikan, pilihan ini masih didayakan
melainkan trigraf didayakan. Untuk mendapatkan penukaran trigraf tanpa amaran, tetapi dapatkan
yang lain -Dinding amaran, gunakan -trigraf -Dinding -Wno-trigraf.

-Wtradisional
Beri amaran tentang binaan tertentu yang berkelakuan berbeza dalam tradisional dan ISO C. Juga
memberi amaran tentang binaan ISO C yang tidak mempunyai persamaan C tradisional dan bermasalah
binaan yang harus dielakkan.

-Wundef
Beri amaran apabila pengecam yang bukan makro ditemui dalam #jika arahan,
di luar ditakrifkan. Pengecam sedemikian digantikan dengan sifar.

-Wunused-makro
Beri amaran tentang makro yang ditakrifkan dalam fail utama yang tidak digunakan. Makro ialah digunakan sekiranya ia
dikembangkan atau diuji untuk kewujudan sekurang-kurangnya sekali. Prapemproses juga akan memberi amaran jika
makro belum digunakan pada masa ia ditakrifkan semula atau tidak ditentukan.

Makro terbina dalam, makro yang ditakrifkan pada baris arahan dan makro yang ditakrifkan dalam termasuk
fail tidak diberi amaran.

Catatan: Jika makro sebenarnya digunakan, tetapi hanya digunakan dalam blok bersyarat yang dilangkau, maka
CPP akan melaporkannya sebagai tidak digunakan. Untuk mengelakkan amaran dalam kes sedemikian, anda mungkin menambah baik
skop takrifan makro dengan, sebagai contoh, memindahkannya ke yang pertama dilangkau
blok. Sebagai alternatif, anda boleh menyediakan penggunaan tiruan dengan sesuatu seperti:

#jika ditakrifkan_makro_menyebabkan_amaran
#endif

-Wendif-label
Beri amaran setiap kali an #selamat atau #endif diikuti dengan teks. Ini biasanya berlaku dalam
kod borang

#jika FOO
...
#lain FOO
...
#endif FOO

"FOO" kedua dan ketiga sepatutnya dalam ulasan, tetapi selalunya tidak berada dalam program lama.
Amaran ini dihidupkan secara lalai.

-Werror
Jadikan semua amaran menjadi kesilapan yang sukar. Kod sumber yang mencetuskan amaran adalah
ditolak.

-Wsystem-headers
Keluarkan amaran untuk kod dalam pengepala sistem. Ini biasanya tidak membantu dalam mencari
pepijat dalam kod anda sendiri, oleh itu ditindas. Jika anda bertanggungjawab ke atas sistem
perpustakaan, anda mungkin mahu melihatnya.

-w Sekat semua amaran, termasuk amaran yang dikeluarkan oleh GNU CPP secara lalai.

-pedantik
Keluarkan semua diagnostik mandatori yang disenaraikan dalam piawaian C. Sebahagian daripada mereka tinggal
keluar secara lalai, kerana ia sering mencetuskan kod tidak berbahaya.

-kesilapan-pedantik
Keluarkan semua diagnostik mandatori dan jadikan semua diagnostik mandatori menjadi ralat.
Ini termasuk diagnostik mandatori yang tidak dikeluarkan oleh GCC -pedantik tetapi memperlakukan sebagai
amaran.

-M Daripada mengeluarkan hasil prapemprosesan, keluarkan peraturan yang sesuai untuk membuat
menerangkan kebergantungan fail sumber utama. Prapemproses mengeluarkan satu
membuat peraturan yang mengandungi nama fail objek untuk fail sumber itu, titik bertindih dan nama
daripada semua fail yang disertakan, termasuk yang datang dari -termasuk or -imacros perintah-
pilihan baris.

Melainkan dinyatakan secara eksplisit (dengan -MT or -MQ), nama fail objek terdiri daripada
nama fail sumber dengan sebarang akhiran digantikan dengan akhiran fail objek dan dengan sebarang
bahagian direktori utama dialih keluar. Sekiranya terdapat banyak fail yang disertakan maka peraturannya adalah
berpecah kepada beberapa baris menggunakan \-baris baru. Peraturan itu tidak mempunyai perintah.

Pilihan ini tidak menyekat keluaran nyahpepijat prapemproses, seperti -dM. Untuk mengelakkan
mencampurkan output nyahpepijat sedemikian dengan peraturan pergantungan yang anda harus nyatakan secara eksplisit
fail output pergantungan dengan -MF, atau gunakan pembolehubah persekitaran seperti
DEPENDENCE_OUTPUT. Output nyahpepijat masih akan dihantar ke aliran keluaran biasa sebagai
Normal.

Pemergian -M kepada pemandu membayangkan -E, dan menyekat amaran dengan tersirat -w.

-MM suka -M tetapi jangan sebutkan fail pengepala yang terdapat dalam direktori pengepala sistem,
mahupun fail pengepala yang disertakan, secara langsung atau tidak langsung, daripada pengepala sedemikian.

Ini membayangkan bahawa pilihan kurungan sudut atau petikan berganda dalam #include
arahan tidak dengan sendirinya menentukan sama ada pengepala itu akan muncul -MM
keluaran pergantungan. Ini ialah sedikit perubahan dalam semantik daripada GCC versi 3.0 dan
lebih awal.

-MF fail
Apabila digunakan dengan -M or -MM, menentukan fail untuk menulis kebergantungan. Jika tidak -MF
suis diberikan prapemproses menghantar peraturan ke tempat yang sama yang akan dihantar
keluaran praproses.

Apabila digunakan dengan pilihan pemandu -MD or -MMD, -MF mengatasi kebergantungan lalai
fail keluaran.

-MG Bersempena dengan pilihan seperti -M meminta penjanaan pergantungan, -MG menganggap
fail pengepala yang hilang dijana fail dan menambahkannya ke senarai pergantungan tanpa
menimbulkan ralat. Nama fail kebergantungan diambil terus daripada "#include"
arahan tanpa menyediakan sebarang laluan. -MG juga menyekat keluaran praproses, sebagai a
fail pengepala yang hilang menjadikan ini tidak berguna.

Ciri ini digunakan dalam pengemaskinian automatik makefiles.

-MP Pilihan ini mengarahkan CPP untuk menambah sasaran palsu untuk setiap kebergantungan selain daripada
fail utama, menyebabkan masing-masing tidak bergantung pada apa-apa. Peraturan dummy ini mengatasi ralat
membuat memberi jika anda mengalih keluar fail pengepala tanpa mengemas kini Makefile untuk memadankan.

Ini adalah output biasa:

ujian.o: ujian.c ujian.h

test.h:

-MT sasaran
Tukar sasaran peraturan yang dikeluarkan oleh penjanaan pergantungan. Secara lalai CPP mengambil
nama fail input utama, memadam sebarang komponen direktori dan sebarang akhiran fail
seperti .c, dan menambahkan akhiran objek biasa platform. Hasilnya adalah sasaran.

An -MT pilihan akan menetapkan sasaran tepat pada rentetan yang anda tentukan. Jika anda mahu
berbilang sasaran, anda boleh menentukannya sebagai satu hujah untuk -MT, atau gunakan berbilang
-MT pilihan.

Sebagai contoh, -MT '$(objpfx)foo.o' mungkin memberi

$(objpfx)foo.o: foo.c

-MQ sasaran
Sama seperti -MT, tetapi ia memetik mana-mana aksara yang istimewa untuk Dibuat.
-MQ '$(objpfx)foo.o' memberikan

$$(objpfx)foo.o: foo.c

Sasaran lalai dipetik secara automatik, seolah-olah ia diberikan dengan -MQ.

-MD -MD adalah bersamaan dengan -M -MF fail, kecuali itu -E tidak tersirat. Pemandu itu
menentukan fail berdasarkan sama ada an -o pilihan diberi. Jika ya, pemandu menggunakannya
hujah tetapi dengan akhiran daripada .d, jika tidak, ia mengambil nama fail input,
mengalih keluar sebarang komponen direktori dan akhiran, dan menggunakan a .d akhiran.

If -MD digunakan bersama dengan -E, ada -o suis difahami untuk menentukan
fail output kebergantungan, tetapi jika digunakan tanpa -E, masing-masing -o difahami untuk menyatakan a
fail objek sasaran.

Sejak -E tidak tersirat, -MD boleh digunakan untuk menjana fail output kebergantungan sebagai a
kesan sampingan proses penyusunan.

-MMD
suka -MD kecuali menyebut fail pengepala pengguna sahaja, bukan fail pengepala sistem.

-x c
-x C ++
-x objektif-c
-x pemasang-dengan-cpp
Tentukan bahasa sumber: C, C++, Objektif-C atau perhimpunan. Ini tiada kena mengena
dengan pematuhan piawai atau lanjutan; ia hanya memilih sintaks asas yang mana
jangkakan. Jika anda tidak memberikan pilihan ini, cpp akan menyimpulkan bahasa daripada
sambungan fail sumber: .c, . Cc, .m, Atau .S. Beberapa sambungan biasa lain untuk
C++ dan pemasangan juga diiktiraf. Jika cpp tidak mengenali sambungan, ia
akan menganggap fail sebagai C; ini adalah mod yang paling generik.

Catatan: Versi cpp sebelumnya diterima a -bahasa pilihan yang memilih kedua-dua
bahasa dan tahap pematuhan piawai. Pilihan ini telah dialih keluar, kerana
ia bercanggah dengan -l pilihan.

-std=standard
-ansi
Nyatakan standard yang harus dipatuhi oleh kod tersebut. Pada masa ini CPP mengetahui tentang C
dan piawaian C++; yang lain boleh ditambah pada masa hadapan.

standard mungkin salah satu daripada:

"c90"
"c89"
"iso9899:1990"
Piawaian ISO C dari 1990. c90 ialah singkatan biasa untuk versi ini
piawaian.

. -ansi pilihan adalah bersamaan dengan -std=c90.

"iso9899:199409"
Piawaian 1990 C, seperti yang dipinda pada tahun 1994.

"iso9899:1999"
"c99"
"iso9899:199x"
"c9x"
Standard ISO C yang disemak semula, diterbitkan pada Disember 1999. Sebelum diterbitkan, ini
dikenali sebagai C9X.

"iso9899:2011"
"c11"
"c1x"
Standard ISO C yang disemak semula, diterbitkan pada Disember 2011. Sebelum diterbitkan, ini
dikenali sebagai C1X.

"gnu90"
"gnu89"
Standard 1990 C ditambah sambungan GNU. Ini adalah lalai.

"gnu99"
"gnu9x"
Standard 1999 C ditambah sambungan GNU.

"gnu11"
"gnu1x"
Standard 2011 C ditambah sambungan GNU.

"c++98"
Piawaian ISO C++ 1998 ditambah pindaan.

"gnu++98"
Sama seperti -std=c++98 ditambah sambungan GNU. Ini adalah lalai untuk kod C++.

-saya- Pisahkan laluan sertakan. Mana-mana direktori yang ditentukan dengan -I pilihan sebelum ini -saya- adalah
mencari hanya untuk pengepala yang diminta dengan "#include "fail""; mereka tidak dicari
"#termasukfail>". Jika direktori tambahan ditentukan dengan -I pilihan selepas
-saya-, direktori tersebut dicari untuk semua #include arahan.

Di samping itu, -saya- menghalang penggunaan direktori direktori fail semasa sebagai
direktori carian pertama untuk "#include "fail"".

Pilihan ini telah ditamatkan.

-nostdinc
Jangan cari direktori sistem standard untuk fail pengepala. Hanya direktori
anda telah tentukan dengan -I pilihan (dan direktori fail semasa, jika
sesuai) dicari.

-nostdinc++
Jangan cari fail pengepala dalam direktori standard khusus C++, tetapi lakukannya
cari direktori standard yang lain. (Pilihan ini digunakan semasa membina C++
perpustakaan.)

-termasuk fail
Proses fail seolah-olah "#include "file"" muncul sebagai baris pertama sumber utama
fail. Walau bagaimanapun, direktori pertama mencari fail adalah prapemproses berfungsi
direktori sebaliknya of direktori yang mengandungi fail sumber utama. Jika tidak ditemui
di sana, ia dicari dalam baki rantai carian "#include "..."" sebagai
Normal.

Sekiranya berganda -termasuk pilihan diberikan, fail disertakan dalam susunan mereka
muncul pada baris arahan.

-imacros fail
Betul-betul suka -termasuk, kecuali mana-mana output yang dihasilkan melalui pengimbasan fail dilemparkan
jauh. Makro yang ditakrifkannya kekal ditakrifkan. Ini membolehkan anda memperoleh semua makro
daripada pengepala tanpa juga memproses pengisytiharannya.

Semua fail yang ditentukan oleh -imacros diproses sebelum semua fail ditentukan oleh -termasuk.

-idirafter dir
Cari dir untuk fail pengepala, tetapi lakukannya selepas semua direktori yang ditentukan dengan -I dan juga
direktori sistem standard telah habis. dir dianggap sebagai sistem termasuk
direktori. Jika dir bermula dengan "=", kemudian "=" akan digantikan oleh sysroot
awalan; lihat --sysroot and -isysroot.

-iprefix awalan
Tentukan awalan sebagai awalan untuk seterusnya -idengan awalan pilihan. Jika awalan
mewakili direktori, anda harus memasukkan yang terakhir /.

-idengan awalan dir
-idengan awalan sebelum dir
Tambah dir kepada awalan yang dinyatakan sebelum ini dengan -iprefix, dan tambahkan yang terhasil
direktori ke laluan carian sertakan. -idengan awalan sebelum meletakkannya di tempat yang sama -I
akan; -idengan awalan meletakkannya di mana -idirafter akan.

-isysroot dir
Pilihan ini adalah seperti --sysroot pilihan, tetapi terpakai hanya pada fail pengepala (kecuali untuk
Sasaran Darwin, di mana ia digunakan untuk kedua-dua fail pengepala dan perpustakaan). Lihat
--sysroot pilihan untuk maklumat lanjut.

-imultilib dir
Penggunaan dir sebagai subdirektori direktori yang mengandungi pengepala C++ khusus sasaran.

-isistem dir
Cari dir untuk fail pengepala, selepas semua direktori yang ditentukan oleh -I tetapi sebelum
direktori sistem standard. Tandainya sebagai direktori sistem, supaya ia menjadi sama
layanan khas seperti yang digunakan pada direktori sistem standard.

If dir bermula dengan "=", kemudian "=" akan digantikan dengan awalan sysroot; lihat
--sysroot and -isysroot.

-iquote dir
Cari dir hanya untuk fail pengepala yang diminta dengan "#include "fail""; mereka tidak
mencari "#includefail>", sebelum semua direktori yang ditentukan oleh -I dan sebelum
direktori sistem standard.

If dir bermula dengan "=", kemudian "=" akan digantikan dengan awalan sysroot; lihat
--sysroot and -isysroot.

-fdirectives-sahaja
Semasa prapemprosesan, kendalikan arahan, tetapi jangan kembangkan makro.

Tingkah laku pilihan bergantung pada -E and -fpraproses pilihan.

Dengan -E, prapemprosesan terhad kepada pengendalian arahan seperti "#define",
"#ifdef", dan "#error". Operasi prapemproses lain, seperti pengembangan makro dan
penukaran trigraf tidak dilakukan. Selain itu, -dD pilihan adalah secara tersirat
yang aktif.

Dengan -fpraproses, pratakrif baris arahan dan kebanyakan makro terbina ialah
kurang upaya. Makro seperti "__LINE__", yang bergantung secara kontekstual, dikendalikan
biasalah. Ini membolehkan penyusunan fail yang sebelum ini dipraproses dengan "-E
-fdirectives-sahaja".

Dengan kedua-duanya -E and -fpraproses, peraturan untuk -fpraproses diutamakan. ini
membolehkan prapemprosesan penuh fail yang sebelum ini dipraproses dengan "-E
-fdirectives-sahaja".

-fdollars-in-identifiers
Terima $ dalam pengecam.

-pengenal-diperpanjang
Terima nama aksara universal dalam pengecam. Pilihan ini didayakan secara lalai
untuk C99 (dan versi standard C yang lebih baru) dan C++.

-fno-canonical-system-headers
Semasa prapemprosesan, jangan pendekkan laluan pengepala sistem dengan kanonik.

-fpraproses
Nyatakan kepada prapemproses bahawa fail input telah pun dipraproses. ini
menyekat perkara seperti pengembangan makro, penukaran trigraf, penyambungan baris baharu yang terlepas,
dan pemprosesan kebanyakan arahan. Prapemproses masih mengecam dan mengalih keluar
komen, supaya anda boleh menghantar fail yang dipraproses dengan -C kepada penyusun tanpa
masalah. Dalam mod ini, prapemproses bersepadu adalah lebih sedikit daripada tokenizer
untuk hujung hadapan.

-fpraproses adalah tersirat jika fail input mempunyai salah satu sambungan .i, .ii or .mi.
Ini ialah sambungan yang GCC gunakan untuk fail praproses yang dibuat oleh -jimat-temps.

-ftabstop=lebar
Tetapkan jarak antara hentian tab. Ini membantu prapemproses melaporkan lajur yang betul
nombor dalam amaran atau ralat, walaupun jika tab muncul pada baris. Jika nilainya kurang
daripada 1 atau lebih daripada 100, pilihan itu diabaikan. Lalai ialah 8.

-fdebug-cpp
Pilihan ini hanya berguna untuk menyahpepijat GCC. Apabila digunakan dengan -E, membuang penyahpepijatan
maklumat tentang peta lokasi. Setiap token dalam output didahului oleh pembuangan
peta kepunyaan lokasinya. Tempat pembuangan peta yang menyimpan lokasi token
akan menjadi:

{"P":F ;"F":F ;"L": ;"C": ;"S": ;"M": ;"E": ,"loc": }

Apabila digunakan tanpa -E, pilihan ini tidak mempunyai kesan.

-ftrack-makro-pengembangan[=tahap]
Jejaki lokasi token merentas pengembangan makro. Ini membolehkan pengkompil memancarkan
diagnostik tentang timbunan pengembangan makro semasa apabila ralat kompilasi berlaku dalam
pengembangan makro. Menggunakan pilihan ini menjadikan prapemproses dan pengkompil menggunakan
lebih banyak ingatan. The tahap parameter boleh digunakan untuk memilih tahap ketepatan token
pengesanan lokasi sekali gus mengurangkan penggunaan memori jika perlu. Nilai 0 of
tahap menyahaktifkan pilihan ini seolah-olah tidak -ftrack-makro-pengembangan hadir pada
baris arahan. Nilai 1 menjejaki lokasi token dalam mod terdegradasi demi kepentingan
overhed memori minimum. Dalam mod ini semua token yang terhasil daripada pengembangan an
hujah makro seperti fungsi mempunyai lokasi yang sama. Nilai 2 menjejaki token
lokasi sepenuhnya. Nilai ini adalah memori yang paling lapar. Apabila pilihan ini diberikan
tiada hujah, nilai parameter lalai ialah 2.

Ambil perhatian bahawa "-ftrack-macro-expansion=2" diaktifkan secara lalai.

-fexec-charset=carta
Tetapkan set aksara pelaksanaan, digunakan untuk rentetan dan pemalar aksara. lalai
ialah UTF-8. carta boleh menjadi sebarang pengekodan yang disokong oleh perpustakaan "iconv" sistem
rutin.

-fwide-exec-charset=carta
Tetapkan set aksara pelaksanaan lebar, digunakan untuk rentetan lebar dan pemalar aksara.
Lalai ialah UTF-32 atau UTF-16, yang mana sepadan dengan lebar "wchar_t". Sebagai
bersama -fexec-charset, carta boleh menjadi sebarang pengekodan yang disokong oleh "iconv" sistem
rutin perpustakaan; walau bagaimanapun, anda akan menghadapi masalah dengan pengekodan yang tidak sesuai
betul-betul dalam "wchar_t".

-finput-charset=carta
Tetapkan set aksara input, digunakan untuk terjemahan daripada set aksara input
fail ke set aksara sumber yang digunakan oleh GCC. Jika tempat tidak menyatakan, atau GCC
tidak boleh mendapatkan maklumat ini dari tempat, lalainya ialah UTF-8. Ini boleh jadi
ditindih oleh sama ada tempat atau pilihan baris arahan ini. Pada masa ini perintah-
pilihan baris diutamakan jika terdapat konflik. carta boleh jadi sebarang pengekodan
disokong oleh rutin perpustakaan "iconv" sistem.

-fworking-direktori
Dayakan penjanaan penanda garis dalam output prapemproses yang akan membenarkan pengkompil
mengetahui direktori kerja semasa pada masa prapemprosesan. Apabila pilihan ini
didayakan, prapemproses akan mengeluarkan, selepas penanda garis awal, penanda garis kedua
dengan direktori kerja semasa diikuti dengan dua garis miring. GCC akan menggunakan ini
direktori, apabila ia hadir dalam input praproses, sebagai direktori yang dipancarkan sebagai
direktori kerja semasa dalam beberapa format maklumat penyahpepijatan. Pilihan ini adalah
didayakan secara tersirat jika maklumat penyahpepijatan didayakan, tetapi ini boleh dihalang dengan
bentuk yang dinafikan -fno-working-directory. Jika -P bendera hadir dalam arahan
baris, pilihan ini tidak mempunyai kesan, kerana tiada arahan "#line" dikeluarkan sama sekali.

-fno-show-lajur
Jangan cetak nombor lajur dalam diagnostik. Ini mungkin perlu jika diagnostik
diimbas oleh program yang tidak memahami nombor lajur, seperti
dejagnu.

-A predikat=jawab
Buat penegasan dengan predikat predikat dan jawapannya jawab. Borang ini adalah
lebih disukai daripada bentuk lama -A predikat(jawab), yang masih disokong, kerana ia
tidak menggunakan aksara khas shell.

-A -predikat=jawab
Batalkan penegasan dengan predikat predikat dan jawapannya jawab.

-dCHARS
CAJ ialah urutan satu atau lebih daripada aksara berikut, dan tidak boleh
didahului oleh ruang. Watak lain ditafsirkan oleh pengkompil yang betul, atau
dikhaskan untuk versi masa hadapan GCC, dan oleh itu diabaikan secara senyap. Jika anda nyatakan
watak yang tingkah lakunya bercanggah, hasilnya tidak dapat ditentukan.

M Daripada keluaran biasa, hasilkan senarai #tentukan arahan untuk semua
makro yang ditakrifkan semasa pelaksanaan prapemproses, termasuk pratakrif
makro. Ini memberi anda cara untuk mengetahui perkara yang dipratakrifkan dalam versi anda
prapemproses. Dengan mengandaikan anda tidak mempunyai fail foo.h, arahan

sentuh fo.h; cpp -dM foo.h

akan menunjukkan semua makro yang dipratentukan.

Jika anda menggunakan -dM tanpa -E pilihan, -dM ditafsirkan sebagai sinonim untuk
-fdump-rtl-mach.

D suka M kecuali dalam dua aspek: ia berlaku tidak termasuk makro yang dipratentukan, dan ia
output kedua-dua yang #tentukan arahan dan hasil prapemprosesan. Kedua-dua jenis
daripada output pergi ke fail output standard.

N suka D, tetapi hanya mengeluarkan nama makro, bukan pengembangannya.

I Output #include arahan sebagai tambahan kepada hasil prapemprosesan.

U suka D kecuali bahawa hanya makro yang dikembangkan, atau ketakrifannya diuji
dalam arahan prapemproses, adalah output; output ditangguhkan sehingga penggunaan atau
ujian makro; dan #undef arahan juga output untuk makro yang diuji tetapi
tidak ditentukan pada masa itu.

-P Menghalang penjanaan penanda garis dalam output daripada prapemproses. Ini mungkin
berguna apabila menjalankan prapemproses pada sesuatu yang bukan kod C, dan akan dihantar
kepada program yang mungkin dikelirukan oleh penanda garis.

-C Jangan buang komen. Semua komen dihantar ke fail output, kecuali
untuk ulasan dalam arahan yang diproses, yang dipadamkan bersama arahan.

Anda harus bersedia untuk kesan sampingan apabila menggunakan -C; ia menyebabkan prapemproses
menganggap komen sebagai token dalam hak mereka sendiri. Sebagai contoh, ulasan yang muncul di
permulaan apa yang akan menjadi garis arahan mempunyai kesan mengubah baris itu menjadi
talian sumber biasa, kerana token pertama pada talian itu bukan lagi a #.

-CC Jangan buang ulasan, termasuk semasa pengembangan makro. Ini seperti -C, kecuali
bahawa komen yang terkandung dalam makro juga dihantar ke fail output di mana
makro diperluaskan.

Sebagai tambahan kepada kesan sampingan -C pilihan, -CC pilihan menyebabkan semua gaya C++
ulasan di dalam makro untuk ditukar kepada ulasan gaya C. Ini untuk mengelakkan nanti
penggunaan makro itu daripada mengulas baki baris sumber secara tidak sengaja.

. -CC pilihan biasanya digunakan untuk menyokong komen lint.

-tradisional-cpp
Cuba tiru tingkah laku prapemproses C lama, berbanding ISO C
prapemproses.

-trigraf
Proses urutan trigraf.

-peta semula
Dayakan kod khas untuk bekerja di sekitar sistem fail yang hanya membenarkan fail yang sangat pendek
nama, seperti MS-DOS.

- membantu
--sasaran-bantuan
Cetak teks yang menerangkan semua pilihan baris perintah dan bukannya pramemproses apa-apa.

-v Mod bertele-tele. Cetak nombor versi GNU CPP pada permulaan pelaksanaan, dan
laporkan bentuk akhir laluan sertakan.

-H Cetak nama setiap fail pengepala yang digunakan, sebagai tambahan kepada aktiviti biasa yang lain. setiap satu
nama diinden untuk menunjukkan sejauh mana dalam #include timbunan itu. Pengepala prapenyusun
fail juga dicetak, walaupun ia didapati tidak sah; precompile yang tidak sah
fail pengepala dicetak dengan ...x dan yang sah dengan ...! .

-turun
--versi
Cetak nombor versi GNU CPP. Dengan satu sengkang, teruskan ke praproses seperti biasa.
Dengan dua sengkang, keluar segera.

PERSEKITARAN


Bahagian ini menerangkan pembolehubah persekitaran yang mempengaruhi cara CPP beroperasi. Awak boleh
gunakannya untuk menentukan direktori atau awalan untuk digunakan semasa mencari termasuk fail, atau untuk
mengawal keluaran pergantungan.

Ambil perhatian bahawa anda juga boleh menentukan tempat untuk mencari menggunakan pilihan seperti -I, dan kawalan
output pergantungan dengan pilihan seperti -M. Ini lebih diutamakan daripada pembolehubah persekitaran,
yang seterusnya diutamakan daripada konfigurasi GCC.

CPATH
C_INCLUDE_PATH
CPLUS_INNCLUDE_PATH
OBJC_INNCLUDE_PATH
Nilai setiap pembolehubah ialah senarai direktori yang dipisahkan oleh aksara khas, banyak
seperti PATH, untuk mencari fail pengepala. Watak istimewa,
"PATH_SEPARATOR", bergantung kepada sasaran dan ditentukan pada masa binaan GCC. Untuk Microsoft
Sasaran berasaskan Windows ia adalah koma bertitik, dan untuk hampir semua sasaran lain ia adalah a
usus besar.

CPATH menentukan senarai direktori untuk dicari seolah-olah ditentukan dengan -I, Tetapi
selepas mana-mana laluan yang diberikan dengan -I pilihan pada baris arahan. Pembolehubah persekitaran ini
digunakan tanpa mengira bahasa yang sedang dipraproses.

Pembolehubah persekitaran yang selebihnya digunakan hanya apabila pramemproses yang tertentu
bahasa yang ditunjukkan. Setiap satu menentukan senarai direktori yang hendak dicari seolah-olah
ditentukan dengan -isistem, tetapi selepas mana-mana laluan yang diberikan dengan -isistem pilihan pada
baris perintah.

Dalam semua pembolehubah ini, elemen kosong mengarahkan pengkompil untuk mencari semasanya
direktori kerja. Elemen kosong boleh muncul pada permulaan atau penghujung laluan. Untuk
contoh, jika nilai CPATH ialah ":/special/include", yang mempunyai kesan yang sama seperti
-Saya. -Saya/khas/termasuk.

DEPENDENCE_OUTPUT
Jika pembolehubah ini ditetapkan, nilainya menentukan cara untuk mengeluarkan kebergantungan untuk berasaskan Make
pada fail pengepala bukan sistem yang diproses oleh pengkompil. Fail pengepala sistem ialah
diabaikan dalam keluaran kebergantungan.

Nilai DEPENDENCE_OUTPUT boleh menjadi hanya nama fail, dalam hal ini peraturan Make
ditulis pada fail itu, meneka nama sasaran daripada nama fail sumber. Atau
nilai boleh mempunyai bentuk fail sasaran, dalam hal ini peraturan ditulis untuk difailkan fail
menggunakan sasaran sebagai nama sasaran.

Dalam erti kata lain, pembolehubah persekitaran ini bersamaan dengan menggabungkan pilihan -MM
and -MF, dengan pilihan -MT tukar juga.

SUNPRO_DEPENDENCY
Pembolehubah ini adalah sama seperti DEPENDENCE_OUTPUT (lihat di atas), kecuali sistem itu
fail pengepala tidak diabaikan, jadi ia membayangkan -M daripada -MM. Walau bagaimanapun
pergantungan pada fail input utama ditinggalkan.

Gunakan cpp dalam talian menggunakan perkhidmatan onworks.net


Pelayan & Stesen Kerja Percuma

Muat turun apl Windows & Linux

  • 1
    Pautan Ujian
    Pautan Ujian
    TestLink ialah Pengurusan Ujian berasaskan web
    alat. Aplikasi ini menyediakan Ujian
    spesifikasi, Pelan ujian dan pelaksanaan,
    Pelaporan, Spesifikasi keperluan
    dan ...
    Muat turun TestLink
  • 2
    XDXF - Format Pertukaran Kamus XML
    XDXF - Format Pertukaran Kamus XML
    XDXF ialah projek untuk menyatukan semua yang sedia ada
    membuka kamus dan menyediakan kedua-dua pengguna
    dan pembangun dengan berasaskan XML universal
    format, boleh tukar dari dan ke lain...
    Muat turun XDXF - Format Pertukaran Kamus XML
  • 3
    GUI Jauh Transmisi
    GUI Jauh Transmisi
    GUI Jauh Transmisi ialah ciri
    platform silang yang kaya bahagian hadapan ke
    mengawal Transmisi dari jauh
    Daemon pelanggan Bit-Torrent melalui RPCnya
    protokol. Transmisi...
    Muat turun GUI Jauh Transmisi
  • 4
    s3cmd
    s3cmd
    Alat sumber terbuka untuk mengakses Amazon S3
    penyimpanan fail. S3cmd ialah arahan percuma
    alat talian dan pelanggan untuk memuat naik,
    mendapatkan semula dan mengurus data dalam Amazon
    S3 dan seterusnya...
    Muat turun s3cmd
  • 5
    XyZerKunG ServerTool
    XyZerKunG ServerTool
    XyZerKunG ServerTool membantu anda membuat
    pelayan Minecraft anda sendiri dan bermain dengannya
    rakan anda selama beberapa minit.
    Ciri-ciri: Buat a
    Pelayan MinecraftU...
    Muat turun XyZerKunG ServerTool
  • 6
    CalcTools
    CalcTools
    Sumber Java bertujuan untuk berfungsi sebagai a
    perhubungan untuk mengajar kedua-dua matematik dan
    penyelesaian perisian untuk pengiraan pada
    persamaan berulang. Antara muka awam
    benarkan...
    Muat turun CalcTools
  • Lebih »

Arahan Linux

Ad