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.

3
Różnica między CC, gcc i g ++?
Jaka jest różnica między trzema kompilatorami CC, gcc, g ++ podczas kompilowania kodu C i C ++ pod względem generowania kodu asemblera, dostępnych bibliotek, funkcji języka itp.?
107 c++  c  gcc  compilation 



6
Do czego służy __gxx_personality_v0?
To pytanie z drugiej ręki z witryny programistycznej systemu operacyjnego, ale zaciekawiło mnie, ponieważ nigdzie nie mogłem znaleźć przyzwoitego wyjaśnienia. Podczas kompilowania i linkowania wolnostojącego programu w C ++ przy użyciu gcc, czasami pojawia się taki błąd konsolidatora: out/kernel.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0' Jest to najwyraźniej spowodowane tym, że ten …
103 c++  gcc  linker  kernel 

4
Korzystanie z biblioteki C ++ w kodzie C.
Mam bibliotekę C ++, która udostępnia różne klasy do zarządzania danymi. Mam kod źródłowy biblioteki. Chcę rozszerzyć interfejs API C ++, aby obsługiwał wywołania funkcji C, aby biblioteka mogła być używana z kodem C i kodem C ++ w tym samym czasie. Używam łańcucha narzędzi GNU (gcc, glibc itp.), Więc …
103 c++  c  gcc  glibc 

4
Co znaczy -D_XOPEN_SOURCE?
Niedawno napotkałem kod, którego gcc nie skompilowałby bez tego argumentu. Sprawdziłem stronę podręcznika gcc, ale nie znalazłem tej konkretnej opcji. Znalazłem XOPEN_SOURCE, ale niewiele było wyjaśnienia, do czego służy. Czy ktoś może coś rozwinąć? Wiem, że -D_XOPEN_SOURCEmożna ustawić różne wartości, takie 400, 600ale to, co czynili DO?
103 c  gcc 

2
Co oznacza && w void * p = && abc;
Natrafiłem na fragment kodu void *p = &&abc;. Jakie ma to znaczenie &&? Wiem o odwołaniach do wartości r, ale myślę, że &&w tym kontekście jest inaczej. Co to &&oznacza void *p = &&abc;?
102 c++  c  gcc  operators 


3
Downcasting shared_ptr <Base> do shared_ptr <Derived>?
Aktualizacja: shared_ptr w tym przykładzie jest podobne do tego w Boost, ale nie obsługuje shared_polymorphic_downcast (ani dynamic_pointer_cast lub static_pointer_cast w tym przypadku)! Próbuję zainicjować udostępniony wskaźnik do klasy pochodnej bez utraty liczby odwołań: struct Base { }; struct Derived : public Base { }; shared_ptr&lt;Base&gt; base(new Base()); shared_ptr&lt;Derived&gt; derived; // …
102 c++  gcc  boost 

2
GCC -g kontra -g3 Flaga GDB: jaka jest różnica?
Podczas kompilowania kodu źródłowego C za pomocą gcc lub Clang, zawsze używam -gflagi do generowania informacji debugowania dla gdb. gcc -g -o helloworld helloworld.c Zauważyłem, że niektórzy -g3zamiast tego polecają . Jaka jest różnica między flagami -gi -g3? Czy jest też różnica między -gi -ggdb?
102 c  debugging  gcc  gdb  clang 

21
CUDA jest niezgodna z moją wersją gcc
Mam problemy ze skompilowaniem niektórych przykładów dostarczonych z CUDA SDK. Zainstalowałem sterownik programisty (wersja 270.41.19) i zestaw narzędzi CUDA, a na końcu SDK (obie wersje 4.0.17). Początkowo w ogóle się nie kompilował dając: error -- unsupported GNU version! gcc 4.5 and up are not supported! Znalazłem odpowiedzialną linię w 81: …
102 gcc  cuda  debian 


3
Jak stworzyć bibliotekę statyczną za pomocą g ++?
Czy ktoś może mi powiedzieć, jak utworzyć bibliotekę statyczną z pliku .cpp i .hpp? Czy muszę tworzyć pliki .o i .a? Chciałbym również wiedzieć, jak skompilować bibliotekę statyczną i użyć jej w innym kodzie .cpp. Mam header.cpp, header.hpp .chciałbym stworzyć header.a. Przetestuj nagłówek test.cpp. A in . Do kompilacji używam …

3
Czy gcc 4.8 lub starszy zawiera błędy w wyrażeniach regularnych?
Próbuję użyć std :: regex w fragmencie kodu C ++ 11, ale wygląda na to, że obsługa jest trochę błędna. Przykład: #include &lt;regex&gt; #include &lt;iostream&gt; int main (int argc, const char * argv[]) { std::regex r("st|mt|tr"); std::cerr &lt;&lt; "st|mt|tr" &lt;&lt; " matches st? " &lt;&lt; std::regex_match("st", r) &lt;&lt; std::endl; std::cerr …
101 c++  regex  gcc  c++11  libstdc++ 

2
Błąd kompilatora: memset nie został zadeklarowany w tym zakresie
Próbuję skompilować mój program w C w Ubuntu 9.10 (gcc 4.4.1). Otrzymuję ten błąd: Rect.cpp:344: error: ‘memset’ was not declared in this scope Ale problem polega na tym, że już umieściłem w moim pliku cpp: #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; I ten sam program dobrze się kompiluje pod Ubuntu 8.04 (gcc …
101 c++  gcc 

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.