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

164
Небезопасен ли пакет gcc для __attribute __ ((упакованный)) / #pragma?

В C компилятор будет размещать элементы структуры в порядке, в котором они объявлены, с возможными байтами заполнения, вставляемыми между элементами или после последнего, чтобы гарантировать правильное выравнивание каждого элемента. gcc предоставляет расширение языка __attribute__((packed)),...

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

Я получаю ряд этих предупреждений при компиляции нескольких двоичных файлов: warning: incompatible implicit declaration of built-in function ‘strcpy’ warning: incompatible implicit declaration of built-in function ‘strlen’ warning: incompatible implicit declaration of built-in function ‘exit’ Чтобы...

162
Почему этот цикл выдает «предупреждение: итерация 3u вызывает неопределенное поведение» и выводит более 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 [-Waggressive-loop-optimizations] std::cout << i*1000000000...

162
Сборка .so файла из .c файла с использованием командной строки gcc

Я пытаюсь создать проект hello world для динамических библиотек Linux (файлы .so). Итак, у меня есть файл hello.c: #include <stdio.h> void hello() { printf("Hello world!\n"); } Как мне создать .so файл, который экспортирует hello(), используя gcc из командной...

159
LD_LIBRARY_PATH против LIBRARY_PATH

Я создаю простую программу на C ++ и хочу временно заменить поставляемую системой разделяемую библиотеку более свежей версией для разработки и тестирования. Я попытался установить переменную LD_LIBRARY_PATH, но компоновщик (ld) потерпел неудачу с: / usr / bin / ld: не удается найти -lyaml-cpp Я...

159
Не могу скомпилировать программу C на Mac после обновления до Мохаве

Я использовал команду gcc на терминале для компиляции программ на Си, но внезапно, после обновления ОС моего Mac (до macOS 10.14 Mojave и XCode 10.0), я начал получать сообщение: test.c:8:10: fatal error: stdio.h: No such file or directory #include <stdio.h> ^~~~~~~~~ compilation terminated....

158
Почему выпадение из конца непустой функции без возврата значения не приводит к ошибке компилятора?

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

158
объявление функции не является прототипом

У меня есть библиотека, которую я создал, mylib.c: #include <mylib.h> int testlib() { printf("Hello world\n"); return (0); } mylib.h: #include <stdio.h> extern int testlib(); В моей программе я попытался вызвать эту библиотечную функцию: myprogram.c: #include <mylib.h> int main...

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

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

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

В GCC 6 появилась новая функция оптимизатора : она предполагает, что thisона всегда не равна нулю, и оптимизирует на основе этого. Распространение диапазона значений теперь предполагает, что указатель this функций-членов C ++ не равен NULL. Это исключает обычные проверки нулевого указателя, но...

148
Сделать установку, но не в каталоги по умолчанию?

Я хочу запустить 'make install', чтобы у меня было все необходимое, но я бы хотел, чтобы он устанавливал вещи в их собственную папку, а не в системный каталог / usr / bin и т. Д. Возможно ли это? даже если он ссылается на инструменты в / usr / bin и т....

147
В чем преимущество __builtin_expect GCC в операторах if else?

Я наткнулся на то, #defineв котором их используют __builtin_expect. В документации говорится: Встроенная функция: long __builtin_expect (long exp, long c) Вы можете использовать, __builtin_expectчтобы предоставить компилятору информацию о предсказании ветвления. В общем, вы должны предпочесть...

147
brew install gcc слишком много времени

Я делаю чистую установку Mavericks и случайно сделал brew install gcc что занимает больше получаса, а может и больше. Должен ли я его прекратить? Теперь я знаю, что мне следовало установить конкретный gcc (возможно, gcc48), но уже слишком поздно, а воздух моего MacBook тяжело дышит. На данный...

144
Что на самом деле делает математика gcc?

Я понимаю, что --ffast-mathфлаг gcc может значительно увеличить скорость операций с плавающей запятой и выходит за рамки стандартов IEEE, но я не могу найти информацию о том, что на самом деле происходит, когда он включен. Может ли кто-нибудь объяснить некоторые детали и, возможно, дать четкий...

140
Является ли использование устаревшего компилятора C угрозой безопасности?

У нас в производстве есть несколько систем сборки, о которых никто не заботится, и на этих машинах работают старые версии GCC, такие как GCC 3 или GCC 2. И я не могу уговорить руководство обновить его до более свежего: мол, «если не сломалось, не чини». Поскольку мы поддерживаем очень старую...

138
Как скомпилировать статическую библиотеку в Linux?

У меня есть вопрос: как скомпилировать статическую библиотеку в Linux gcc, т.е. мне нужно скомпилировать мой исходный код в файл с именем out.a. Достаточно ли просто скомпилировать команду gcc -o out.a out.c? Я не совсем знаком gcc, надеюсь, кто-нибудь может мне...

136
Какова цель использования -pedantic в компиляторе GCC / G ++?

Эта записка говорит: -ansi: указывает компилятору реализовать опцию языка ANSI. Это отключает определенные «функции» GCC, которые несовместимы со стандартом ANSI. -pedantic: используется в сочетании с -ansi, это говорит компилятору строго придерживаться стандарта ANSI, отклоняя любой код, который...