англійськафранцузькаіспанська

Ad


Значок OnWorks

clang-3.5 - онлайн у хмарі

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

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

ПРОГРАМА:

ІМ'Я


clang - компілятор Clang C, C++ і Objective-C

СИНТАКСИС


брязкіт [-c|-S|-E] -std =standard -g
[-О0|-О1|-О2|-О3|-Швидко|-Ос|-Оз|-O|-О4]
-Wпопередження... - педантичний
-Iреж ... -Lреж ...
-Dмакрос[=defn]
-fфункція-опція...
-mмашинний варіант...
-o вихідний файл
-stdlib=бібліотека
імена вхідних файлів

ОПИС


брязкіт це компілятор C, C++ і Objective-C, який включає попередню обробку, синтаксичний аналіз,
оптимізація, генерація коду, збірка та зв'язування. Залежно від того, який режим високого рівня
Якщо налаштування пройдено, Clang зупиниться, перш ніж виконати повне посилання. Поки Кланг високо
інтегровано, важливо розуміти етапи складання, розуміти, як
викликати його. Ці етапи:

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

Попередня обробка
Цей етап обробляє токенізацію вхідного вихідного файлу, розширення макросу, #include
розширення та обробка інших директив препроцесора. Вихід цього етапу є
зазвичай називається ".i" (для C), ".ii" (для C++), ".mi" (для Objective-C) або ".mii"
(для Objective-C++).

Parsing та Семантичний аналіз
На цьому етапі аналізується вхідний файл, перетворюючи маркери препроцесора в дерево розбору.
Будучи у формі дерева аналізатора, він застосовує семантичний аналіз для обчислення типів для
вирази, а також визначити, чи правильно сформований код. Цей етап є
відповідає за генерацію більшості попереджень компілятора, а також за помилки аналізу. The
Результатом цього етапу є «Абстрактне синтаксичне дерево» (AST).

код Покоління та Оптимізація
Цей етап перекладає AST у низькорівневий проміжний код (відомий як "LLVM IR") і
зрештою до машинного коду. Цей етап відповідає за оптимізацію згенерованого
код і обробка генерування коду для конкретної мети. Вихід цього етапу є
зазвичай називають файлом ".s" або файлом "збірки".

Clang також підтримує використання інтегрованого асемблера, в якому є генератор коду
створює об’єктні файли безпосередньо. Це дозволяє уникнути накладних витрат на створення файлу ".s".
і виклик цільового асемблера.

Асемблер
На цьому етапі запускається цільовий ассемблер, щоб перевести вихідні дані компілятора в a
цільовий об'єктний файл. Вихід цього етапу зазвичай називається файлом ".o" або
"об'єктний" файл.

Linker
На цьому етапі запускається цільовий компонувальник для об’єднання кількох об’єктних файлів у виконуваний файл або
динамічна бібліотека. Вихід цього етапу зазвичай називається "a.out", ".dylib" або
файл ".so".

Компілятор Clang підтримує велику кількість опцій для керування кожним із цих етапів. в
Крім компіляції коду, Clang також підтримує інші інструменти:

Кланг Статичний Аналізатор

Clang Static Analyzer — це інструмент, який сканує вихідний код, щоб спробувати знайти помилки
аналіз коду. Цей інструмент використовує багато частин Clang і вбудований в той самий драйвер.
Будь ласка, дивітьсяhttp://clang-analyzer.llvm.org> щоб дізнатися більше про те, як використовувати статику
аналізатор.

ВАРІАНТИ


Стажування вибір Опції
-E Запустіть етап препроцесора.

-fsyntax-only
Запустіть етапи препроцесора, синтаксичного аналізатора та перевірки типів.

-S Виконайте попередні етапи, а також етапи генерації та оптимізації LLVM та цільових
генерування конкретного коду, створення файлу збірки.

-c Запустіть все перераховане вище, а також асемблер, створивши цільовий об’єктний файл ".o".

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

Language вибір та режим Опції
-x мова
Розглядайте наступні вхідні файли як такі, що мають тип мова.

-стандартний=мова
Вкажіть стандарт мови для компіляції.

-stdlib=бібліотека
Вкажіть стандартну бібліотеку C++ для використання; підтримувані параметри: libstdc++ і libc++.

-ансі
Такий же, як -std=c89.

-ObjC++
Розглядайте вихідні вхідні файли як вхідні дані Objective-C++.

-ObjC
Розглядайте вихідні вхідні файли як вхідні дані Objective-C.

-триграфи
Увімкнути триграфи.

-автономний
Вкажіть, що файл повинен бути зібраний для окремого, а не розміщеного,
довкілля.

-fno-вбудований
Вимкніть спеціальну обробку та оптимізацію вбудованих функцій, таких як strlen і
malloc.

-fmath-errno
Вкажіть, що математичні функції слід розглядати як оновлення errno.

-fpascal-рядки
Увімкнути підтримку рядків у стилі Pascal за допомогою "\pfoo".

-fms-розширення
Увімкнути підтримку розширень Microsoft.

-fmsc-version=
Встановити _MSC_VER. За замовчуванням 1300 у Windows. Інакше не встановлено.

-fborland-розширення
Увімкнути підтримку розширень Borland.

-fwritable-strings
Зробити всі рядкові літерали за замовчуванням доступними для запису. Це вимикає уніфікацію рядків і
інші оптимізації.

-льон-вектор-перетворення
Дозволити вільні правила перевірки типів для неявних векторних перетворень.

-fblocks
Увімкніть функцію мови «Блоки».

-fobjc-gc-only
Вкажіть, що код Objective-C повинен бути скомпільований в режимі GC, який працює лише
коли ввімкнено збірку сміття Objective-C.

-fobjc-gc
Вкажіть, що код Objective-C має бути скомпільований у режимі гібридного GC, який працює з
як режим ГХ, так і режим без ГХ.

-fobjc-abi-версія=версія
Виберіть версію Objective-C ABI для використання. Доступні версії: 1 (застаріла «крихка»
ABI), 2 (некрихкий ABI 1) і 3 (некрихкий ABI 2).

-fobjc-nonfragile-abi-версія=версія
Виберіть для Objective-C некрихку версію ABI для використання за замовчуванням. Це тільки буде
використовується як Objective-C ABI, коли некрихкий ABI увімкнено (або через
-fobjc-nonfragile-abi, або тому, що це платформа за замовчуванням).

-fobjc-nonfragile-abi
Увімкнути використання некрихкого ABI Objective-C. На платформах, для яких це
ABI за замовчуванням, його можна вимкнути за допомогою -fno-objc-nonfragile-abi.

Мета вибір Опції
Clang повністю підтримує перехресну компіляцію як невід'ємну частину свого дизайну. В залежності від
як ваша версія Clang налаштована, вона може мати підтримку кількох кросів
компілятори, або може підтримувати лише рідну цільову сторінку.

-арх архітектура
Укажіть архітектуру для створення.

-mmacosx-версія-мін=версія
Під час створення для Mac OS X вкажіть мінімальну версію, яку підтримує ваша програма.

-miphoneos-версія-мін
Під час створення для iPhone OS вкажіть мінімальну версію, яку підтримує ваш
Додаток.

- марш=центральний процесор
Вкажіть, що Clang має генерувати код для певного члена сімейства процесора та
пізніше. Наприклад, якщо ви вкажете -march=i486, компілятору дозволено генерувати
інструкції, які дійсні на процесорах i486 і новіших, але можуть не існувати
більш ранні.

код Покоління Опції
-О0 -О1 -О2 -О3 -Швидко -Ос -Оз -O -О4
Укажіть, який рівень оптимізації використовувати:

-О0 Означає «без оптимізації»: цей рівень компілює найшвидше і генерує найбільше
налагоджуваний код.

-О1 Десь між -О0 та -О2.

-О2 Помірний рівень оптимізації, який забезпечує більшість оптимізацій.

-О3 Люблю -О2, за винятком того, що він уможливлює оптимізацію, виконання якої займає більше часу
може генерувати більший код (намагаючись прискорити роботу програми).

-Швидко
Вмикає всі оптимізації з -О3 разом з іншими агресивними оптимізаціями
що може порушити суворе дотримання мовних стандартів.

-Ос Люблю -О2 з додатковими оптимізаціями для зменшення розміру коду.

-Оз Люблю -Ос (і, таким чином -О2), але ще більше зменшує розмір коду.

-O Дорівнює -О2.

-О4 і вище
На даний момент еквівалентний -О3

-g Згенерувати налагоджувальну інформацію. Зауважте, що інформація про налагодження Clang працює найкраще -О0.

-fstandalone-debug -fno-standalone-debug
Clang підтримує ряд оптимізацій для зменшення розміру налагоджувальної інформації
двійковий файл. Вони працюють на основі припущення, що може бути інформація про тип налагодження
розподілений на кілька одиниць компіляції. Наприклад, Clang не буде видавати тип
визначення для типів, які не потрібні модулю і можуть бути замінені на a
вперед декларація. Крім того, Clang видаватиме інформацію про тип лише для динамічного класу C++
в модулі, що містить vtable для класу.

Команда -fstandalone-debug опція вимикає ці оптимізації. Це корисно, коли
робота зі сторонніми бібліотеками, які не мають налагоджувальної інформації. Це
за замовчуванням Дарвіна. Зауважте, що Clang ніколи не видаватиме інформацію про типи для таких типів
на них взагалі не посилається програма.

-фекційні виключення
Увімкніть генерацію інформації розгортання, це дозволить перекидати винятки
Clang скомпільований стек фреймів. Це ввімкнено за замовчуванням у x86-64.

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

- наочність
Цей прапорець встановлює рівень видимості за замовчуванням.

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

-ftls-модель
Встановіть модель локального сховища потоку (TLS) за замовчуванням для використання для локальних змінних потоку.
Допустимі значення: "global-dynamic", "local-dynamic", "initial-exec" і "local-exec".
За замовчуванням — «глобально-динамічний». Модель за замовчуванням можна замінити за допомогою
атрибут tls_model. Компілятор спробує вибрати більш ефективну модель, якщо
можливо.

-flto -emit-llvm
Створення вихідних файлів у форматах LLVM, які підходять для оптимізації часу зв’язку. При використанні
з -S це генерує файли збірки проміжної мови LLVM, інакше це
генерує об’єктні файли формату біт-коду LLVM (які можуть бути передані компоновщику
залежно від варіантів вибору етапу).

Водій Опції
-###
Надрукуйте (але не запускайте) команди для цієї компіляції.

--допомога
Відобразити доступні варіанти.

-Використовувані аргументи
Не видавати попередження про невикористані аргументи драйвера.

- Ва,аргументи
Передайте аргументи, розділені комами аргументи до асемблера.

-Wl,аргументи
Передайте аргументи, розділені комами аргументи до лінкера.

-Wp,аргументи
Передайте аргументи, розділені комами аргументи до препроцесора.

- Xanalyzer аргумент
Проходити аргумент до статичного аналізатора.

-Xassembler аргумент
Проходити аргумент до асемблера.

-Xlinker аргумент
Проходити аргумент до лінкера.

-Xпрепроцесор аргумент
Проходити аргумент до препроцесора.

-o файл
Записати вихід до файл.

-друкувати ім'я-файлу=файл
Надрукуйте повний шлях до бібліотеки файл.

-print-libgcc-ім'я файлу
Надрукуйте шлях бібліотеки для "libgcc.a".

-print-prog-name=ім'я
Роздрукуйте повний шлях до програми ім'я.

-print-search-dirs
Надрукуйте шляхи, які використовуються для пошуку бібліотек і програм.

-зберігати темп
Збережіть проміжні результати компіляції.

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

-час
Час окремих команд.

-ftime-звіт
Роздрукувати підсумок часу кожного етапу компіляції.

-v Показати команди для запуску та використання докладного виведення.

Діагностика Опції
-fshow-column -fshow-source-location -fcaret-діагностика -fdiagnostics-fixit-info
-fdiagnostics-parseable-fixits -fdiagnostics-print-source-range-info
-fprint-source-range-info -fdiagnostics-show-option -f довжина-повідомлення
Ці параметри керують тим, як Clang друкує інформацію про діагностику (помилки та
попередження). Будь ласка, перегляньте посібник користувача Clang для отримання додаткової інформації.

Препроцесор Опції
-Dім'я макросу = значення
Додає неявний #define в буфер попереднього визначення, який читається перед джерелом
файл попередньо оброблений.

-Uмакроназву
Додає неявний #undef в буфер попередньо визначених, який читається перед джерелом
файл попередньо оброблений.

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

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

-Fкаталог
Додайте вказаний каталог до шляху пошуку для файлів включення фреймворку.

-ностдинк
Не шукайте стандартних системних каталогів або вбудованих каталогів компілятора
включити файли.

-nostdlibinc
Не шукайте включені файли в стандартних системних каталогах, а виконуйте пошук
Вбудований компілятор включає каталоги.

-небудівничий
Не шукайте включені файли у вбудованому каталозі clang.

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


TMPDIR, TEMP, TMP
Ці змінні середовища перевіряються для того, щоб розташування було записане тимчасово
файли, які використовуються під час компіляції.

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

Порожні компоненти у змінній середовища ігноруються.

C_INCLUDE_PATH, OBJC_INCLUDE_PATH, CPLUS_INCLUDE_PATH, OBJCPLUS_INCLUDE_PATH
Ці змінні середовища вказують додаткові шляхи, як для CPATH, які є лише
використовується при обробці відповідної мови.

MACOSX_DEPLOYMENT_TARGET
Якщо -mmacosx-version-min не вказано, зчитується цільова мета розгортання за замовчуванням
ця змінна середовища. Цей параметр впливає лише на цілі Дарвіна.

Використовуйте clang-3.5 онлайн, використовуючи служби onworks.net


Безкоштовні сервери та робочі станції

Завантажте програми для Windows і Linux

  • 1
    usm
    usm
    Usm — це уніфікований пакет slackware
    менеджер, який обробляє автоматичну роботу
    вирішення залежностей. Це об’єднує
    різні сховища пакетів, в т.ч
    slackware, slacky, p...
    Завантажити usm
  • 2
    Chart.js
    Chart.js
    Chart.js — це бібліотека Javascript, яка
    дозволяє дизайнерам і розробникам малювати
    всілякі діаграми з використанням HTML5
    елемент полотна. Chart js пропонує чудові можливості
    масив ...
    Завантажте Chart.js
  • 3
    iReport-Designer для JasperReports
    iReport-Designer для JasperReports
    ПРИМІТКА. Підтримка iReport/Jaspersoft Studio
    Оголошення: починаючи з версії 5.5.0,
    Офіційною буде студія Jaspersoft
    дизайн клієнта для JasperReports. iReport
    буде ...
    Завантажте iReport-Designer для JasperReports
  • 4
    PostInstallerF
    PostInstallerF
    PostInstallerF встановить усі файли
    програмне забезпечення, яке Fedora Linux та інші
    не включає за замовчуванням після
    запуск Fedora вперше. Його
    легко для ...
    Завантажте PostInstallerF
  • 5
    страйк
    страйк
    Проект strace перенесено в
    https://strace.io. strace is a
    діагностика, налагодження та інструктаж
    трасування простору користувача для Linux. Його використовують
    стежити за...
    Завантажити strace
  • 6
    gMKVEExtractGUI
    gMKVEExtractGUI
    Графічний інтерфейс для утиліти mkvextract (частина
    MKVToolNix), який включає більшість (if
    не всі) функціональність mkvextract і
    утиліти mkvinfo. Написано на C#NET 4.0,...
    Завантажте gMKVExtractGUI
  • Детальніше »

Команди Linux

Ad