Czy zna ktoś jakiś porządny kompilator zgodny ze standardem Ansi C?? Próbowałem C++Builder, VC++, Dev-C++, DJGPP ale one wszystkie nie są zgodne ze standardem (szczególne VC++ i C++Builder chociaż jak się zaznaczy w Dev-C++ wspieraj standard Ansi C to nawet najprostszego programu nie można poprawnie skompilować). Jeżeli nie znacie żadnych kompilatorów Ansi C to od biedy może być zgodny ze standardem K&R C.
Pozdrawiam!
A ustawiłeś odpowiednio opcje kompilacji w Builderze?
Project->Options->Advanced Compiler
Domyślnie jest Borland, zaznacz ANSI
Pozdrawiam.
kazdy z kompilatorow ktore podales jez w 100% zgodny z ANSI-C :P
Raczej to ty nie uzywasz ansi :)
A ustawiłeś odpowiednio opcje kompilacji w Builderze?
Project->Options->Advanced Compiler
Domyślnie jest Borland, zaznacz ANSI
Ustawiałem ale dzieje się to samo co w przypadku Deva.
Cepa: nie są zgodne - jak już pisałem - można ustawić opcje które tą zgodność zapenią ale wtedy żadna nawet najprostsza aplikacja nie da się skompilować
A używasz może takich komentarzy // bo one nie są zgodne ze standardem ANSI. U mnie aplikacje się kompilują. Może napisz jakiś przykład bardzo prostej aplikacji to spróbuje ją skompilować u siebie.
Pozdrawiam.
tryb release
Language Compilance: ANSI
C++Builder 6 Pe
#include <windows.h>
WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
return 0;
}
Witam!
Powodem dla którego się nie kompiluje jest dołączanie <windows.h>
Z kompilatorem jest wszystko ok.
Bo np kod:
#include<stdio.h>
main()
{
}
się kompiluje,a kod:
#include<stdio.h>
#include<windows.h>
main()
{
}
już nie.
Pliki dołączane przez tą dyrektywe nie są pewnie w pełni zgodna ze standardem ANSI , zauważ że w pliku który pewnie ci się pokazuje w czasie kompilacji winreg.h (plik ten jest jednym z plików dołączanych w windows.h) występują np takie komentarze // co nie jest zgodne ze standardem.
Jeśli bredze to mnie poprawcie!
Pozdrawiam
LCC bardzo dobry kompilator ma lepszą optymalizację nawet od Dev-C++ można ustawić zgodność z Ansi C i nawet wtedy wszystko działa.