[C][C++] Pytanie odnośnie kompilatora

Hebo
Użytkownik
Użytkownik
Posty: 245
Rejestracja: 19 lis 2009, o 19:31
Płeć: Mężczyzna
Lokalizacja: Małopolskie
Podziękował: 28 razy
Pomógł: 9 razy

[C][C++] Pytanie odnośnie kompilatora

Post autor: Hebo »

Witam, chciałbym się dowiedzieć czym jest ANSI C lub ANSI C++. Czy są to oddzielne języki programowania, czy (odpowiednio) języki C i C++ ? I czym jest kompilator gcc? Jeżeli znacie odpowiedzi, to prosiłbym o podanie strony gdzie mógłbym pobrać takowy kompilator (gcc w ANSI C lub C++).

Pozdrawiam.
Ostatnio zmieniony 15 gru 2012, o 23:04 przez Afish, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
Awatar użytkownika
MichalPWr
Użytkownik
Użytkownik
Posty: 1625
Rejestracja: 29 wrz 2010, o 15:55
Płeć: Mężczyzna
Lokalizacja: Leszno
Podziękował: 7 razy
Pomógł: 387 razy

[C][C++] Pytanie odnośnie kompilatora

Post autor: MichalPWr »

ANSI C i ANSI C++ są różnymi językami programowania. Standard ANSI został stworzony, czy też zapoczątkowany w 1998r. ANSI C++ różni się tym od C++, że "przedrostek" ANSI oznacza standard z 1998r, a bez "przedrostka" ANSI oznacza późniejsze standardy.

Kompilator gcc zawiera się w każdym mi znanym systemie operacyjnym opartym na linux. Aby go odpalić wchodzisz w terminal i wpisujesz:

Kod: Zaznacz cały

$ gcc program.c
lub

Kod: Zaznacz cały

$ gcc -Wall -pedantic -ansi program.c
gdzie

Kod: Zaznacz cały

program.c
jest naszym kodem źródłowym


Ten drugi wymaga stuprocentowej zgodności z językiem ANSI C. Np przy używając komendy pierwszej, program toleruje znaczniki

Kod: Zaznacz cały

//  komentarz
które rozpoczynają komentarz i są zaczerpnięte z C++ i kompilator nie wyrzuca nam błędu. Natomiast używając komendy numer dwa, kompilator wyrzuci nam warning i trzeba będzie zastosować:

Kod: Zaznacz cały

/* komentarz */
royas
Użytkownik
Użytkownik
Posty: 363
Rejestracja: 24 sie 2012, o 09:27
Płeć: Mężczyzna
Lokalizacja: Cieszyn
Pomógł: 80 razy

[C][C++] Pytanie odnośnie kompilatora

Post autor: royas »

ANSI C++ używa się rzadko, częściej stosuje się już ISO C++ - to faktycznie przeważnie chodzi o pierwszy standard ISO dla C++ z 1998 nazywany też C++98. Wersjami standardowymi są również C++03 i C++11.

ANSI C przeważnie oznacza standard języka C, z 1989, równoważny ze standardem ISO z 1990. Nazywany też C89 lub C90. Może jednak oznaczać nowsze standardy ANSI/ISO: C99, C11.

Trochę tego jest, w każdym razie C i C++ to niezależne języki, każdy ma wiele wersji/standardów.

O gcc na Linuksie już napisał MichalPWr, jeśli jesteś skazany na Windowsa możesz próbować z MinGW lub Cygwin.

Aktualna wersja gcc przez wersję ANSI rozumie odpowiednio c++98 i c90. Aha no jeszcze jedno: gcc nie ma jeszcze w pełni zaimplementowanych nowszych wersji tych języków.
Ser Cubus
Użytkownik
Użytkownik
Posty: 1406
Rejestracja: 6 maja 2012, o 22:46
Płeć: Mężczyzna
Lokalizacja: Polska
Podziękował: 107 razy
Pomógł: 145 razy

[C][C++] Pytanie odnośnie kompilatora

Post autor: Ser Cubus »

na windowsie można uzywać gcc np. poprzez codeblocks

osobiscie polecam microsoft visual studio 2012, obsłguje standard c++11
ODPOWIEDZ