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.

4
Jak sprawdzić, skąd jest dołączony plik nagłówkowy?
Jak mogę sprawdzić, gdzie g ++ mógł znaleźć plik dołączany? Zasadniczo, jeśli ja #include <foo.h> g ++ przeskanuje ścieżkę wyszukiwania, używając dowolnych opcji dołączania, aby dodać lub zmienić ścieżkę. Ale, na koniec, czy jest sposób, bym mógł określić absolutną ścieżkę foo.h, którą g ++ wybrał do kompilacji? Jest to szczególnie …
101 c++  c  gcc  include  g++ 


2
Jaka jest różnica między parametrami gcc „-fpic” i „-fPIC”?
Przeczytałem już stronę gccpodręcznika, ale nadal nie rozumiem różnicy między -fpici -fPIC. Czy ktoś może to wyjaśnić w bardzo prosty i jasny sposób? Powiązane pytania: Co oznacza -fPIC podczas tworzenia biblioteki współdzielonej? Jakie są konsekwencje kompilowania obiektów z flagą gcc -fPIC, jeśli zostaną użyte w plikach wykonywalnych?
99 gcc  fpic 

7
Ostrzeżenie C ++: dzielenie podwójnego przez zero
Przypadek 1: #include <iostream> int main() { double d = 15.50; std::cout<<(d/0.0)<<std::endl; } Kompiluje się bez żadnych ostrzeżeń i wydruków inf. OK, C ++ radzi sobie z dzieleniem przez zero ( zobacz na żywo ). Ale, Przypadek 2: #include <iostream> int main() { double d = 15.50; std::cout<<(d/0)<<std::endl; } Kompilator …


4
Błąd konsolidatora Experimental :: filesystem
Staram się używać nowych funkcji c ++ 1z na czele rozwoju w gcc 6.0. Jeśli spróbuję tego małego przykładu: #include <iostream> #include <experimental/filesystem> namespace fs = std::experimental::filesystem; int main() { fs::path p1 = "/home/pete/checkit"; std::cout << "p1 = " << p1 << std::endl; } Mam: / opt / linux-gnu_6-20151011 / …
98 c++  gcc  c++17 


13
Rozpakowywanie wyniku std :: type_info :: name
Obecnie pracuję nad kodem do logowania, który miałby - między innymi - wypisywać informacje o funkcji wywołującej. Powinno to być stosunkowo łatwe, standardowy C ++ ma type_infoklasę. Zawiera nazwę klasy / funkcji / itp. Z identyfikatorem typu. ale jest zniekształcony. Nie jest to zbyt przydatne. Tj . typeid(std::vector<int>).name()Wraca St6vectorIiSaIiEE. Czy …
97 c++  gcc  name-mangling 

1
Inicjalizacja elementu członkowskiego podczas korzystania z konstruktora delegowanego
Zacząłem wypróbowywać standard C ++ 11 i znalazłem to pytanie, które opisuje, jak wywołać twojego ctora z innego ctora w tej samej klasie, aby uniknąć posiadania metody init lub podobnej. Teraz próbuję tego samego z kodem, który wygląda następująco: hpp: class Tokenizer { public: Tokenizer(); Tokenizer(std::stringstream *lines); virtual ~Tokenizer() {}; …

7
Jak skompilować bez traktowania ostrzeżeń jako błędów?
Problem polega na tym, że ten sam kod, który dobrze kompiluje się w systemie Windows, nie jest w stanie skompilować się na Ubuntu. Za każdym razem, gdy otrzymuję ten błąd: cc1: warnings being treated as errors Teraz jest to duża baza kodu i nie lubię naprawiać wszystkich ostrzeżeń. Czy jest …

8
Jak zmienić domyślny kompilator GCC w Ubuntu?
Zainstalowałem gcc-3.3 / g ++ - 3.3 na ubuntu 11.04, który ma już gcc / g ++ - 4.4. Więc w moim systemie dostępne są zarówno gcc-3.3, jak i 4.4. Jestem w stanie wywołać oba kompilatory, jak chcę. Jeśli po prostu wywołam polecenie, gcczostanie wywołane gcc-4.4. Aby wywołać gcc-3.3, muszę …
96 linux  ubuntu  gcc 


13
Jak mogę użyć „sizeof” w makrze preprocesora?
Czy istnieje sposób na użycie sizeofmakra preprocesora? Na przykład przez lata było mnóstwo sytuacji, w których chciałem zrobić coś takiego: #if sizeof(someThing) != PAGE_SIZE #error Data structure doesn't match page size #endif Dokładna rzecz, którą tutaj sprawdzam, jest całkowicie wymyślona - chodzi o to, że często lubię wprowadzać tego typu …
95 c  gcc 

7
Jak skonfigurować zadanie cron, aby uruchamiało plik wykonywalny co godzinę?
Muszę skonfigurować zadanie cron, które co godzinę uruchamia plik wykonywalny skompilowany przy użyciu gcc. Zalogowałem się jako root i wpisałem crontab -e Następnie wprowadziłem następujące dane i zapisałem plik. 0 * * * * /path_to_executable Jednak zadanie cron nie działa. Widzę, że kiedy piszę /...path_to_executable, pojawia się błąd segmentacji. Mogę …
95 c  linux  gcc  cron  crontab 


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.