Запитання з тегом «gcc»

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

8
Невизначене посилання на статичний const int
Сьогодні я натрапив на цікаве питання. Розглянемо цей простий приклад: template <typename T> void foo(const T & a) { /* code */ } // This would also fail // void foo(const int & a) { /* code */ } class Bar { public: static const int kConst = 1; void …
79 c++  gcc 

2
Скомпілюйте та запустіть програму без main () в C
Я намагаюся скомпілювати та запустити наступну програму без main()функції в C. Я скомпілював свою програму, використовуючи наступну команду. gcc -nostartfiles nomain.c І компілятор дає попередження /usr/bin/ld: warning: cannot find entry symbol _start; defaulting to 0000000000400340 Без проблем. тоді я запустив виконуваний файл (a.out), обидва printfоператори успішно надрукували, а потім отримали …

9
Чому malloc ініціалізує значення до 0 у gcc?
Можливо, це різниться від платформи до платформи, але коли я компілюю за допомогою gcc і запускаю наведений нижче код, я щоразу отримую 0 в моєму ubuntu 11.10. #include <stdio.h> #include <stdlib.h> int main() { double *a = (double*) malloc(sizeof(double)*100) printf("%f", *a); } Чому malloc поводиться так, хоча є мозоль? Чи …
78 c  linux  gcc  malloc 

7
Як вимкнути оптимізацію компілятора в gcc?
Я намагаюся вивчити мову асемблера. Я шукав і знаходив, як розібрати .cфайл, але, на мою думку, він видає якусь оптимізовану версію програми. Чи є спосіб, щоб я міг побачити точний код збірки, який відповідає моєму файлу C.

4
У чому різниця між “gcc -s” та командою “strip”?
Цікаво, у чому різниця між цими двома: gcc -s: Вилучіть всю таблицю символів та інформацію про переміщення із виконуваного файлу. strip: Видалити символи з об'єктних файлів. Чи мають вони однакове значення? Який з них ви використовуєте для: зменшити розмір виконуваного файлу? прискорити його роботу?
77 gcc  strip  symbols 

4
Зробіть літерали з плаваючою комою C плаваючими (а не подвійними)
Добре відомо, що в C літерали з плаваючою комою (наприклад 1.23) мають тип double. Як наслідок, будь-який розрахунок, який їх включає, підвищується вдвічі. Я працюю над вбудованою системою реального часу, яка має одиницю з плаваючою комою, яка підтримує лише одиничні floatчисла точності ( ). Усі мої змінні є float, і …

3
CFLAGS, CCFLAGS, CXXFLAGS - чим саме керують ці змінні?
Я використовую GNU make для компіляції коду С ++, і я хотів би зрозуміти, як зробити мої компіляції настроюваними. Я читаю в різних місцях CFLAGS, CCFLAGSі CXXFLAGSдля цього їх використовують. То як я повинен їх використовувати? Якщо у мене є додаткові аргументи командного рядка до компілятора, чи слід додавати їх …

6
Як вимкнути оптимізацію компілятора gcc, щоб увімкнути переповнення буфера
Я працюю над проблемою домашнього завдання, яка вимагає відключення захисту від оптимізації компілятора, щоб вона працювала. Я використовую gcc 4.4.1 на ubuntu linux, але не можу зрозуміти, які прапори є правильними. Я усвідомлюю, що це залежить від архітектури - моя машина працює з 32-розрядним процесором Intel. Дякую.

4
Чому gcc дозволяє передавати аргументи функції, визначеної без аргументів?
Я не розумію, чому цей код компілюється? #include <stdio.h> void foo() { printf("Hello\n"); } int main() { const char *str = "bar"; foo(str); return 0; } gcc навіть не видає попередження про те, що я передаю занадто багато аргументів foo (). Це очікувана поведінка?
75 c  gcc  compiler-errors 

4
Помилка компіляції C ++?
У мене є такий код: #include <iostream> #include <complex> using namespace std; int main() { complex<int> delta; complex<int> mc[4] = {0}; for(int di = 0; di < 4; di++, delta = mc[di]) { cout << di << endl; } return 0; } Я очікую, що він виведе "0, 1, 2, …

7
Чи можна сказати провіснику гілок, наскільки ймовірно, що він стежить за гілкою?
Тільки для того, щоб це було зрозуміло, я не маю наміру до будь-якої переносимості тут, тому будь-які рішення, які прив’яжуть мене до певного вікна, чудові. В основному, у мене є твердження if, яке 99% часу оцінить як істинне, і я намагаюся вибити кожен останній годинник продуктивності, чи можу я виконати …


10
Неможливо скласти програму C на Mac після оновлення до Catalina 10.15
Існує попереднє запитання Неможливо скласти програму C на Mac після оновлення до Mojave , і відповіді на це охопили більшість варіантів того, що йде не так. Тепер - з понеділка 2019-10-07 - ви можете перейти на macOS Catalina 10.15. Знову під час оновлення /usr/includeкаталог було оновлено оновленням, хоча XCode 11.0 …
64 c  xcode  macos  gcc  macos-catalina 

2
Чому комутатор не оптимізований так само, як ланцюговий, якщо інший в c / c ++?
Наступна реалізація квадрата видає серію операторів cmp / je, як я би сподівався на ланцюжок, якщо заява: int square(int num) { if (num == 0){ return 0; } else if (num == 1){ return 1; } else if (num == 2){ return 4; } else if (num == 3){ return …

1
gcc-10.0.1
У мене є пакет R зі скомпільованим кодом C, який був досить стабільним протягом досить тривалого часу і часто перевіряється на широкому спектрі платформ і компіляторів (windows / osx / debian / fedora gcc / clang). Зовсім недавно була додана нова платформа для тестування пакету: Logs from checks with gcc …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.