Вопросы с тегом «clang»

108
Более быстрое завершение кода с помощью clang

Я исследую потенциальное ускорение завершения кода при использовании механизма завершения кода clang. Описанный ниже поток - это то, что я нашел в rtags Андерса Баккена. Единицы перевода анализируются демоном, отслеживающим файлы на предмет изменений. Это делается с помощью вызываемых...

104
GCC -g vs -g3 Флаг GDB: в чем разница?

При компиляции исходного кода C с помощью gcc или Clang я всегда использую этот -gфлаг для генерации отладочной информации для gdb. gcc -g -o helloworld helloworld.c Я заметил, что некоторые рекомендуют -g3вместо этого. В чем разница между -gи -g3флагами? Также есть разница между -gи -ggdb?...

98
Подавить предупреждение «Категория реализует метод, который также будет реализован ее основным классом»

Мне было интересно, как подавить предупреждение: Категория реализует метод, который также будет реализован его основным классом. У меня есть это для конкретной категории кода: + (UIFont *)systemFontOfSize:(CGFloat)fontSize { return [self aCustomFontOfSize:fontSize]; }...

98
Как мне скомпилировать C ++ с Clang?

Я установил Clang с помощью apt-get в Ubuntu, и я могу успешно компилировать файлы C, используя его. Однако я понятия не имею, как через него скомпилировать C ++. Что мне нужно сделать для компиляции C ++?...

98
clang: как перечислить поддерживаемые целевые архитектуры?

В настоящее время меня интересует ARM в целом и, в частности, цели для iphone / android. Но я просто хочу узнать больше о кланге, так как он будет играть важную роль в ближайшие годы. Я старался clang -cc1 --help|grep -i list clang -cc1 --help|grep arch|grep -v search clang -cc1 --help|grep target...

96
Проблемы с компиляцией, сборкой или архивированием с Xcode 4 (и зависимостями)

Этот вопрос развился за последние несколько недель, чтобы охватить более общие проблемы с xcode4 (и модернизация проектов из более старых xcodeс). Однако многие проблемы можно решить, следуя тем же инструкциям. Если у вас есть какие-либо из следующих проблем, попробуйте методы, указанные в...

94
Уровни оптимизации Clang

На НКУ, руководство объясняет , что -O3, -Osи т.д. переводить с точки зрения аргументов оптимизации конкретных ( -funswitch-loops, -fcompare-elimи т.д.) Я ищу такую ​​же инфу для clang . Я искал в Интернете и в man clangкотором дается только общая информация ( -O2оптимизирует больше -O1,...

92
LLVM C ++ IDE для Windows

Есть ли какая-нибудь C / C ++ IDE для Windows, которая интегрирована с компилятором LLVM (и анализатором Clang C / C ++), как это делает современный Xcode. У меня есть Dev-Cpp (он использует устаревший GCC) и Code :: Blocks (с некоторым GCC). Но GCC дает мне очень загадочные сообщения об ошибках....

90
Разрешена ли такая оптимизация с плавающей запятой?

Я попытался проверить, где floatтеряет способность точно представлять большие целые числа. Итак, я написал этот небольшой фрагмент: int main() { for (int i=0; ; i++) { if ((float)i!=i) { return i; } } } Этот код работает со всеми компиляторами, кроме clang. Clang генерирует простой бесконечный...

86
Могу ли я использовать C ++ 11 с Xcode?

Я рассматриваю возможность использования некоторых функций C ++ 11 ( autoнапример, таких) в некоторых кроссплатформенных проектах (Windows + Mac). В Windows Visual Studio поддерживает части будущего стандарта C ++ 11, который позволит мне упростить части базы кода, поэтому, естественно, мне было...

16
Catalina C ++: использование заголовков <cmath> приводит к ошибке: в глобальном пространстве имен нет члена с именем signbit

После обновления до Каталины из Мохаве, настройка: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk в env. Я не могу скомпилировать программу, которая использует <cmath>заголовок. Я попытался изменить CFLAGS, CCFLAGS, CXXFLAGS, чтобы они...

14
Почему std :: swap не работает с векторными элементами <bool> в Clang / Win?

У меня есть такой код: #include <vector> #include <utility> int main() { std::vector<bool> vb{true, false}; std::swap(vb[0], vb[1]); } Аргументы о здравомыслии в vector<bool>стороне, это работало очень хорошо на: Лязг для Mac Visual Studio для Windows GCC для Linux Затем я...

11
Сконфигурируйте CMake в Windows для использования clang из командной строки, чтобы получить современную поддержку OpenMP

У меня есть небольшой тестовый проект, который использует OpenMP для распараллеливания. Моя цель - скомпилировать его так, чтобы он создавал .dllи .libдля библиотек (потому что мой реальный проект ссылается на внешние библиотеки, распространяемые с использованием этих типов), с поддержкой OpenMP...

11
Можно ли изменить встроенную переменную после инициализации в C ++ 17?

Мой сценарий следующий (он работал в Clang, но не в GCC) liba.hpp: inline int MY_GLOBAL = 0; libother.cpp: (dll) #include "myliba.hpp" void myFunc() { // MYGLOBAL = 28; } someexe.cpp: RunAppThatUsesBothLibAandLibOther(); Проблема в том, что встроенная переменная показывала 0 в тех местах, где я...

11
Существует ли фрагмент кода C, который эффективно вычисляет безопасное переполнение без использования встроенных компиляторов?

Вот функция C, которая добавляет intк другому, терпя неудачу, если переполнение произойдет: int safe_add(int *value, int delta) { if (*value >= 0) { if (delta > INT_MAX - *value) { return -1; } } else { if (delta < INT_MIN - *value) { return -1; } } *value += delta; return 0; } К...

10
Почему компиляторы настаивают на том, чтобы использовать регистр, сохраненный вызываемым пользователем?

Рассмотрим этот код C: void foo(void); long bar(long x) { foo(); return x; } Когда я компилирую его в GCC 9.3 с помощью -O3или -Os, я получаю это: bar: push r12 mov r12, rdi call foo mov rax, r12 pop r12 ret Выходные данные из clang идентичны, за исключением того, что они выбраны rbxвместо...

10
Несоответствующий вывод авто типов между различными компиляторами c ++

Итак, я пытаюсь реализовать точечный продукт ( https://en.wikipedia.org/wiki/Dot_product ) в какой-то разновидности современного C ++ и придумал следующий код: #include <iostream> template<class... Args> auto dot(Args... args) { auto a = [args...](Args...) { return [=](auto... brgs) {...