• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

Ich bekomm ne Kriese

Frankplanlos

Stechapfel
Registriert
21.04.07
Beiträge
157
Ich bekomm ne Krise

Hallo

ich fass das nicht, ich kann unter windows mit dem DEV-Compiler programmieren und die dann zum laufen kriegen aber ich versuche schon den ganzen Tag in Xcode einen kleinen Code in c zum laufen zu kriegen.....ggrrrrrrrr, ich versteh nicht wie das unter Xcode gemacht wird.
Kann mir einer mal genau sagen Schritt für Schritt erklären wie ich das machen muss, so...
Projekt öffnen ........und dann?
Zum schluss dann run drücken und hello world läuft.
So ungefähr...........Danke
 
Zuletzt bearbeitet:
Wo liegt das Problem? Erstell ein C++ Command Line Tool - Projekt und klick auf "Build". ;)
 
Ja stimmt in gewisser Weise.... :-p
Aber mit dieser Antwort bekomm ich hello world auch nicht zum laufen hihi
 
Dank Patz,

genau das wollte ich wissen.....super....das ja einfacher als ich dachte..
 
Doch! Neues Projekt -> C++ Command Line Tool oder so.

Dann einfach den Code bisschen ändern in C halt. Also
#include <iostream.h>

int main ()
{

cout<<"Hello World\n";

}
Build and go - fertig :)

Zu langsam :<
 
Doch! Neues Projekt -> C++ Command Line Tool oder so.

Dann einfach den Code bisschen ändern in C halt. Also
Build and go - fertig :)

Zu langsam :<


ne, super ich brauchte nur das C++ Command Line Tool,
hatte überall mal rumgespielt und das klappte irgendwie nie.....
Danke danke
 
Doch! Neues Projekt -> C++ Command Line Tool oder so.

Dann einfach den Code bisschen ändern in C halt. Also
Code:
#include <iostream.h>

int main ()
{

cout<<"Hello World\n";

}
Build and go - fertig :)
Das ist kein C-Code, sondern C++. Wenn man ein C-Programm schreiben will, nimmt man als Projektvorlage das "Standard Tool".

MacApple
 
in der info leiste steht doch eh, mit welcher sprache du welches foudation modul selektieren musst ;)
 
Seit 1998 gibt es ein ISO Norm für C++. Der Programmcode entspricht nicht dieser Norm, sondern bezieht sich auf eine C++ Implementierung davor.

Rischtisch.

Allerdings meckert gcc selbst bei std=c++98 -Wall nur den deprecated header iostream.h, und wenn der ersetzt ist nur den fehlenden Namespace für cout an.

Sollte gcc auch die main Deklaration anmeckern? Oder hab ich da einen Warning Switch vergessen?

Alex
 
Sollte gcc auch die main Deklaration anmeckern? Oder hab ich da einen Warning Switch vergessen?
Wenn man schon
Code:
int main()
schreibt, sollte man am Schluss das Versprechen auch einlösen und einen Integer zurückgeben:
Code:
return 0;
;-)
 
Rischtisch. Sollte gcc nicht auch das bei -Wall zumindest als Warning ausgeben?

Alex
 
Rischtisch. Sollte gcc nicht auch das bei -Wall zumindest als Warning ausgeben?
Das Weglassen von "return 0;" im Hauptprogramm wird vom gcc nicht bemängelt, ist aber IMHO schlechter Stil. Das "\n" würde ich im String auch weglassen und durch endl ersetzen. Bei folgendem Code sollte kein aktueller C++-Compiler meckern:
Code:
#include <iostream>

using std::cout;
using std::endl;

int main()
{
  cout << "Hello World!" << endl;
  return 0;
}
 
Code:
using namespace std;

so ist es sicher besser... sonnst musst du alle einzeln angeben ;)
 
Allerdings meckert gcc selbst bei std=c++98 -Wall nur den deprecated header iostream.h, und wenn der ersetzt ist nur den fehlenden Namespace für cout an.
Code:
#include <iostream>
#include <ostream>

int main () {
    std::cout << "Hello World\n";
}
Das ist eine der anerkannt richtigen Fassungen des Programms. Man kann die statt dessen auch "return 0;" einfügen, was nicht notwendig ist, oder "int main (int argc, char** argv)" benutzen. Die Zeile "#include <ostream>" ist nach intimen Kennern der Norm notwendig, weil iostream nicht notwendigerweise den Header ostream inkludieren muß, so daß "operator<<" nicht definiert sein muß. Man kann es auch als Fehler in der Norm betrachten.

Das ist aber nicht der Punkt auf den ich hinaus wollte. Wichtig ist es, überhaupt die neuen Header aus der Norm zu verwenden und nicht mehr die alten aus der Zeit davor. Bei einem simplen std::ostream fällt das noch nicht weiter auf, aber std::stringstream und std::strstream (das hat die Normierung überlebt und gilt nun als deprecated) verhalten sich deutlich unterschiedlich.