АнглийскийФранцузскийИспанский

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 =стандарт -g
[-O0|-O1|-O2|-O3|-Быстро|-Операционные системы|-Унция|-O|-O4]
-Wпредупреждения ... -педантический
-Iреж ... -Lреж ...
-Dмакрос [= defn]
-fособенность-опция ...
-mмашина-опция ...
-o выходной файл
-stdlib =библиотека
имена файлов ввода

ОПИСАНИЕ


лязг это компилятор C, C ++ и Objective-C, который включает в себя предварительную обработку, синтаксический анализ,
оптимизация, генерация кода, сборка и компоновка. В зависимости от того, какой высокоуровневый режим
настройка пройдена, Clang остановится перед выполнением полной ссылки. В то время как Clang очень
интегрированный, важно понимать этапы компиляции, понимать, как
вызвать его. Этими этапами являются:

Драйвер
Ассоциация лязг исполняемый файл на самом деле представляет собой небольшой драйвер, который контролирует общее выполнение
других инструментов, таких как компилятор, ассемблер и компоновщик. Обычно вам не нужно
для взаимодействия с драйвером, но вы прозрачно используете его для запуска других инструментов.

предварительная обработка
На этом этапе выполняется токенизация входного исходного файла, расширение макроса, #include
расширение и обработка других директив препроцессора. Результатом этого этапа является
обычно называется «.i» (для C), «.ii» (для C ++), «.mi» (для Objective-C) или «.mii».
(для Objective-C ++) файл.

анализ и семантический Анализ
Этот этап анализирует входной файл, переводя токены препроцессора в дерево синтаксического анализа.
Находясь в форме дерева синтаксического анализатора, он применяет семантический анализ для вычисления типов для
выражений и определить, правильно ли сформирован код. Этот этап
отвечает за генерацию большинства предупреждений компилятора, а также за ошибки синтаксического анализа. В
Результатом этого этапа является «Абстрактное синтаксическое дерево» (AST).

Code Поколение и Оптимизация
На этом этапе AST преобразуется в низкоуровневый промежуточный код (известный как «LLVM IR») и
в конечном итоге к машинному коду. Этот этап отвечает за оптимизацию генерируемых
код и обработка генерации кода для конкретной цели. Результатом этого этапа является
обычно называется файлом ".s" или файлом "сборки".

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

Ассемблер
На этом этапе запускается целевой ассемблер для преобразования вывода компилятора в
целевой объектный файл. Результат этого этапа обычно называется файлом ".o" или
"объектный" файл.

связи
На этом этапе выполняется целевой компоновщик для объединения нескольких объектных файлов в исполняемый файл или
динамическая библиотека. Результат этого этапа обычно называется «a.out», «.dylib» или
".so" файл.

Компилятор Clang поддерживает большое количество опций для управления каждым из этих этапов. В
Помимо компиляции кода, Clang также поддерживает другие инструменты:

лязг статический Анализатор

Clang Static Analyzer - это инструмент, который сканирует исходный код, чтобы попытаться найти ошибки через
анализ кода. Этот инструмент использует многие части Clang и встроен в тот же драйвер.
Пожалуйста, посмотриhttp://clang-analyzer.llvm.org> подробнее о том, как использовать статический
анализатор.

ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ


Этап Выбор Опции
-E Запустите этап препроцессора.

-fsyntax-только
Запустите этапы препроцессора, парсера и проверки типов.

-S Запустите предыдущие этапы, а также этапы генерации и оптимизации LLVM и
генерация специального кода, создающая файл сборки.

-c Запустите все вышеперечисленное, а также ассемблер, создав целевой объектный файл ".o".

нет этап выбор вариант
Если опция выбора этапа не указана, выполняются все этапы, указанные выше, и компоновщик
запустить, чтобы объединить результаты в исполняемую или общую библиотеку.

Язык Выбор и режим Опции
-x язык
Обрабатывать последующие входные файлы как имеющие тип язык.

-стандарт=язык
Укажите стандарт языка для компиляции.

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

-анси
Такой же как -std = C89.

-ObjC ++
Считайте исходные входные файлы входными данными Objective-C ++.

-Объект
Считайте исходные входные файлы входными данными Objective-C.

-триграфы
Включить триграфы.

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

-fno-встроенный
Отключите специальную обработку и оптимизацию встроенных функций, таких как strlen и
маллок

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

-fpascal-строки
Включите поддержку строк в стиле Паскаля с помощью "\ pfoo".

-fms-extension
Включите поддержку расширений Microsoft.

-fmsc-version =
Установите _MSC_VER. По умолчанию 1300 в Windows. Иначе не установлено.

-fborland-extension
Включите поддержку расширений Borland.

-fwritable-строки
Сделайте все строковые литералы доступными для записи по умолчанию. Это отключает уникальность строк и
другие оптимизации.

-lax-vector-conversions
Разрешить свободные правила проверки типов для неявных векторных преобразований.

-fблоки
Включите языковую функцию «Блоки».

-fobjc-gc-только
Укажите, что код Objective-C должен быть скомпилирован в режиме GC-only, который работает только
когда включена сборка мусора Objective-C.

-fobjc-gc
Укажите, что код Objective-C должен быть скомпилирован в режиме гибридного сборщика мусора, который работает с
как в режиме GC, так и в режиме без GC.

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

-fobjc-nonfragile-abi-версия=версия
Выберите версию Objective-C non-fragile ABI для использования по умолчанию. Это будет только
используется в качестве Objective-C ABI, когда включен нефрагильный ABI (либо через
-fobjc-nonfragile-abi, или потому что это платформа по умолчанию).

-fobjc-нехрупкий-аби
Разрешить использование нехрупкого ABI Objective-C. На платформах, для которых это
ABI по умолчанию, его можно отключить с помощью -fno-objc-nonfragile-аби.

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

-арх архитектура
Укажите архитектуру для построения.

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

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

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

Code Поколение Опции
-O0 -O1 -O2 -O3 -Быстро -Операционные системы -Унция -O -O4
Укажите, какой уровень оптимизации использовать:

-O0 Означает "без оптимизации": этот уровень компилируется быстрее всех и генерирует больше всего
отлаживаемый код.

-O1 Где-то между -O0 и -O2.

-O2 Умеренный уровень оптимизации, позволяющий выполнять большинство оптимизаций.

-O3 Подобно -O2, за исключением того, что он позволяет выполнять оптимизацию, которая требует больше времени или
может генерировать более крупный код (в попытке ускорить работу программы).

-Быстро
Включает все оптимизации из -O3 наряду с другими агрессивными оптимизациями
что может нарушать строгое соблюдение языковых стандартов.

-Операционные системы Подобно -O2 с дополнительной оптимизацией для уменьшения размера кода.

-Унция Подобно -Операционные системы (и поэтому -O2), но еще больше уменьшает размер кода.

-O Эквивалентно -O2.

-O4 и выше
В настоящее время эквивалентно -O3

-g Сгенерируйте отладочную информацию. Обратите внимание, что отладочная информация Clang лучше всего работает на -O0.

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

Ассоциация -fstandalone-отладка опция отключает эти оптимизации. Это полезно, когда
работа со сторонними библиотеками, в которых нет отладочной информации. Это
дефолт по Дарвину. Обратите внимание, что Clang никогда не будет выдавать информацию о типах для типов, которые
программа вообще не ссылается на них.

-fисключения
Разрешить генерацию разматываемой информации, это позволяет перебрасывать исключения.
Скомпилированные кадры стека Clang. Это по умолчанию включено в x86-64.

-ftrapv
Сгенерируйте код для обнаружения ошибок переполнения целых чисел. Знаковое целочисленное переполнение не определено
в C с этим флагом создается дополнительный код для обнаружения этого и отмены, когда он
случается.

-видимость
Этот флаг устанавливает уровень видимости по умолчанию.

-fобщий
Этот флаг указывает, что переменные без инициализаторов получают общую связь. Может быть
отключен с -fno-общий.

-ftls-модель
Установите модель локального хранилища потока (TLS) по умолчанию, которая будет использоваться для локальных переменных потока.
Допустимые значения: global-dynamic, local-dynamic, initial-exec и local-exec.
По умолчанию - «глобально-динамический». Модель по умолчанию может быть переопределена с помощью
Атрибут tls_model. Компилятор попытается выбрать более эффективную модель, если
возможное.

-флто -эмит-llvm
Создавайте выходные файлы в форматах LLVM, подходящих для оптимизации времени компоновки. При использовании
-S это генерирует файлы ассемблера промежуточного языка LLVM, в противном случае это
генерирует объектные файлы в формате битового кода LLVM (которые могут быть переданы компоновщику
в зависимости от вариантов выбора этапа).

Драйвер Опции
- ###
Распечатайте (но не запускайте) команды для выполнения этой компиляции.

--Помогите
Показать доступные параметры.

-Qunused-аргументы
Не выдавать предупреждение о неиспользуемых аргументах драйвера.

-Ва,арг
Передайте аргументы, разделенные запятыми, в арг ассемблеру.

-Вл,арг
Передайте аргументы, разделенные запятыми, в арг компоновщику.

-Вп,арг
Передайте аргументы, разделенные запятыми, в арг препроцессору.

-Ксанализатор аргумент
Проходить аргумент к статическому анализатору.

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

-Xlinker аргумент
Проходить аргумент компоновщику.

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

-o файл
Записать вывод в файл.

-print-имя-файла=файл
Вывести полный путь к библиотеке файл.

-print-libgcc-имя-файла
Выведите путь к библиотеке для "libgcc.a".

-print-имя-программы=имя
Вывести полный путь к программе имя.

-print-поиск-директоров
Выведите пути, используемые для поиска библиотек и программ.

-сохранение темпов
Сохраните промежуточные результаты компиляции.

-интегрированный-как -нет-интегрированный-как
Используется для включения и отключения, соответственно, использования встроенного ассемблера. Ли
встроенный ассемблер включен по умолчанию и зависит от цели.

-время
Время индивидуальных команд.

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

-v Показать команды для запуска и использовать подробный вывод.

Диагностика Опции
-fshow-столбец -fshow-исходное-местоположение -fcaret-диагностика -fdiagnostics-fixit-информация
-fdiagnostics-parseable-fixits -fdiagnostics-print-source-range-информация
-fprint-источник-диапазон-информация -fdiagnostics-показать-опцию -f длина-сообщения
Эти параметры управляют тем, как Clang распечатывает информацию о диагностике (ошибках и
предупреждения). Пожалуйста, обратитесь к Руководству пользователя Clang для получения дополнительной информации.

препроцессор Опции
-Dmacroname = значение
Добавляет неявный #define в буфер предопределений, который читается перед источником
файл предварительно обработан.

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

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

-Iкаталог
Добавьте указанный каталог в путь поиска включаемых файлов.

-Fкаталог
Добавьте указанный каталог в путь поиска включаемых файлов фреймворка.

-ностдинк
Не ищите в стандартных системных каталогах или встроенных каталогах компилятора
включать файлы.

-nostdlibinc
Не ищите включаемые файлы в стандартных системных каталогах, а выполняйте поиск
встроенный компилятор включает каталоги.

-nobuildinc
Не ищите включаемые файлы во встроенном каталоге 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, р...
    Скачать УСМ
  • 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 Studio станет официальным
    дизайнерский клиент для JasperReports. я докладываю
    воля...
    Скачать iReport-Designer для JasperReports
  • 4
    ПостустановщикF
    ПостустановщикF
    PostInstallerF установит все
    программное обеспечение, которое Fedora Linux и другие
    не включает по умолчанию, после
    запуск Fedora в первый раз. Его
    легко для ...
    Скачать PostInstallerF
  • 5
    Трассирование
    Трассирование
    Проект strace перенесен в
    https://strace.io. strace is a
    диагностика, отладка и обучение
    трассировщик пользовательского пространства для Linux. Это используется
    следить за...
    Скачать стрейс
  • 6
    Графический интерфейс извлечения gMKV
    Графический интерфейс извлечения gMKV
    Графический интерфейс для утилиты mkvextract (часть
    MKVToolNix), который включает большинство (если
    не все) функциональность mkvextract и
    утилиты мквинфо. Написано на C#NET 4.0,...
    Скачать gMKVExtractGUI
  • Больше »

Команды Linux

Ad