Pytania otagowane jako gcc

GCC to kolekcja kompilatorów GNU. Jest to de facto standardowy kompilator dla C, C ++, Go, Fortran i Ady w systemie Linux i obsługuje również wiele innych języków i platform. Oprócz kompilatora GCC ma zestaw narzędzi (libc, libstdc ++, objdump, nm itp.), Które są szeroko stosowane na kilku platformach i systemach.

9
Jak wyłączyć ostrzeżenia o nieużywanych zmiennych wychodzące z gcc w kodzie strony trzeciej, którego nie chcę edytować?
Chciałbym wiedzieć, jaki przełącznik przekazujesz do kompilatora gcc, aby wyłączyć ostrzeżenia o nieużywanych zmiennych? W systemie Windows pojawiają się błędy i nie chcę dotykać kodu doładowania: C:\boost_1_52_0/boost/system/error_code.hpp: At global scope: C:\boost_1_52_0/boost/system/error_code.hpp:214:36: error: 'boost::system::posix_category' defined but not used [-Werror=unused-variable] C:\boost_1_52_0/boost/system/error_code.hpp:215:36: error: 'boost::system::errno_ecat' defined but not used [-Werror=unused-variable] C:\boost_1_52_0/boost/system/error_code.hpp:216:36: error: 'boost::system::native_ecat' defined …


9
Jak mogę sprawić, by Makefile automatycznie odbudował pliki źródłowe, które zawierają zmodyfikowany plik nagłówkowy? (W C / C ++)
Mam następujący plik makefile, którego używam do budowania programu (właściwie jądra), nad którym pracuję. To jest od zera i uczę się o tym procesie, więc nie jest doskonały, ale myślę, że w tym momencie jest wystarczająco potężny, jak na mój poziom doświadczenia w pisaniu makefile. AS = nasm CC = …


6
Prekompilowane nagłówki z GCC
Czy ktoś odniósł sukces w uzyskaniu prekompilowanych nagłówków przy współpracy z GCC? Nie miałem szczęścia w moich próbach i nie widziałem wielu dobrych przykładów, jak to skonfigurować. Próbowałem na cygwin gcc 3.4.4 i używam 4.0 na Ubuntu.

3
<random> generuje tę samą liczbę w systemie Linux, ale nie w systemie Windows
Poniższy kod ma na celu wygenerowanie listy pięciu liczb pseudolosowych w przedziale [1100]. Zaszczepiam default_random_enginez time(0), co zwraca czas systemowy w czasie uniksowym . Kiedy kompiluję i uruchamiam ten program w systemie Windows 7 przy użyciu Microsoft Visual Studio 2013, działa zgodnie z oczekiwaniami (patrz poniżej). Kiedy robię to w …

5
Statyczne łączenie libstdc ++: jakieś problemy?
Muszę wdrożyć aplikację C ++ zbudowaną na Ubuntu 12.10 z libstdc ++ GCC 4.7 na systemy z Ubuntu 10.04, które są dostarczane ze znacznie starszą wersją libstdc ++. Obecnie kompiluję z -static-libstdc++ -static-libgcc, zgodnie z sugestią tego wpisu na blogu: Statyczne łączenie libstdc ++ . Autor ostrzega przed użyciem jakiegokolwiek …

5
Błąd krytyczny GCC: stdio.h: Nie ma takiego pliku lub katalogu
Próbuję skompilować program w C na OS X 10.9 z GCC 4.9 (eksperymentalnie). Z jakiegoś powodu w czasie kompilacji pojawia się następujący błąd: gcc: fatal error: stdio.h: No such file or directory Następnie wypróbowałem prosty program Hello World: #include &lt;stdio.h&gt; int main(int argc, const char *argv[]) { printf("Hello, world!"); return …
90 c  gcc  stdio 

6
Tworzenie pakietu aplikacji OSX
Załóżmy, że stworzyłem aplikację osX bez użycia Xcode. Po kompilacji z GCC otrzymuję plik wykonywalny, który jest powiązany z kilkoma innymi bibliotekami. Niektóre z tych bibliotek mogą być ponownie dynamicznie połączone z innymi niestandardowymi bibliotekami systemowymi Czy istnieje jakieś narzędzie, które tworzy pakiet aplikacji OSX, najpierw tworząc wymagane struktury katalogów, …
90 macos  gcc  otool 

5
Jaka jest różnica między gcc -ggdb i gcc -g
Kiedy używam gcc do kompilowania programów w C, zwykle używam -gdo pobierania informacji debugowania do pliku elf, aby gdb mógł mi pomóc w razie potrzeby. Jednak zauważyłem, że niektóre programy używają -ggdb, ponieważ ma to na celu uczynienie informacji debugowania bardziej przyjaznymi dla gdb. Czym się różnią i co jest …
90 gcc  gdb 

4
Kompilowanie kodu wielowątkowego za pomocą g ++
Mam najłatwiejszy kod w historii: #include &lt;iostream&gt; #include &lt;thread&gt; void worker() { std::cout &lt;&lt; "another thread"; } int main() { std::thread t(worker); std::cout &lt;&lt; "main thread" &lt;&lt; std::endl; t.join(); return 0; } chociaż nadal nie mogę go skompilować, g++aby uruchomić. Więcej szczegółów: $ g++ --version g++ (Ubuntu/Linaro 4.8.1-10ubuntu8) 4.8.1 Copyright …
89 c++  linux  ubuntu  gcc  g++ 

4
Czy definicja „niestabilności” jest tak zmienna, czy też GCC ma jakieś problemy ze standardami zgodności?
Potrzebuję funkcji, która (jak SecureZeroMemory z WinAPI) zawsze zeruje pamięć i nie jest zoptymalizowana, nawet jeśli kompilator uważa, że ​​pamięć nie będzie już nigdy dostępna. Wydaje się, że jest to idealny kandydat na niestabilność. Ale mam pewne problemy z uruchomieniem tego z GCC. Oto przykładowa funkcja: void volatileZeroMemory(volatile void* ptr, …
89 c++  c  gcc  standards 

1
Jaka jest różnica między -rpath a -L?
gcci ldzapewniają wiele sposobów określania ścieżki wyszukiwania bibliotek - między innymi flagi -rpathi -L. Strony podręcznika nie ujawniają różnic między tymi dwiema flagami, co oznacza, że ​​każda flaga dodaje bibliotekę do ścieżki wyszukiwania biblioteki. Jednak wydaje się dziwne, że obie flagi robią dokładnie to samo. Jakie są różnice, jeśli w …

4
Czy zmienne stosu są wyrównane przez GCC __attribute __ ((aligned (x)))?
mam następujący kod: #include &lt;stdio.h&gt; int main(void) { float a[4] __attribute__((aligned(0x1000))) = {1.0, 2.0, 3.0, 4.0}; printf("%p %p %p %p\n", &amp;a[0], &amp;a[1], &amp;a[2], &amp;a[3]); } Mam następujący wynik: 0x7fffbfcd2da0 0x7fffbfcd2da4 0x7fffbfcd2da8 0x7fffbfcd2dac Dlaczego adres a[0]nie jest wielokrotnością 0x1000? Co dokładnie __attribute__((aligned(x)))robi? Źle zrozumiałem to wyjaśnienie? Używam gcc 4.1.2.

2
jawna specjalizacja funkcji składowej klasy szablonu
Muszę wyspecjalizować funkcję elementu członkowskiego szablonu dla pewnego typu (powiedzmy podwójnie ). Działa dobrze, podczas gdy Xsama klasa nie jest klasą szablonu, ale kiedy ją robię, szablon GCC zaczyna generować błędy w czasie kompilacji. #include &lt;iostream&gt; #include &lt;cmath&gt; template &lt;class C&gt; class X { public: template &lt;class T&gt; void get_as(); …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.