Запитання з тегом «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 

2
Чи призначено комітетом зі стандартів C ++ те, що в C ++ 11 unorряд_map знищує те, що він вставляє?
Я щойно втратив три дні свого життя, відслідковуючи дуже дивну помилку, де unordered_map :: insert () знищує змінну, яку ви вставляєте. Ця надзвичайно очевидна поведінка зустрічається лише в останніх компіляторах: я виявив, що кланг 3.2-3.4 та GCC 4.8 - єдині компілятори, які демонструють цю "особливість". Ось зменшений код з моєї …
114 c++  gcc  c++11  clang  standards 

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 …
114 gcc  clang  ld 

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

5
Де визначено PATH_MAX у Linux?
Який файл заголовка я повинен викликати, #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]; ^ Я спробував …
112 c  linux  gcc  include  clang 


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

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

4
Як я можу зв’язатись із певною версією glibc?
Коли я компілюю щось на моєму ПК Ubuntu Lucid 10.04, воно з’єднується з glibc. Lucid використовує 2,11 glibc. Коли я запускаю цей двійковий файл на іншому ПК зі старшим glibc, команда не вдається сказати, що немає glibc 2.11 ... Наскільки я знаю, glibc використовує версію символів. Чи можу я змусити …
110 linux  gcc  linker  glibc  libc 

18
Чи буде струн обчислюватися в кілька разів, якщо його використовувати в умовах циклу?
Я не впевнений, чи може наступний код викликати надмірні обчислення, чи це специфічний для компілятора? 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.