Forum Clubic

Compilateur C++BuilderX

Slt,

Now je suis sur Borland C++BuilderX j’ai taper mon fichier source en C
et je veux le compiler…probléme je trouve pas où je dois aller pour le compiler.
A moins qu’il n’y est pas de compilateur sur C++BuilderX :??: ?

Merci de la part d’un newbie en quéte de réponse :jap:

:heink: heureusement que si, il y a évidement un compilateur.

regarde dans les menus, tu trouveras certainement l’option “compile” ou encore “build”.

bizarre…
c’est peut etre possible de l’installer sans le compilateur (j’utilisais la version6, mais ça fait au moins 4 ans que je ne l’ai pas utlisé) [:austindangerpowers]

Tu as intégré ton fichier source à un projet?
Il me semble que les IDE Borland ne génèrent que des projets.

reessaie en creant d’abord un projet comme le dit oxyfrance

pour un fichier simple en C, ça doit etre un truc du genre: “win 32 console application”

ah oui j’ai eu le meme probleme sur C++Builder. J’ai jamais pus compiler. Du C. J’etais pourtant bien motive 8-(

si tu mettais ton code ici, ça serait plus simple pour voir ton probleme.

le probleme vient de getch(), il retourne un caratere lu au clavier et tu ne le récupères pas.

supprime le, car il ne sert à rien dans ton programme

je retire ce que j’ai dit, ne le supprime pas, c’est un moyen de voir ceq ue ton programme affiche.

écris sur ta derniere ligne de ton main: return getch();

comme ça le programme attendra que tu tapes sur une touche du clavier pour se terminer

la fonction getch() attend un caractere tapé au clavier et le renvoie sous forme d’entier.

il faut donc faire:

int valeur_clavier;

valeur_clavier = getch();

valeur_clavier contient donc la valeur de la touche tapée.

si tu regardes ta fonction main: int main
tu remarques que ta fonction attend une valeur de retour à la fin de son exécution, l’envoi de cette valeur de retour se fait grace à l’instruction return

tu peux donc faire:

int valeur_clavier; //à déclarer en haut du main

valeur_clavier = getch();
return valeur_clavier;
}

ceci est équivalent à ton return getch(); sauf que tu ne stockes pas la valeur tapée dans une variable, tu la renvoies directment à ta fonction main

j’espère t’avoir éclairé quelques peu :wink:

Forcément, ici main() est une fonction de type int, donc le compilateur s’attend à ce que tu renvoies un int à la fin de cette fonction.
Mais pas besoin de créer une variable int valeur_clavier; ! :non:

Ca ralentit le programme (bon pas de beaucoup), ça prend de la mémoire en plus, et inutilement… [:austindangerpowers]

En général, ce que je fais, je commence avec un :
int main ()

Et je finis avec un getch() (juste pour mettre en pause le prog, histoire de pouvoir lire avant que la fenêtre disparaisse) :
getch(); // pas besoin de récupérer la lettre tapée au clavier
return 0; // on returne un entier bidon juste pour que ça compile bien

:kaola: