Ukranianфранцузькийнімецькийіталійськийпортугальськаросійськаіспанська

Значок OnWorks

mips64el-linux-gnuabi64-cpp-5 - онлайн у хмарі

Запустіть mips64el-linux-gnuabi64-cpp-5 у постачальника безкоштовного хостингу OnWorks через Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS

Це команда mips64el-linux-gnuabi64-cpp-5, яку можна запустити в постачальнику безкоштовного хостингу OnWorks за допомогою однієї з наших численних безкоштовних робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн- емулятор Windows або онлайн-емулятор MAC OS

ПРОГРАМА:

ІМ'Я


cpp - препроцесор C

СИНТАКСИС


cpp [-Dмакрос[=деф]...] [-Uмакрос]
[-Iреж...] [- цитатареж...]
[-Wпопереджати...]
[-M|-ММ] [-МГ] [-MF ім'я файлу]
[- депутат] [-MQ мета...]
[-MT мета...]
[-P] [-fno-working-directory]
[-x мова] [-std =standard]
infile outfile

Тут наведено лише найбільш корисні параметри; решту дивіться нижче.

ОПИС


Препроцесор C, часто відомий як cpp, Є макрос процесор який використовується автоматично
компілятор C, щоб перетворити вашу програму перед компіляцією. Це називається макросом
процесор, оскільки він дозволяє визначити макроси, які є короткими скороченнями для довше
конструкти.

Препроцесор C призначений для використання тільки з вихідним кодом C, C++ і Objective-C.
У минулому його зловживали як загальний текстовий процесор. Він задихнеться від введення якого
не підкоряється лексичним правилам C. Наприклад, апострофи будуть інтерпретуватися як
початок символьних констант і викликають помилки. Крім того, ви не можете покладатися на нього
збереження характеристик вхідних даних, які не є значущими для мов сімейства C.
Якщо Makefile попередньо оброблено, усі жорсткі вкладки будуть видалені, а Makefile –
не працюй

Сказавши це, ви часто можете обійтися використанням cpp для речей, які не є C. Інше
Алгольні мови програмування часто безпечні (Pascal, Ada тощо).
обережність. -традиційний-cpp режим зберігає більше білого простору, а в інших випадках більше
дозвільний. Багато проблем можна уникнути, написавши коментарі в стилі C або C++
замість коментарів рідною мовою та збереження макросів.

Де можливо, ви повинні використовувати препроцесор, орієнтований на мову, якою ви пишете
in. Сучасні версії асемблера GNU мають засоби макростворення. Найбільш високий рівень
мови програмування мають свій власний механізм умовної компіляції та включення. Якщо
все інше не вдається, спробуйте справжній загальний текстовий процесор, наприклад GNU M4.

Препроцесори C відрізняються в деяких деталях. У цьому посібнику розглядається препроцесор GNU C, який
надає невеликий набір функцій стандарту ISO C. У режимі за замовчуванням GNU
Препроцесор C не виконує деяких речей, які вимагає стандарт. Це особливості
які рідко, якщо взагалі використовуються, і можуть викликати дивовижні зміни у значенні a
програма, яка їх не очікує. Щоб отримати строгий стандарт ISO C, ви повинні використовувати
-std=c90, -std=c99 or -std=c11 варіанти, залежно від версії стандарту
хочу. Щоб отримати всю обов'язкову діагностику, необхідно також скористатись - педантичний.

Цей посібник описує поведінку препроцесора ISO. Щоб мінімізувати безоплатне
відмінності, де поведінка препроцесора ISO не суперечить традиційному
семантики традиційний препроцесор повинен вести себе так само. Різні
відмінності, які існують, докладно описані в розділі Традиційний режим.

Для наочності, якщо не зазначено інше, посилання на CPP у цьому посібнику зверніться до GNU CPP.

ВАРІАНТИ


Препроцесор C очікує два імена файлів як аргументи, infile і outfile,
зчитує препроцесор infile разом з будь-якими іншими файлами, які він визначає #включати, Всі
вихідні дані, згенеровані комбінованими вхідними файлами, записуються outfile.

Або infile or outfile може бути -, який як infile означає читання зі стандартного введення та
as outfile означає запис на стандартний вихід. Крім того, якщо будь-який файл пропущено, це означає
те саме, ніби - було визначено для цього файлу.

Якщо не зазначено інше, або опція закінчується на =, всі варіанти, які беруть аргумент, можуть
щоб цей аргумент з’являвся або відразу після параметра, або з пробілом між ними
варіант і аргумент: - Ifoo і -I Foo мають однаковий ефект.

Багато варіантів мають багатобуквенні назви; тому можливі кілька варіантів з однієї літери НЕ be
згруповано: -дМ дуже відрізняється від -d -M.

-D name
Попередньо визначити name як макрос, з визначенням 1.

-D name=визначення
Вміст визначення маркуються та обробляються так, ніби вони з’явилися під час
третій етап перекладу в а #визначити директива. Зокрема, визначення буде
скорочено за допомогою вбудованих символів нового рядка.

Якщо ви викликаєте препроцесор з оболонки або програми, подібної до оболонки, вам може знадобитися
використовувати синтаксис цитування оболонки для захисту таких символів, як пробіли, які мають a
значення в синтаксисі оболонки.

Якщо ви хочете визначити функціональний макрос у командному рядку, напишіть його аргумент
список з оточуючими дужками перед знаком рівності (якщо є). Дужки є
значуще для більшості оболонок, тому вам потрібно буде процитувати параметр. З sh і CSH,
-D'name(аргументи...)=визначення' працює.

-D і -U параметри обробляються в тому порядку, в якому вони вказані в командному рядку. всі
-макроси файл і -включати файл опції все-таки обробляються -D і -U Варіанти.

-U name
Скасуйте будь-яке попереднє визначення name, вбудований або забезпечений a -D варіант.

-undef
Не встановлюйте заздалегідь жодні макроси, специфічні для системи чи GCC. Стандарт наперед визначений
макроси залишаються визначеними.

-I реж
Додайте каталог реж до списку каталогів для пошуку заголовних файлів.

Довідники за ім -I шукаються до того, як стандартна система включає каталоги.
Якщо каталог реж є стандартним системним каталогом включення, параметр ігнорується
переконайтеся, що порядок пошуку за замовчуванням для системних каталогів і спеціальний режим
системних заголовків не переможеться. Якщо реж починається з "=", потім "=" буде
замінено на префікс sysroot; побачити --sysroot і -isysroot.

-o файл
Записати вихід до файл. Це те саме, що вказувати файл як другий не варіант
аргумент до cpp. ПКУ має іншу інтерпретацію другого аргументу без варіантів,
тому ви повинні використовувати -o щоб вказати вихідний файл.

-Стінка
Вмикає всі додаткові попередження, які є бажаними для звичайного коду. На даний момент це
is -Коментар, -Втриграфи, -Wmultichar і попередження про цілочисельне просування, що спричиняє a
зміна знака у виразах "#if". Зауважте, що багато попереджень препроцесора
увімкнені за замовчуванням і не мають можливості керувати ними.

-Коментар
-W коментарі
Попереджати щоразу, коли послідовність коментарів-початків /* з'являється в а /* коментар або будь-коли a
зворотний слеш-новий рядок з’являється в a // коментар. (Обидві форми мають однаковий ефект.)

-Втриграфи
Більшість триграфів у коментарях не можуть вплинути на зміст програми. Однак а
триграф, який утворює екранований новий рядок (??/ в кінці рядка) can, by
зміни місця початку або кінця коментаря. Тому лише триграфи, які б утворювали
екрановані символи нового рядка створюють попередження всередині коментаря.

Цей варіант мається на увазі -Стінка. Якщо -Стінка не надано, ця опція все ще активна
якщо триграфи не включені. Щоб отримати перетворення триграфа без попереджень, але отримати
інші -Стінка попередження, використання -триграфи -Стінка -Wno-триграфи.

-Традиційний
Попереджати про певні конструкції, які поводяться по-різному в традиційних і ISO C. Також
попереджати про конструкції ISO C, які не мають традиційного еквіваленту C, і є проблематичними
конструкції, яких слід уникати.

-Вундеф
Попереджати кожного разу, коли ідентифікатор, який не є макросом, зустрічається в файлі # якщо Директива,
поза певний. Такі ідентифікатори замінюються на нуль.

-Wunused-макроси
Попереджати про макроси, визначені в основному файлі, які не використовуються. Макрос є використовуваний якщо це
розширений або перевірений на існування принаймні один раз. Препроцесор також попередить, якщо
макрос не використовувався під час його перевизначення або невизначеності.

Вбудовані макроси, макроси, визначені в командному рядку, і макроси, визначені в include
файли не попереджуються.

Примітка: Якщо макрос насправді використовується, але використовується лише в пропущених умовних блоках, то
CPP повідомить про це як невикористане. Щоб уникнути попередження в такому випадку, ви можете покращити
область визначення макросу, наприклад, переміщаючи його в перший пропущений
блокувати. Крім того, ви можете надати фіктивне використання щось на кшталт:

#якщо визначено_макро_викликає_попередження
#endif

-Етикетки Wendif
Попереджати, коли an #else або #endif після них текст. Зазвичай це відбувається в
код форми

#якщо FOO
...
#інше FOO
...
#endif FOO

Друге і третє «FOO» мають бути в коментарях, але часто їх немає в старих програмах.
Це попередження ввімкнено за замовчуванням.

- Помилка
Зробіть усі попередження серйозними помилками. Буде вихідний код, який ініціює попередження
відхилено.

-Wsystem-headers
Видавати попередження для коду в системних заголовках. Зазвичай вони не допомагають знайти
помилки у вашому власному коді, тому пригнічені. Якщо ви відповідаєте за систему
бібліотеки, ви можете їх побачити.

-w Вимкнути всі попередження, включаючи ті, які GNU CPP видає за замовчуванням.

- педантичний
Видайте всю обов’язкову діагностику, зазначену в стандарті C. Деякі з них залишилися
за замовчуванням, оскільки вони часто запускаються на нешкідливому коді.

-педантичні помилки
Видайте всю обов’язкову діагностику і перетворите всю обов’язкову діагностику на помилки.
Це включає обов’язкову діагностику, без якої проблеми GCC - педантичний але трактує як
попередження.

-M Замість виведення результату попередньої обробки виведіть правило, яке підходить для зробити
опис залежностей основного вихідного файлу. Препроцесор виводить один
зробити правило, що містить назву об’єктного файлу для цього вихідного файлу, двокрапку та імена
всіх включених файлів, включаючи ті, що надходять з -включати or -макроси команда-
параметри лінії.

Якщо не вказано явно (з -MT or -MQ), ім'я об'єктного файлу складається з
ім'я вихідного файлу з будь-яким суфіксом замінено суфіксом об'єктного файлу та будь-яким
провідні частини каталогу видалено. Якщо включено багато файлів, то правило таке
розділити на кілька рядків за допомогою \-новий рядок. Правило не має команд.

Цей параметр не пригнічує вихідні дані налагодження препроцесора, наприклад -дМ. Уникати
змішуючи такий вихід налагодження з правилами залежностей, ви повинні явно вказати
вихідний файл залежностей з -MF, або використовуйте змінну середовища, наприклад
DEPENDENCIES_OUTPUT. Вихід налагодження все одно буде надіслано до звичайного вихідного потоку як
Normal.

Проходження -M для водія має на увазі -E, і пригнічує попередження з неявним -w.

-ММ Люблю -M але не згадуйте файли заголовків, які знаходяться в системних каталогах заголовків,
а також файли заголовків, які включені, прямо чи опосередковано, з такого заголовка.

Це означає, що вибір кутових дужок або подвійних лапок в an #включати
Директива сама по собі не визначає, чи буде цей заголовок відображатися в -ММ
вихід залежностей. Це незначна зміна семантики порівняно з GCC версії 3.0 і
раніше.

-MF файл
При використанні з -M or -ММ, визначає файл для запису залежностей. Якщо ні -MF
надається комутатор, препроцесор надсилає правила туди, куди він надсилав би
попередньо оброблений вихід.

При використанні з параметрами драйвера -MD or -MMD, -MF перевизначає залежність за замовчуванням
вихідний файл.

-МГ У поєднанні з таким варіантом, як -M запит на створення залежностей, -МГ передбачає
відсутні заголовні файли створюються файлами і додає їх до списку залежностей без
викликаючи помилку. Ім'я файлу залежності береться безпосередньо з "#include"
директиву без передавання шляху. -МГ також пригнічує попередньо оброблений вихід, як a
відсутність заголовного файлу робить це марним.

Ця функція використовується для автоматичного оновлення make-файлів.

- депутат Цей параметр наказує CPP додати фальшиву ціль для кожної залежності, крім
main файл, через що кожен ні від чого не залежить. Ці фіктивні правила обходять помилки
зробити дає, якщо ви видалите файли заголовків без оновлення файлу Makefile підходити.

Це типовий вихід:

test.o: test.c test.h

test.h:

-MT мета
Змініть ціль правила, створеного генерацією залежностей. За замовчуванням CPP приймає
ім'я основного вхідного файлу, видаляє будь-які компоненти каталогу та будь-який суфікс файлу
такий як .c, і додає звичайний суфікс об’єкта платформи. Результат - мета.

An -MT параметр встановить цільовий рядок, який ви вкажете. Якщо хочеш
кількох цілей, ви можете вказати їх як один аргумент -MT, або використовуйте декілька
-MT Варіанти.

Наприклад, -MT '$(objpfx)foo.o' може дати

$(objpfx)foo.o: foo.c

-MQ мета
Такий же, як -MT, але він цитує будь-які символи, які є особливими для Make.
-MQ '$(objpfx)foo.o' дає

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

Ціль за замовчуванням автоматично вводиться в лапки, як якщо б вона була задана разом -MQ.

-MD -MD еквівалентна -M -MF файл, крім цього -E не мається на увазі. Водій
визначає файл на основі того, чи є an -o надається варіант. Якщо так, драйвер використовує його
аргумент, але з суфіксом of .d, інакше він приймає назву вхідного файлу,
видаляє всі компоненти каталогу та суфікс і застосовує a .d суфікс.

If -MD використовується разом з -E, будь-який -o Перемикач розуміється для вказівки
вихідний файл залежностей, але якщо використовується без нього -E, кожен -o розуміється як вказівка ​​a
цільовий об'єктний файл.

З -E не мається на увазі, -MD можна використовувати для створення вихідного файлу залежностей як a
побічний ефект процесу компіляції.

-MMD
Люблю -MD за винятком згадки лише файлів заголовків користувача, а не системних файлів заголовків.

-x c
-x C ++
-x Objective-C
-x асемблер із cpp
Вкажіть вихідну мову: C, C++, Objective-C або асемблера. Це не має нічого спільного
з відповідністю стандартам або розширеннями; він просто вибирає базовий синтаксис
очікувати. Якщо ви не вкажете жодного з цих параметрів, cpp виведе мову з файлу
розширення вихідного файлу: .c, . CC, .mабо .S. Деякі інші поширені розширення для
C++ і ассемблер також розпізнаються. Якщо cpp не розпізнає розширення, воно
розглядатиме файл як C; це найбільш загальний режим.

Примітка: Попередні версії cpp приймалися a -язик варіант, який вибрав обидва
мови та рівня відповідності стандартам. Цю опцію вилучено, тому що
це конфліктує з -l варіант.

-std =standard
-ansi
Вкажіть стандарт, якому повинен відповідати код. Наразі CPP знає про C
і стандарти C++; інші можуть бути додані в майбутньому.

standard може бути одним із:

"c90"
"c89"
"iso9899:1990"
Стандарт ISO C з 1990 року. c90 є звичайним скороченням для цієї версії
стандарт.

повне г, повне г,, показали, від, номер, XNUMX -ansi опція еквівалентна -std=c90.

"iso9899:199409"
Стандарт C 1990 року зі змінами 1994 року.

"iso9899:1999"
"c99"
"iso9899:199x"
"c9x"
Переглянутий стандарт ISO C, опублікований у грудні 1999 року. До публікації це
був відомий як C9X.

"iso9899:2011"
"c11"
"c1x"
Переглянутий стандарт ISO C, опублікований у грудні 2011 року. До публікації це
був відомий як C1X.

"gnu90"
"gnu89"
Стандарт C 1990 року плюс розширення GNU. Це значення за замовчуванням.

"gnu99"
"gnu9x"
Стандарт C 1999 року плюс розширення GNU.

"gnu11"
"gnu1x"
Стандарт C 2011 року плюс розширення GNU.

"c++98"
Стандарт ISO C++ 1998 року з поправками.

"gnu++98"
Такий же як і -std=c++98 плюс розширення GNU. Це значення за замовчуванням для коду C++.

-Я- Розділіть шлях включення. Будь-які каталоги, зазначені в -I варіанти раніше -Я- він має
шукав лише заголовки із запитом "#include"файл""; їх не шукають
"#включатифайл>". Якщо додаткові каталоги вказані з -I варіанти після
-Я-, ці каталоги шукаються для всіх #включати директиви.

Крім того, -Я- забороняє використання каталогу поточного каталогу файлів як
перший каталог пошуку для "#include"файл"".

Цей параметр не підтримується.

-nostdinc
Не шукайте заголовні файли в стандартних системних каталогах. Тільки каталоги
ви вказали з -I параметри (і каталог поточного файлу, якщо
відповідні) розшукуються.

-nostdinc++
Не шукайте файли заголовків у стандартних каталогах C++, але все одно робіть це
пошук в інших стандартних каталогах. (Цей параметр використовується при створенні C++
бібліотека.)

-включати файл
Процес файл ніби "#include "file"" з'явився як перший рядок основного джерела
файл. Однак перший каталог шукав файл чи працює препроцесор
каталог замість of каталог, що містить основний вихідний файл. Якщо не знайдено
там він шукається в решті ланцюга пошуку "#include "..."" як
Normal.

Якщо кілька -включати наведені параметри, файли включаються в порядку їх
з'являються в командному рядку.

-макроси файл
Точно так само -включати, за винятком будь-якого результату сканування файл кидається
далеко. Макроси, які він визначає, залишаються визначеними. Це дозволяє отримати всі макроси
із заголовка без обробки його декларацій.

Усі файли, визначені -макроси обробляються перед усіма файлами, зазначеними в -включати.

-idirafter реж
Пошук реж для заголовних файлів, але зробіть це після всі каталоги, зазначені в -I і
стандартні системні каталоги вичерпані. реж розглядається як система включає
каталог. Якщо реж починається з "=", потім "=" буде замінено на sysroot
префікс; побачити --sysroot і -isysroot.

-іпрефікс префікс
Вказувати префікс як префікс для наступних -iз префіксом варіанти. Якщо префікс
представляє каталог, ви повинні включити final /.

-iз префіксом реж
-iwithprefixbefore реж
Додавати реж до префікса, зазначеного раніше з -іпрефікс, і додайте отримане
каталог до шляху пошуку включення. -iwithprefixbefore ставить його на те саме місце -I
б; -iз префіксом кладе куди -idirafter б.

-isysroot реж
Цей варіант схожий на --sysroot параметр, але застосовується лише до заголовних файлів (крім
Цілі Дарвіна, де це стосується як заголовних файлів, так і бібліотек). Див
--sysroot варіант для отримання додаткової інформації.

-мультиліб реж
використання реж як підкаталог каталогу, що містить цільові заголовки C++.

-ісистема реж
Пошук реж для заголовних файлів після всіх каталогів, зазначених у -I але перед
стандартні системні каталоги. Позначте його як системний каталог, щоб він отримав те саме
спеціальний режим, який застосовується до стандартних системних каталогів.

If реж починається з "=", потім "=" буде замінено на префікс sysroot; побачити
--sysroot і -isysroot.

- цитата реж
Пошук реж лише для заголовних файлів, запитуваних із "#include"файл""; вони не
шукав "#includeфайл>", перед усіма каталогами, зазначеними в -I і перед
стандартні системні каталоги.

If реж починається з "=", потім "=" буде замінено на префікс sysroot; побачити
--sysroot і -isysroot.

-fdirectives-only
Під час попередньої обробки обробляйте директиви, але не розгортайте макроси.

Поведінка опції залежить від -E і -fпопередньо оброблено Варіанти.

з -E, попередня обробка обмежується обробкою таких директив, як "#define",
"#ifdef" і "#error". Інші операції препроцесора, такі як розширення макросу та
перетворення триграфа не виконуються. Крім того, -dD варіант неявно
включений.

з -fпопередньо оброблено, попереднє визначення командного рядка та більшості вбудованих макросів
інвалід. Обробляються макроси, такі як "__LINE__", які залежать від контексту
нормально. Це дозволяє компілювати файли, попередньо оброблені за допомогою «-E
-fdirectives-only".

З обома -E і -fпопередньо оброблено, правила для -fпопередньо оброблено мати пріоритет. Це
дозволяє повну попередню обробку файлів, попередньо оброблених за допомогою «-E
-fdirectives-only".

-fdollars-in-identifiers
приймати $ в ідентифікаторах.

-fextended-ідентифікатори
Приймайте універсальні імена символів в ідентифікаторах. Цей параметр увімкнено за замовчуванням
для C99 (і пізніших стандартних версій C) і C++.

-fno-canonical-system-headers
Під час попередньої обробки не скорочуйте шляхи системних заголовків за допомогою канонікалізації.

-fпопередньо оброблено
Повідомте препроцесору, що вхідний файл уже попередньо оброблено. Це
пригнічує такі речі, як розширення макросу, перетворення триграфа, уникнення з’єднання нового рядка,
та обробка більшості директив. Препроцесор все ще розпізнає та видаляє
коментарів, щоб ви могли передати файл, попередньо оброблений з -C компілятору без
проблеми. У цьому режимі вбудований препроцесор є трохи більше, ніж токенізатором
для передніх кінців.

-fпопередньо оброблено є неявним, якщо вхідний файл має одне з розширень .i, .ii or .mi.
Це розширення, які GCC використовує для попередньо оброблених файлів, створених за допомогою -зберігати темп.

-ftabstop=ширина
Встановіть відстань між табуляторами. Це допомагає препроцесору звітувати про правильний стовпець
цифри в попередженнях або помилках, навіть якщо в рядку з’являються вкладки. Якщо значення менше
більше 1 або більше 100, параметр ігнорується. За замовчуванням – 8.

-fdebug-cpp
Цей параметр корисний лише для налагодження GCC. При використанні з -E, скидає налагодження
інформація про карти розташування. Кожному маркеру у виводі передує дамп
карті, до якої належить його місцезнаходження. Дамп карти, що містить місцезнаходження маркера
було б:

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

При використанні без -E, ця опція не діє.

-ftrack-macro-expansion[=рівень]
Відстежуйте розташування маркерів у макророзширеннях. Це дозволяє компілятору випромінювати
діагностика поточного стека розширення макросів, коли виникає помилка компіляції
макророзширення. Використання цієї опції споживає препроцесор і компілятор
більше пам'яті. The рівень Параметр можна використовувати для вибору рівня точності маркера
відстеження розташування, що зменшує споживання пам'яті, якщо це необхідно. Значення 0 of
рівень деактивує цю опцію, як ніби ні -ftrack-macro-expansion був присутній на
командний рядок. Значення 1 відстежує розташування маркерів у деградованому режимі заради
мінімальні витрати на пам'ять. У цьому режимі всі токени, отримані в результаті розширення an
аргумент функціонального макросу мають те саме розташування. Значення 2 відстежує маркери
локації повністю. Це значення найбільше потребує пам’яті. Коли надається ця опція
немає аргументу, значення параметра за замовчуванням таке 2.

Зверніть увагу, що «-ftrack-macro-expansion=2» активовано за замовчуванням.

-fexec-charset=набір
Встановити набір символів виконання, який використовується для рядкових і символьних констант. За замовчуванням
це UTF-8. набір може бути будь-яке кодування, яке підтримується системною бібліотекою "iconv".
рутина.

-fwide-exec-charset=набір
Встановити широкий набір символів виконання, який використовується для широкого рядка та символьних констант.
За замовчуванням є UTF-32 або UTF-16, залежно від того, що відповідає ширині "wchar_t". Як
з -fexec-charset, набір може бути будь-яке кодування, яке підтримується системним "iconv"
бібліотечна рутина; однак у вас виникнуть проблеми з кодуваннями, які не підходять
саме в "wchar_t".

-finput-charset=набір
Встановити вхідний набір символів, який використовується для перекладу з набору символів введення
файл у вихідний набір символів, який використовується GCC. Якщо мова не вказана, або GCC
не можна отримати цю інформацію з локалі, за замовчуванням є UTF-8. Це може бути
перевизначено місцевим стандартом або цим параметром командного рядка. Наразі команда-
Параметр рядка має пріоритет, якщо є конфлікт. набір може бути будь-яке кодування
підтримується системною бібліотечною процедурою "iconv".

-fworking-directory
Увімкнути генерацію лінійних маркерів у виводі препроцесора, що дозволить компілятору
знати поточний робочий каталог на момент попередньої обробки. Коли ця опція є
увімкнено, препроцесор видаватиме після початкового маркера другий маркер
з поточним робочим каталогом, за яким слідують дві косі риски. GCC скористається цим
каталог, якщо він присутній у попередньо обробленому вводі, як каталог, створений як
поточний робочий каталог у деяких форматах налагоджувальної інформації. Цей варіант є
неявно ввімкнено, якщо ввімкнено інформацію про налагодження, але це можна заблокувати за допомогою
заперечену форму -fno-working-directory, Якщо -P прапор присутній у команді
line, ця опція не має ефекту, оскільки жодні директиви "#line" не випускаються.

-fno-show-column
Не друкуйте номери стовпців у діагностиці. Це може знадобитися, якщо проводиться діагностика
сканується програмою, яка не розуміє номерів стовпців, наприклад
dejagnu.

-A присудок=відповідь
Складіть твердження з присудком присудок і відповісти відповідь. Ця форма є
віддає перевагу старшій формі -A присудок(відповідь), який досі підтримується, оскільки він
не використовує спеціальні символи оболонки.

-A -присудок=відповідь
Скасуйте твердження з присудком присудок і відповісти відповідь.

-dCHARS
ЧИСЛИ є послідовністю одного або кількох із наступних символів, і не має бути таким
передує пробіл. Інші символи інтерпретуються власне компілятором або
зарезервовані для майбутніх версій GCC, і тому ігноруються. Якщо вказати
персонажів, поведінка яких конфліктує, результат не визначено.

M Замість звичайного виводу створіть список #визначити директиви для всіх
макроси, визначені під час виконання препроцесора, включаючи попередньо визначені
макроси. Це дає вам спосіб дізнатися, що попередньо визначено у вашій версії
препроцесор. Припустимо, що у вас немає файлу foo.h, команда

торкніться foo.h; cpp -dM foo.h

покаже всі заздалегідь визначені макроси.

Якщо ви використовуєте -дМ без того -E варіант -дМ трактується як синонім до
-fdump-rtl-mach.

D Люблю M за винятком двох аспектів: так НЕ включити попередньо визначені макроси, і це
виходи обидва la #визначити директиви та результат попередньої обробки. Обидва види
вихідних даних перейдіть до стандартного вихідного файлу.

N Люблю D, але видавати лише імена макросів, а не їх розширення.

I Вихід #включати директиви на додаток до результату попередньої обробки.

U Люблю D за винятком лише макросів, які розгортаються або чия визначеність перевіряється
у директивах препроцесора виводяться; вихід відкладається до використання або
тест макросу; і #undef директиви також виводяться для перевірених макросів, але
на той час не визначено.

-P Заборонити генерацію лінійних маркерів на виході з препроцесора. Це може бути
корисно під час запуску препроцесора на щось, що не є кодом C, і буде надіслано
до програми, яку можуть сплутати маркери ліній.

-C Не відкидайте коментарі. Усі коментарі передаються до вихідного файлу, за винятком
для коментарів в оброблених директивах, які видаляються разом з директивою.

При застосуванні слід бути готовим до побічних ефектів -C; це змушує препроцесор
розглядати коментарі як власні маркери. Наприклад, коментарі, що з’являються на сторінці
Початок того, що було б директивним рядком, призведе до перетворення цього рядка в
звичайний вихідний рядок, оскільки перший маркер у рядку більше не є a #.

-CC Не відкидайте коментарі, в тому числі під час розширення макросу. Це схоже -C, За винятком
що коментарі, що містяться в макросах, також передаються до вихідного файлу де
макрос розгорнутий.

Крім побічних ефектів -C варіант, -CC Параметр викликає всі C++-стилі
коментарі всередині макросу, які будуть перетворені в коментарі в стилі C. Це потрібно для запобігання згодом
використання цього макросу від ненавмисного коментування залишку вихідного рядка.

повне г, повне г,, показали, від, номер, XNUMX -CC Параметр зазвичай використовується для підтримки коментарів lint.

-традиційний-cpp
Спробуйте наслідувати поведінку старомодних препроцесорів C, на відміну від ISO C
препроцесори.

-триграфи
Обробити триграфічні послідовності.

- переназначити
Увімкніть спеціальний код, щоб обійти файлові системи, які дозволяють лише дуже короткий файл
імена, наприклад MS-DOS.

--допомога
-- target-help
Надрукуйте текст з описом всіх параметрів командного рядка замість попередньої обробки будь-чого.

-v Детальний режим. Роздрукуйте номер версії GNU CPP на початку виконання та
повідомити остаточну форму шляху включення.

-H Надрукуйте назву кожного файлу заголовка, який використовується, на додаток до інших звичайних дій. Кожен
ім'я має відступ, щоб показати, наскільки глибоко в #включати стек це. Попередньо скомпільований заголовок
файли також друкуються, навіть якщо вони визнані недійсними; недійсний попередньо скомпільований
заголовний файл друкується з ... x і дійсний з ... .

-версія
-- версія
Роздрукуйте номер версії GNU CPP. За допомогою однієї тире перейдіть до попередньої обробки як зазвичай.
З двома рисками негайно вийдіть.

НАВКОЛИШНЄ СЕРЕДОВИЩЕ


Цей розділ описує змінні середовища, які впливають на роботу CPP. Ти можеш
використовуйте їх, щоб вказати каталоги або префікси, які використовуватимуться під час пошуку включених файлів або до
керувати висновком залежності.

Зауважте, що ви також можете вказати місця для пошуку за допомогою таких параметрів, як -I, і контроль
вихід залежностей з такими параметрами, як -M. Вони мають пріоритет над змінними середовища,
які, у свою чергу, мають пріоритет над конфігурацією GCC.

CPATH
C_INCLUDE_PATH
CPLUS_INCLUDE_PATH
OBJC_INCLUDE_PATH
Значення кожної змінної - це список каталогів, розділених спеціальним символом, багато
як PATH, в якому шукати заголовні файли. Особливий персонаж,
"PATH_SEPARATOR" залежить від мети і визначається під час складання GCC. Для Microsoft
Цілі на базі Windows це крапка з комою, а майже для всіх інших цілей це крапка з комою
товста кишка.

CPATH вказує список каталогів, які потрібно шукати так, ніби вказано з -I, Але
після будь-яких шляхів, заданих с -I параметри в командному рядку. Ця змінна середовища
використовується незалежно від мови попередньої обробки.

Решта змінних середовища застосовуються лише під час попередньої обробки конкретного
вказана мова. Кожен визначає список каталогів, які потрібно шукати
зазначено с -ісистема, але після будь-яких шляхів, заданих с -ісистема варіанти на
command line.

У всіх цих змінних порожній елемент інструктує компілятор шукати його поточний
робочий каталог. Порожні елементи можуть з'являтися на початку або в кінці шляху. Для
наприклад, якщо значення CPATH є ":/special/include", що має той самий ефект, що і
-Я. -Я/спеціальний/включаю.

DEPENDENCIES_OUTPUT
Якщо ця змінна встановлена, її значення вказує, як вивести залежності для Make на основі
на несистемні заголовні файли, оброблені компілятором. Системні заголовні файли є
ігнорується у виводі залежності.

Значення DEPENDENCIES_OUTPUT може бути просто ім’ям файлу, у цьому випадку правила Make
записуються в цей файл, вгадуючи цільове ім’я з назви вихідного файлу. Або
значення може мати вигляд файл мета, у цьому випадку правила записуються у файл файл
використання мета як цільове ім'я.

Іншими словами, ця змінна середовища еквівалентна об’єднанню параметрів -ММ
і -MF, з необов'язковим -MT перемикач теж.

SUNPRO_DEPENDENCIES
Ця змінна така ж, як DEPENDENCIES_OUTPUT (див. вище), крім цієї системи
заголовні файли не ігноруються, це означає -M а не -ММ. Проте
залежність від основного вхідного файлу пропущена.

Використовуйте mips64el-linux-gnuabi64-cpp-5 онлайн за допомогою служб onworks.net


Ad


Ad

Найновіші онлайн-програми для Linux і Windows