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

GCC - это коллекция компиляторов GNU. Это де-факто стандартный компилятор для C, C ++, Go, Fortran и Ada в Linux, а также поддерживает многие другие языки и платформы. Помимо компилятора GCC имеет набор инструментов (libc, libstdc ++, objdump, nm и т. Д.), Которые широко используются на нескольких платформах и системах.

6
Как установить GCC по частям с GMP, MPFR, MPC, ELF, без разделяемых библиотек?
Как установить GCC (сборник компиляторов GNU) по частям, используя текущую версию, используя правильные версии зависимостей, не используя диспетчер пакетов (например, yum, rpm, apt, dpkg) и не используя общие библиотеки? Типичные разработчики, вероятно, захотят установить GCC обычным способом, использовать ваш менеджер пакетов (yum, rpm, apt, dpkg, port, brew и т. Д.) …
115 gcc  elf  gmp  mpfr  mpc 

17
Проблемы при компиляции: не удается найти crt1.o
У меня есть виртуальная система Debian, которую я использую для разработки. Сегодня хотел попробовать llvm / clang. После установки clang я не могу скомпилировать свои старые c-проекты (с помощью gcc). Это ошибка: ... /usr/bin/ld: cannot find crt1.o: No such file or directory /usr/bin/ld: cannot find crti.o: No such file or …
115 gcc  clang  ld 

2
Предполагается ли комитетом по стандартам C ++, что в C ++ 11 unordered_map уничтожает то, что вставляет?
Я только что потерял три дня своей жизни, отслеживая очень странную ошибку, когда unordered_map :: insert () уничтожает вставленную вами переменную. Это крайне неочевидное поведение наблюдается только в самых последних компиляторах: я обнаружил, что clang 3.2–3.4 и GCC 4.8 - единственные компиляторы, демонстрирующие эту «особенность». Вот небольшой сокращенный код из …
114 c++  gcc  c++11  clang  standards 

5
Где в Linux определяется PATH_MAX?
Какой файл заголовка следует вызвать, #includeчтобы иметь возможность использовать PATH_MAX в качестве int для определения размера строки? Я хочу иметь возможность заявить: char *current_path[PATH_MAX]; Но когда я это сделаю, мой компилятор (Clang / LLVM в Linux) выдает следующую ошибку: recursive_find6.c:29:20: error: use of undeclared identifier 'PATH_MAX' char *current_path[PATH_MAX]; ^ Я …
113 c  linux  gcc  include  clang 

4
Cout синхронизирован / потокобезопасен?
В общем, я предполагаю, что потоки не синхронизируются, пользователь должен выполнить соответствующую блокировку. Однако есть ли coutособая обработка в стандартной библиотеке? То есть, если несколько потоков пишут, coutмогут ли они повредить coutобъект? Я понимаю, что даже при синхронизации вы все равно получите произвольно чередующийся вывод, но гарантировано ли это чередование. …
112 c++  gcc  c++11 

11
Как удалить неиспользуемые символы C / C ++ с помощью GCC и ld?
Мне нужно сильно оптимизировать размер исполняемого файла ( ARMразработка), и я заметил, что в моей текущей схеме сборки ( gcc+ ld) неиспользуемые символы не удаляются. Использование arm-strip --strip-unneededдля результирующих исполняемых файлов / библиотек не меняет выходной размер исполняемого файла (я понятия не имею, почему, возможно, он просто не может) . …
111 c++  c  gcc  ld  strip 

4
Как я могу сделать ссылку на конкретную версию glibc?
Когда я компилирую что-то на своем ПК с Ubuntu Lucid 10.04, оно связывается с glibc. Lucid использует glibc версии 2.11. Когда я запускаю этот двоичный файл на другом компьютере с более старой версией glibc, команда не сообщает, что glibc 2.11 ... Насколько мне известно, в glibc используется управление версиями символов. …
111 linux  gcc  linker  glibc  libc 


3
Почему два двоичных файла программ только с комментариями не изменяются в точности совпадают в gcc?
Я создал две программы на C Программа 1 int main() { } Программа 2 int main() { //Some Harmless comments } AFAIK, при компиляции компилятор (gcc) должен игнорировать комментарии и избыточные пробелы, и, следовательно, вывод должен быть аналогичным. Но когда я проверил md5-суммы выходных двоичных файлов, они не совпадают. Я …

18
Будет ли strlen вычисляться несколько раз при использовании в условии цикла?
Я не уверен, может ли следующий код вызывать избыточные вычисления или это зависит от компилятора? for (int i = 0; i < strlen(ss); ++i) { // blabla } Будет strlen()ли рассчитываться каждый раз при iувеличении?
109 c++  c  gcc  optimization  strlen 



11
Ошибка компиляции GCC с кодом> 2 ГБ
У меня огромное количество функций на общую сумму около 2,8 ГБ объектного кода (к сожалению, нет другого пути, научные вычисления ...) Когда я пытаюсь связать их, я получаю (ожидаемые) relocation truncated to fit: R_X86_64_32Sошибки, которые я надеялся обойти, указав флаг компилятора -mcmodel=medium. Все библиотеки, которые связаны, кроме того, что я …
108 c++  c  gcc  compiler-errors 

8
статическая компоновка только некоторых библиотек
Как я могу статически связать только некоторые определенные библиотеки с моим двоичным файлом при связывании с GCC? gcc ... -static ...пытается статически связать все связанные библиотеки, но у меня нет статической версии некоторых из них (например: libX11).

3
Как предотвратить оптимизацию gcc некоторых операторов в C?
Чтобы сделать страницу грязной (включая бит грязи в записи таблицы страниц), я касаюсь первых байтов страницы следующим образом: pageptr[0] = pageptr[0]; Но на практике gcc проигнорирует утверждение об исключении мертвого хранилища. Чтобы предотвратить его оптимизацию в gcc, я переписываю инструкцию следующим образом: volatile int tmp; tmp = pageptr[0]; pageptr[0] = …
107 c  gcc 

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.