pixelflat
Goto Top

ANSI C Compiler

Hallo,
ich mach gerade ne ausbildungs als FIAE und such nen (kostenlosen?) ansi c compiler/editor für windows. (bei lucent wird viel wert auf anständigen C-, und nicht C++- oder C#- code gelegt :P )

da ja jeder compiler so seine eigenheiten hat (ms visual c++ [arbeit] / borland builder [schule] oder auch dev-c++) such ich einen, der wirklich nur nach ansi-standard funktioniert. zudem würde ich gerne nicht erst ewig "projekte" oder "arbeitsmappen" erstellen müssen, um ein kleines c-programm schreiben zu können.

c++ brauch ich erstmal nicht, objektorientierung kommt erst im 3. ausbildungsjahr... ;)


PS: welcher compiler ist für linux [ubuntu dapper drake] empfehlenswert? ist schon einer integriert?

Content-Key: 42604

Url: https://administrator.de/contentid/42604

Printed on: April 26, 2024 at 14:04 o'clock

Member: DaSam
DaSam Oct 19, 2006 at 20:58:28 (UTC)
Goto Top
Hi,

ich habe "früher" gerne mit dem Watcom C++ Compiler gearbeitet, den gibt es seit kurzem als OpenWatcom umsonst. Die IDE ist gewöhnungsbedürftig aber man kommt klar.

http://www.openwatcom.org/index.php/Main_Page

Was natürlich auch ginge, wäre das Visual C++ 2005 Express Edition - die kost auch gar nix face-wink Guckst Du hier: http://msdn.microsoft.com/vstudio/express/

cu,
Alex
Member: pixelflat
pixelflat Oct 19, 2006 at 21:11:26 (UTC)
Goto Top
Ja, danke - aber das hört sich verdächtig nach c++ an - und das machn wir jetzt absichtlich nicht.
Ist klar, das C vermutlich auch geht, aber obs wirklich anis c-konform ist?!?
Member: miniversum
miniversum Oct 20, 2006 at 06:02:59 (UTC)
Goto Top
Nimm doch den Dev-C++. Der kann auch nur ansi C. Beim erstellen eines Neues Projektes kann man auswählen ob man c oder c++ haben will, entsprechend wird auch nur in C oder C++ compiliert.

Aber wenns dir nur ums Objektorientierte geht... Der Unterschied zwischen C udn C++ ist nicht nur der Objektorientierte Teil.

Unter eigentlich allen Linux Distributionen ist ein C Compiler dabei.

miniversum
Member: VoSp
VoSp Oct 20, 2006 at 06:30:23 (UTC)
Goto Top
Hallo,

beim deinem Ubuntu ist ein C Cpompiler schon dabei. Nimm einfach den gcc oder cc.
Da brauchst Du bestimmt keine Arbeitsmappen anlegen, einfach editor starten Quellcode schreiben und dann compileiren und linken. Fertig.

Oder suchst Du ne komplette IDE? Umsonst unter Windows fällt mir eigentlich nur der http://www.cs.virginia.edu/~lcc-win32/
ein.
Schick finde ich aber auch das Visual Studio Express.

Was meinst Du denn genau mit ANSI C?? ANSI C können alle C Compiler kompilieren, sonst währe es ja keine C Compiler! Du wirst aber keinen Compiler finden der Dich auch noch darauf hinweist das das was Du da gerade geschrieben hast nicht ANSI C konform ist, da muss der Programmierer schon selbst drauf achten. Entwerder der Compiler kann es compilieren oder nicht!
Aber um nicht mehr ANSI konform zu sein müssen das ja schon Projekte sein, in denen Du GUI's mit drin hast oder halt serhr Windows/KDE/Gnoem nah Programmierst. Oder hast Du mal ein anderes Beispiel was Du mit ANSI konform und nicht konform meinst?

Ob es heutzutage auch noch sinnvoll ist Schülern wirklich nur ANSIC pauken zu lassen wage ich zu bezweifeln, es gibt so schöne Programmiersprachen heutzutage. Da muss ich nicht gerade mit einer der unleserlichsten und fehleranfälligsten Sprachen anfangen die es gibt. Aber na ja.

Bis dann

VoSp
Member: miniversum
miniversum Oct 20, 2006 at 06:34:33 (UTC)
Goto Top
@VoSp

Es geht ihm nicht um das ansi sondern das es ein Compiler für C sein soll. Nur C nicht C++.

Und obs sinnvoll ist kommt ja immer darauf an was man Programmieren will...

miniversum
Member: VoSp
VoSp Oct 20, 2006 at 07:50:26 (UTC)
Goto Top
Tach nochma,

ah jetzt habe ich verstanden.

Obwohl ich der Sinn immer noch nicht begriffen habe. Warum ist es schlimm wenn der Compiler C und C++ kann?

Es ist schon klar das die Sprache nach Einsatzzweck gewählt werden muss.

Nur wenn man Programmieren lernen will, warum denn dann mit einer Sprache anfangen die schwer zu erlernen, unübersichtlich und auch noch gandenlos ist was Fehler im Code angeht. Warum sollen Schüler stundenlang nach Fehlern in irgentweclehn Pointern suchen wenn es so schönes Sprachen wie halt VB, Delphi, Java, PHP gibt wo das einfach nicht nötig ist.
Praxisorientiret ist das auch nicht, keiner Prrogrammiert heute noch in C, ist es fast immer C++/C#, Java, VB. Warum auch nicht die Sprachen haben ja grosse Vorteile gegenüber C.
Oder kann mir einer sagen was C kann was VB oder C# nicht schöner und noch besser lesbar auch kann?
Also Programmieren lerne mit VB/Deplhi. Dann auf C++/C# wechseln. Was soll C dazwischen?

Denke das ist aber auch ein Problem mit den Lehrplänen die ja nicht gerade alle 3 Monate angepasst werden. Mal abgesehen von den Ausbildern die ja auch nicht immer die neuste Technologieen drauf haben.

Just my 2Cent.

Bis dann

VoSp
Member: DaSam
DaSam Oct 20, 2006 at 10:25:49 (UTC)
Goto Top
Hi,

ich kennen keinen C++ Compiler, der nicht auch "normal" C könnte ...

Darf ich denn dann überhaupt meine Kommentare mit // schreiben oder muss ich, um ANSI-C-kompatibel zu bleiben nur /* .... */ verwenden? face-wink

cu,
Alex
Member: miniversum
miniversum Oct 20, 2006 at 12:27:11 (UTC)
Goto Top
@VoSp

Klar zum erlernen ists vielleicht einfacher, aber wenn C bzw. C++ später benutzt werden soll wäre es ja unsinnig zuerst VB oder Java zu lernen oder? Außerdem kann C mit Pointern umgehen was in Java soweit ich weiß mit keinem Trick geht und in VB nur arg über Umwege..

In C ist der generierte Code kleiner weil C näher an Assembler ist. Ok zugegebenermasen ist bei der PC Programmierung die Größe der compilierten Datei nicht ganz so relevant aber in andern Bereichen schon eher.

Ich habe übrigens auch mit C angefangen und ich denke nicht das es ein Nachteil war, obwohls schon hart war. Aber mit einer Kuten IDE geht Fehlersuche auch in C gut. Der Umstieg zu VB war einfacher dafür.

@DaSam

Klar machen egentlich alle aktuellen Compiler C und C++. Beim Dev C++ finde ich es deshalb so schön das er, wenn man ein C Projekt erstellt einem Befehle wie Cout als fehler meldet.

miniversum
Member: pixelflat
pixelflat Oct 20, 2006 at 14:38:07 (UTC)
Goto Top
Hallo,
Danke für die Antworten! Ich denke, ich werde Dev-C++ oder halt evtl. Borland verwenden...

Warum C?
Tja, Lucent ist weltweit die führende Telekommunikations-Firma. Soll heißen, es werden keine dämlichen Programme mit Windows-Oberfläche geschrieben (UNIX!). Zudem kommt es sehr auf Geschwindigkeit an (soweit ich weiß / schon gelernt habe, ist C nach Assembler mind. eine der schnellsten Sprachen). Da die Programme später sowieso auf Embedded-Systemen laufen, ist das "Mausgeschubse" von VB schwachsinnig...

Und ich will mal sehn, wie jemand in VB ein Programm für den Sektor schreibt und damit auch noch erfolgreich ist - ganz zu schweigen von PHP (mich wunderts, dass du nicht noch HTML erwähnt hast... O_o )

Warum programmiert keiner mehr in C?!? Das einzige was C++ ausmacht, ist die Objektorientiertheit - und das ist auch nicht immer eine positive Sache. (Lucent hat von den Indern einen Treiber (C++ / OO) schreiben lassen und in DE compiliert, was ungefähr 24h gedauert hat. Danach hat man das ganze selber neu geschrieben (nicht objektorientiert) und für das ganz compiliern nur 2h gebraucht...)

Das mit den Lehrplänen... Naja, die Schule allgemein ist nicht das wahre...

...Mal abgesehen von den Ausbildern die ja auch nicht immer
die neuste Technologieen drauf haben...

Da muss ich mal die Ausbildung bei Lucent verteidigen, welche ja nicht umsonst zu den besten gehört...!
..."die neuesten Technologien"... naja... glaub nicht, dass jeden Monat ein neues Update mit neuen Funktionen für C/C++ rauskommt...


...hach, sorry wenn ich jetzt etwas... "aufbrausent" war.. ;)

PS: wegen nicht-ansi-konform:
[code]
void main ()
{
...
}
[/code]

..ist nicht ansi-konform, weil main den rückgabewert int hat / haben muss.. oder so ähnlich ;)