Tools zur C-Programmierung

L

lenn1

Aktives Mitglied
Thread Starter
Dabei seit
11.10.2005
Beiträge
193
Reaktionspunkte
2
Ich weiß nichtmehr weiter, ich fütter die SuFus diverser Foren schon den ganzen morgen (Ich hab Berufschule ^^) mit Wörtern.

Was muss ich alles installieren, damit ich C Programmieren kann und kompilieren kann.

Ich würd gern schon n richtiges Tool benutzen dass zum Programmieren gedacht ist und nicht soetwas wie "TextEdit"..


btw: Xcode Tools hab ich installiert allerdings kann ich nicht per gcc meine bereits vorhandenen *.c dateien kompilieren (Sind einfachste sachen.. berechnungen und so)

Danke im Vorraus
 
lenn1 schrieb:
...
btw: Xcode Tools hab ich installiert allerdings kann ich nicht per gcc meine bereits vorhandenen *.c dateien kompilieren
...
"kann nicht" ist eine sehr schlechte Fehlerbeschreibung, bei der man nur raten kann.
z.B.
- Du weisst nicht wie es geht
- Dein Code enthält Fehler
- die Tastatur ist nicht angschlossen
- Der Computer ist aus
- ...

Besser:
- Was genau möchtest Du erreichen?
- Wie genau versuchst Du es?
- Was genau passiert anstatt des gewünschten Ergebnisses?
(Fehlermeldungen etc.)
 
lenn1 schrieb:
btw: Xcode Tools hab ich installiert allerdings kann ich nicht per gcc meine bereits vorhandenen *.c dateien kompilieren (Sind einfachste sachen.. berechnungen und so)

Bei XCode ist eine umfangreiche Dokumentation dabei, lesen bildet :)

XCode tut nichts ohne ein Projekt, einfach eine .c-Datei kompilieren ist nicht. Du kannst natürlich über die Kommandozeile den gcc direkt aufrufen - das wird aber bei mehr als 2 oder 3 Dateien arg umständlich.
Wenn deine C-programme einfach nur kleine kommandozeilenbasierte Tools sind, legst du in XCode ein neues Projekt mit der Vorlage C-Tool an. Dem Projekt fügst du deinen Sourcecode hinzu und kannst sie kompilieren.

Gremlin
 
Gremlin schrieb:
...
das wird aber bei mehr als 2 oder 3 Dateien arg umständlich.
...
Da empfiehlt sich dann der Einsatz von make in Verbindung mit einem Makefile.
 
Richtig, das ist die portable Lösung - make gibt es für jede Plattform. Da kenne ich mich allerdings nicht mit aus.

Gremlin
 
Gremlin schrieb:
...
make gibt es für jede Plattform. Da kenne ich mich allerdings nicht mit aus.
...
Das ist eine echte Bildungslücke.
Gibt's im Netz jede Menge Dokumentationen/Tutorials.
 
Also auf meinem Desktop liegt eine Datei (Test.c)

Code:
#include <iostream.h>

void main
{
cout << "Hello World";
}

wenn ich nun gcc Test.c ausführe kommt das:

Code:
lenn1:~ lh$ gcc /Users/lh/desktop/Test.c
/Users/lh/desktop/Test.c:1:22: error: iostream.h: No such file or directory
/Users/lh/desktop/Test.c:4: error: syntax error before '{' token
lenn1:~ lh$


Im Visual C, was wir in der Berufschule haben funktioniert dies wunderbar?

Warum hier nicht?
 
es muss void main(void) oder int main(void) heissen. Hier akzeptiert Visual C nicht standardgemässes c
und du musst nur #include <iostream> schreiben nicht iostream.h
 
Weil das kein gültiges C Programm ist.

Ein C-Programm sieht so aus:
Code:
#include <stdio.h>

int main(void)
{
    printf ("Hallo!\n" );
    return 0;
}
 
ja stimmt das kommt noch dazu, du verwendest hier c++ befehle, sollte aber trotzdem ohne probs gehen wenn Du meine Änderungen einbaust. also:

#include <iostream>

void main(void)
{
cout << "Hello World";
}

Und dann das ganze mit g++ anstatt gcc compilieren.
 
Lies mal die manpage zu gcc/g++ bevor Du solche Tipps gibst ;).

Im Übrigen kann man Beiträge nach einer Minute auch noch editieren, wenn man noch ne Zeile anfügen möchte. ;)
 
maceis schrieb:
Lies mal die manpage zu gcc/g++ bevor Du solche Tipps gibst ;).

Also ich habe das in der Vorlesung Grundzüge der OOP so gelernt. Ich weiss nicht was daran auszusetzen ist.
 
Das hier:
Code:
% cat test.c
#include <iostream>

void main(void)
{
        cout << "Hello World";
}
% g++ test.c
test.c:3: error: '::main' must return 'int'
test.c: In function `int main()':
test.c:5: error: 'cout' was not declared in this scope

Alles klar :D?

edit: Was das Beispiel mit OOP zu tun hat ist mir schleierhaft *g*
 
jedes c programm muss einen int zurueck geben, damit das betriebssystem weiss, unter welchen umstaenden das programm beendet wurde.
0 ist "alles ok", alles weitere != 0 sind fehler, die aber der Programmierer selbst definieren darf.
Die Befehle wie oben angesprochen (c/c++ sprachunterschiede), beachten.
 
Ja richtig.

sir.hacks.alot präsentiert uns hier aber ein C++ Programm - allerdings ein fehlerhaftes. Ich bin mir aber sicher, dass er noch eine Korrektur nachliefert ;).
 
Was maceis sagen wollte war: C++ Code muss mit g++, nicht gcc übersetzt werden.

Dann geht es auch (wenn die main richtig ist).

Ich hatte hier auch irgendwann man ein simples Beispiel-makefile gepostet, müsste man über die Suche finden.

Alex
 
Also was denn jetzt?
programmier ich in der Schule also c++ und mir wird blos gesagt, dass wir C programmieren.. ?
cout, cin, for,if else, do while,
Mit diesen befehlen arbeiten wir gerade in der schule.. kann ich irgendwie auch damit arbeiten.. is ja eigentlich wurst ob das jetzt c oder c++ ist..
 
lenn1 schrieb:
Also was denn jetzt?
programmier ich in der Schule also c++ und mir wird blos gesagt, dass wir C programmieren.. ?
cout, cin, for,if else, do while,
Mit diesen befehlen arbeiten wir gerade in der schule.. kann ich irgendwie auch damit arbeiten.. is ja eigentlich wurst ob das jetzt c oder c++ ist..

C++ ist ja eine Erweiterung von C. Man kann C Code also auch mit einem C++ Compiler übersetzten. Nur nicht umgekehrt.

for, if, else: Das ist alles "Basis-C"
cin, cout: Diese Dinge sind C++ eigen, und nicht mehr in C

Alex
 
OK :) hier die korrektur:

#include <iostream>

int main(void)
{
std::cout << "Hello World";
return 0;
}

Mit oop hat das natürlich noch nichts zu tun aber mit c++ und das haben wir in Grundzüge der oop gelernt. :)
 
Zurück
Oben Unten