Kompilator C

0

WAŻNE: chodzi mi o __C__ a nie C++! Żeby mi nikt z tym nie wyskoczył...

Mam takie pytanie - ostatnio zacząłem programować w C. I zastanawiam się nad kompilatorem - używam GCC, ale z tego co wiem strasznie wielu na niego rzuca gromy :) Jest jakiś bardziej polecany przez was kompilator?
Dodam jeszcze że dość często zdarza mi się kompilować tylko do połowy (Nie pamiętam czy to jest asemblacja czy linkacja ;) W każdym razie do kodu obiektowego) albo kompilować do asemblera, więc miło by było gdyby kompilator też posiadał te ficzery. No, chyba że gcc nie jest taki zły?

0

Praktycznie każda paczka kompilatorów wspiera C - czy to CL z Visuala czy GCC z... GCC.

Chcesz naprawdę dobry, nowoczesny kompilator C? Nie ma chyba nic lepszego niż CLang z LLVM. Świetny kompilator, wydajny, daje bardzo czytelne komunikaty błędów. Jedyny brak to pragmy od floatów w obsłudze C99, chociaż w życiu ich nie widziałem w użyciu.

0

Jedyny brak to pragmy od floatów w obsłudze C99, chociaż w życiu ich nie widziałem w użyciu.

Ja nawet o nich nie słyszałem (tzn nie wiem o co w nich chodzi) więc to raczej nie stanowi problemu.

Poczytałem trochę o CLangu i nie widzę niczego co by mnie odrzucało od niego. Dzięki za propozycję, spróbuje.

0

A co jest takiego złego w GCC, że lecą na niego gromy? http://gcc.gnu.org/c99status.html - status C99, kilka rzeczy jest skopanych widać, ale nie są to chyba kluczowe elementy. Komunikaty GCC też zawsze mi się, w przypadku C, czytelne wydawały. Możesz więc sparafrazować nieco krytyki? :P

0

Kiedyś Pelles-C używałem - zaleta to przyjemne IDE i małe exeki tworzy, co do technicznych szczegółów to nie wiem jak dobrze się prezentuje, pewnie deus zaraz odpowie:P

0

Możesz więc sparafrazować nieco krytyki?

Głównie krytyka leci na Dev-Cpp (który z GCC korzysta) - nie będę tutaj jej wypisywał - tylko zaznaczę 2 sprawy

  1. dev korzysta z GCC z roku 2004... Czyli przestarzała
  2. dev korzysta chyba z g++.exe (nie jestem pewien) a ja z gcc.exe - to zupełnie inny program :)

edit: w przypadku GCC i gcc liczy się wielkość.

0

Pelles-C? Nie używałem.

GCC ma to do siebie, że ma straszny syf w architekturze, masę starego kodu, przez co jest strasznie wolny. Komunikaty błędów mogą być czytelniejsze, zaś nawet stabilny GCC 4.4 (na Linuksie, żeby nie było, że kiepski port) potrafił mi źle jeden kod skompilować, pomogło... włączenie optymalizacji. Zwyczajnie GCC ma narzut kilkunastu lat ciągłego zmieniania koncepcji i planów rozwoju, jak większość projektów GNU (vide 'stabilne' jak cholera API kernela). Sami developerzy to przyznają, było już kilka prób zrobienia z tym czegoś, ale to skazane na niepowodzenie.

LLVM to dosyć nowy projekt, bardzo ciekawy od strony technicznej, architektonicznie też pięknie pomyślany, wspierany przez poważną korporację (Apple). To tak dobry zestaw narzędzi, że wiele projektów poważnie rozważa przejście na niego, lub już to zrobiło. Sporo ludzi ma nadzieję, że Clang zastąpi z czasem GCC w popularnych dystrybucjach Linuksa/BSD.

...a ja zwyczajnie po przejściach z GCC już mu nie ufam, CLang/LLVM to wydajna i efektywna alternatywa, której zamierzam się trzymać.

  1. dev korzysta chyba z g++.exe (nie jestem pewien) a ja z gcc.exe - to zupełnie inny program

Ekhm? To tylko różne frontendy dla tego samego kompilatora...

0
Świętowit napisał(a)
  1. dev korzysta chyba z g++.exe (nie jestem pewien) a ja z gcc.exe - to zupełnie inny program

Ekhm? To tylko różne frontendy dla tego samego kompilatora...

Nawet nie bardzo różne, wywołanie g++ jest mniej-więcej równoważne wywołaniu

gcc -xc++ -lstdc++

(możliwe że dochodzi jeszcze parę parametrów), ale w tym rzecz: oba to tylko nakładka, prawdziwy kompilator to cc1.exe (C) i cc1plus.exe (C++).

1 użytkowników online, w tym zalogowanych: 0, gości: 1