"Noob"-vraag, hoe plaats ik een .c in Xcode

Iedereen heeft wel eens ooit het programma "Hello World" gecreërd, ik met [url=http://wiki.nedlinux.nl/index.php?page=Basiscursus+C]deze[/url] "cursus". Dan in Apple Teksteditor gooien, bewaren als RTF-bestand, naam veranderen in .C, in Xcode openen en de inhoud wijzigen en klaar om te openen in Terminal. Maar normaal gezien moet ik dat toch ook in Xcode krijgen.

Wilt iemand mij helpen? Want ik wil wel een boek kopen over C, maar dat heeft weinig zin als ik niet eens met Xcode kan werken.

P.S. Als ik helemaal fout bezig ben, zeg dat dan. Ik heb hier echt geen verstand van :oops:.

Je kunt geen RTF-file compilen, dat moet gewoon plain-text zijn.

Deze kun je heel simpel gewoon met Xcode zelf aanmaken (File->New Empty File)

en dan je ding doen.

Oww, had erover gekeken :oops:.

Maar hoe kan je dat bestand dan daadwerkelijk uitvoeren?

als alles netjes in een bestand staat, ga je naar de terminal, navigeer je naar de directory, en tikt

gcc <filename>.c -o <programmanaam>
./<programmanaam>

Maar je kunt natuurlijk ook gewoon in Xcode een project aanmaken. Daarvoor lopen al een aantal topics hier geloof ik :slight_smile:

Ik gebruik daarvoor de simpele code:

[code:1:f6d62e317a]$ cd ~/Documents
$ cc hello.c -o hello
$ ./hello[/code:1:f6d62e317a]

(Waarbij Documents voor de directory staat en hello voor de .c)

En dat werkt ook!

Het gaat vrij eenvoudig met Xcode. Open een nieuw project en kies dan 'Standard Tool'. Geef dan een naam aan het project, en Xcode heeft het HelloWorld voorbeeld al voor je gecreerd. Let op dat de regel met main er wat anders uitziet dan in je voorbeeld, ook eindigt main met 'return 0;'.

Het programma compileer je dmv ‘Build’, je kunt het uitvoeren dmv ‘Run’. de gcc commando’s zijn dan niet meer nodig, die doet Xcode voor je.

succes,

  • Koen.

ik ben ook maar juist bezig met C (voor cocoa) en dat lukt al vrij goed. zo een klein progje van mij is:

[code:1:a6c6fcfe10]
#include <stdio.h>

int var1 = 2;
int var2 = 8;
int sum (int var1, int var2);
int vuldig (int var1, int var2);

main()
{
int desom = sum (var1, var2);
printf ("Dit is variabele 1: %i.nDit is variabele 2: %i.n", var1, var2);
printf ("Dit is de som van de 2: %i .n", desom);
printf ("En dit is de vermenigvuldiging: %i.n", vuldig);
}

/* function definition */
int sum (int value1, int value2)
{
return value1 + value2;
}

int vuldig (int value1, int value2)
{
return value1 * value2;
}
[/code:1:a6c6fcfe10]

(het enige wat het doet is de 2 vars zeggen, ze dan op tellen en dan vermenigvuldigen)

ook om een .c aan te maken dat doe ik in de terminal (dan ben ik zeker dat het plain text is)

[code:1:a6c6fcfe10]
touch (naam).c
[/code:1:a6c6fcfe10]
(om een blanco file aan te maken)
en dan zet ik er iets in

[code:1:a6c6fcfe10]
cat > (naam).c
#include <stdio.h>
[/code:1:a6c6fcfe10]

en dan heb je al je eerste (nodige) zin en daarna kan je het openen in tekst editor en dan houd hij dat braaf plain text.

Ik heb ondertussen nog een zeer onnodig programma gemaakt :): [code:1:592eba3043]#include <stdio.h>

main ()
{
const int eindgetal = 1;
const char eindgetal2 = ‘Z’;
int i;
int j;
for (i = 26, j = ‘A’; i <= eindgetal, j <= eindgetal2; i–, j++) {
printf ("%i %cn", i, j);
}
return 0;
}[/code:1:592eba3043]

het enig wat het doet is van 26 naar 1 tellen en daarna de letter zetten.
:slight_smile:

Ga zo door. Zorg er voor dat je altijd goed door hebt wat alle keywords precies doen.

Ik zie dat je const gebruikt, zorg ervoor dat je goed duidelijk hebt wat de positionering van dit keyword precies voor gevolgen heeft. Nu nog niet echt van belang, maar zodra je met pointers aan de gang gaat wel degelijk van belang.