Вопросы с тегом 'gcc'

GCC - сборник компиляторов GNU. Это де-факто стандартный компилятор C на Linux и поддерживает многие другие языки и платформы.
3
ответов

Почему GCC генерирует такую ​​радикально различную сборку для почти того же C-кода?

При написании оптимизированной функции ftol я нашел очень странное поведение в GCC 4.6.1. Позвольте мне сначала показать вам код (для ясности я отметил различия): fast_trunc_one, C: int fast_trunc_one(int i) { int mantissa, exponent, sign, r; ...
задан 20 апр. '12 в 19:59
4
ответов

Дорогой прыжок с GCC 5.4.0

У меня была функция, которая выглядела так (показывая только важную часть): double CompareShifted(const std::vector<uint16_t>& l, const std::vector<uint16_t> &curr, int shift, int shiftY) { ... for(std::size_t i=std::max(0,-sh...
задан 06 дек. '16 в 12:22
16
ответов

Удаление конечного символа новой строки из входа fgets()

Я пытаюсь получить некоторые данные от пользователя и отправить его в другую функцию в gcc. Код выглядит примерно так. printf("Enter your Name: "); if (!(fgets(Name, sizeof Name, stdin) != NULL)) { fprintf(stderr, "Error reading Name.\n"); e...
задан 22 апр. '10 в 22:21
4
ответов

Почему GCC использует умножение на странное число при реализации целочисленного деления?

Я читал об операциях сборки div и mul, и я решил увидеть их в действии, написав простую программу в C: File division.c #include <stdlib.h> #include <stdio.h> int main() { size_t i = 9; size_t j = i / 5; printf("%zu\n",j);...
задан 16 дек. '16 в 14:59
4
ответов

Я не понимаю -Wl, -rpath -Wl,

Для удобства я добавил соответствующие справочники ниже. Сначала мое (неправильное) понимание: если мне нужно разделить параметры с ,, это означает, что второй -Wl не является другой опцией, потому что он предшествует ,, что означает, что это аргум...
задан 03 июля '11 в 13:41
8
ответов

Как отключить предупреждения GCC для нескольких строк кода

В Visual С++ можно использовать #pragma warning (disable: ...). Также я обнаружил, что в GCC вы можете переопределить флаги компилятора файла. Как это сделать для "следующей строки" или с помощью семантики push/pop вокруг областей кода с использовани...
задан 31 июля '10 в 17:41
5
ответов

Почему этот цикл создает "предупреждение: итерация 3u вызывает undefined поведение" и выводит более 4 строк?

Компиляция: #include <iostream> int main() { for (int i = 0; i < 4; ++i) std::cout << i*1000000000 << std::endl; } и gcc выдает следующее предупреждение: warning: iteration 3u invokes undefined behavior [-Waggres...
задан 19 июня '14 в 2:27
6
ответов

Наследование конструкторов

Почему этот код: class A { public: explicit A(int x) {} }; class B: public A { }; int main(void) { B *b = new B(5); delete b; } Результат этих ошибок: main.cpp: In function ‘int main()’: main.cpp:13: error: no matching fun...
задан 07 дек. '08 в 10:41
9
ответов

Где gcc ищет файлы заголовков C и С++?

В системе Unix, где gcc ищет файлы заголовков? Сегодня утром я потратил немного времени на поиск файлов системных заголовков, поэтому я подумал, что это будет хорошая информация, чтобы иметь здесь.
задан 05 дек. '08 в 19:02
4
ответов

предупреждение: несовместимое неявное объявление встроенной функции 'xyz

Я получаю несколько этих предупреждений при компиляции нескольких двоичных файлов: warning: incompatible implicit declaration of built-in function ‘strcpy’ warning: incompatible implicit declaration of built-in function ‘strlen’ warning: incompatibl...
задан 10 июня '09 в 21:01
9
ответов

Ошибка "gnu/stubs-32.h: нет такого файла или каталога" при компиляции исходного кода Nachos

Я пытаюсь установить Nachos на свой ноутбук, и у меня Ubuntu 11.04 на ноутбуке. Код находится на C, поэтому для его создания я предполагаю, что мне понадобится перекрестный компилятор. Вот где моя проблема. Я загрузил исходный код кросс-компилятора ...
задан 14 сент. '11 в 10:12
5
ответов

Почему улучшенный оптимизатор GCC 6 нарушает практический код на С++?

GCC 6 имеет новую функцию оптимизатора: предполагается, что this всегда не является нулевым и оптимизирует на основе этого. Распространение диапазона значений теперь предполагает, что этот указатель функций-членов С++ не равен нулю. Это устраняет...
задан 27 апр. '16 в 17:45
22
ответов

Полезные флаги GCC для C

Помимо настройки -Wall и установки -std=XXX, какие другие действительно полезные, но менее известные флаги компилятора существуют для использования в C? Меня особенно интересуют любые дополнительные предупреждения и/или, а в некоторых случаях превр...
задан 31 июля '10 в 1:04
5
ответов

Как увидеть, какие флаги -march = native будут активированы?

Я компилирую свое приложение на С++ с помощью GCC 4.3. Вместо того, чтобы вручную выбирать флаги оптимизации, я использую -march=native, который теоретически должен добавить все флаги оптимизации, применимые к аппаратным средствам, которые я компили...
задан 29 марта '11 в 12:14
8
ответов

Почему происходит отключение функции не-void без возврата значения, не приводящего к ошибке компилятора?

С тех пор, как я понял много лет назад, это не порождает ошибку по умолчанию (по крайней мере, по крайней мере в gcc). Я всегда задавался вопросом, почему? Я понимаю, что вы можете выпускать флаги компилятора для создания предупреждения, но не всегд...
задан 23 окт. '09 в 0:21