Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
989 connectés 

  FORUM HardWare.fr
  Programmation
  C

  C sous windows !

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

C sous windows !

n°1637042
housse6
Etudiant
Posté le 05-11-2007 à 18:05:45  profilanswer
 

Bonjour, j'ai bien cherché mais je ne trouve pas. Comment peut-on faire du C sous windows ?? Merci

mood
Publicité
Posté le 05-11-2007 à 18:05:45  profilanswer
 

n°1637047
dwogsi
Défaillance cérébrale...
Posté le 05-11-2007 à 18:09:27  profilanswer
 

Avec un editeur de texte et un compilateur c...
Ou un plus simplement un EDI.
Cherche quelque chose comme EDI C windows.


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
n°1637068
housse6
Etudiant
Posté le 05-11-2007 à 18:20:48  profilanswer
 

Merci pour ta réponse dwogsi mais je débute vraiment dans le langage C et les logiciels que je viens de trouver sur Google sont un difficile à utiliser. Les seuls dont je sais me servir sont Emacs et Gcc que j'utilise à ma fac en TD. Y'aurait-il des logiciels qui sont un peu comme ces derniers sous windows ??  Merci

n°1637080
tpierron
Posté le 05-11-2007 à 18:24:35  profilanswer
 

Code::Blocks ou Dev-Cpp (qui est un peu beaucoup buggé, mais pour du Hello World, ça suffit largement).

n°1637081
dwogsi
Défaillance cérébrale...
Posté le 05-11-2007 à 18:24:43  profilanswer
 

Le portage de GCC sous Windows s'appel MingW.
Normalement, question utlisation, je crois savoir que c'est pareil ou presque.
Après... Emacs ou un autre, tant que ça édite du texte avec de la coloration syntaxique je pense pas que tu aura besoin de plus pour le moment.


Message édité par dwogsi le 05-11-2007 à 18:25:20

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
n°1637082
Elmoricq
Modérateur
Posté le 05-11-2007 à 18:24:44  profilanswer
 

cygwin

n°1637108
housse6
Etudiant
Posté le 05-11-2007 à 18:48:07  profilanswer
 

J'ai télécharger Dev-C++. Quelqu'un peut m'aider pour l'utilisation ?? Merci

n°1637124
housse6
Etudiant
Posté le 05-11-2007 à 19:06:25  profilanswer
 

Là j'ai fais un nouveau fichier source, j'y est mis mon programme c :
 
#include>stdio.h>
 
main(){
       int a, carre, cube;
       printf("Nombre\t Carre\t cube\n" );
       for(a=1; a<=5; a++)
       carre = a*a
       cube = carre*a;
       printf("%i\t", a);
       printf("%i\t", carre);
       printf("%i\n", cube);
       }
 
 
Me suis-je trompé dans ma démarche. Et que dois-je faire après ?? Merci  :)

n°1637138
housse6
Etudiant
Posté le 05-11-2007 à 19:18:06  profilanswer
 

Personne pour m'aider ?? Je ne comprend rien.

n°1637149
housse6
Etudiant
Posté le 05-11-2007 à 19:42:29  profilanswer
 

Vraiment personne pour m'aider ??  

mood
Publicité
Posté le 05-11-2007 à 19:42:29  profilanswer
 

n°1637151
olivthill
Posté le 05-11-2007 à 19:46:03  profilanswer
 

Avez-vous un compilateur ?
 
Le plus employé pour Windows est Visual C++, selon une ancienne étude que j'avais lue dans une revue. Il ne marche qu'avec une version récente de Windows (pas avec mon Windows Me). Il est payant.
 
J'utilise un compilateur gratuit, nommé Dev-cpp, qui fait du C++ ou du C pour Windows. Je le trouve très bien. Il est téléchargeable depuis le site http://www.bloodshed.net
 
Le programme que vous avez fait est un programme pour DOS, ou pour une application "Windows en mode Console". Les applications Windows normales ne commencent pas par main(). Elles commencent par winmain(). Elles utilisent une boucle de traitement des messages. Elles font appel aux fonctions de base de Windows que l'on appelle des API.
 
Il faut plusieurs mois pour maitriser la programmation sous Windows. Cela prend plus de temps que pour apprendre le language C lui-même. Un bon auteur de livres sur le C/C++ et Windows est Charles Petzold. Il y en a d'autres, comme Al Stevens, etc.
 
Bon courage !

n°1637152
MagicBuzz
Posté le 05-11-2007 à 19:47:01  profilanswer
 

sans aller plus loin, du haut de mes connaissances très faibles, je dirais :
1/ #include<stdio.h>
2/ printf("\n" ); après le printf(...cube);
3/ pas sûr de moi, mais c'est pas plutôt du C++ ton code ?

n°1637153
MagicBuzz
Posté le 05-11-2007 à 19:48:17  profilanswer
 

olivthill > et Visual C++ 2005 Express, c'est du poulet transgénique ? :o

n°1637154
olivthill
Posté le 05-11-2007 à 19:49:28  profilanswer
 

C'est du C.
Je crois qu'il faudrait %d au lieu %i dans printf.

n°1637156
olivthill
Posté le 05-11-2007 à 19:51:03  profilanswer
 

Aaaaahhh, si seulement Visual C pouvait être du poulet transgénique !!! Quel bonheur ce serait !!!

n°1637159
MagicBuzz
Posté le 05-11-2007 à 19:54:35  profilanswer
 

ok, je croyais que printf() ct du cpp, je dois confondre avec une autre fonction qui ressemble :D (sprintf() ?)

Message cité 3 fois
Message édité par MagicBuzz le 05-11-2007 à 19:54:46
n°1637180
Ace17
Posté le 05-11-2007 à 20:20:56  profilanswer
 

MagicBuzz a écrit :

ok, je croyais que printf() ct du cpp, je dois confondre avec une autre fonction qui ressemble :D (sprintf() ?)

J'espere au moins que tu le fais expres ...

n°1637194
Elmoricq
Modérateur
Posté le 05-11-2007 à 20:31:08  profilanswer
 

MagicBuzz a écrit :

ok, je croyais que printf() ct du cpp, je dois confondre avec une autre fonction qui ressemble :D (sprintf() ?)


Mais t'as pas fini de venir raconter des bétises sur les langages que tu ne connais pas ? [:mlc]
Tiens, ça t'aidera à moins en sortir (j'espère) : http://www.schweikhardt.net/identifiers.html
 
housse6 > arrives-tu à compiler, et quels messages d'erreurs obtiens-tu ? C'est normalement très explicite. ;)
Je te conseille aussi d'utiliser code::blocks, dev-cpp c'est correct, mais code::blocks est plus mieux. [:dawa]

n°1637203
housse6
Etudiant
Posté le 05-11-2007 à 20:51:23  profilanswer
 

#include<stdio.h>
 
main(){
       int a, carre, cube;
       printf("Nombre\t Carre\t cube\n" );
       //Point d'observation 1
       for(a=1; a<=5; a++)
       carre = a*a
       cube = carre*a;
       printf("%i\t", a);
       printf("%i\t", carre);
       printf("%i\n", cube);
       //Point d'observation 2
       }  
 
Dsl je me suis trompé, je vrai programme est celui-ci. Effectivement, c'est du C et non pas du C++. Que dois-je faire pour l'executer sous windows?? Merci

n°1637206
Elmoricq
Modérateur
Posté le 05-11-2007 à 20:55:52  profilanswer
 

Il te suffit de lancer le .exe généré après compilation.
 
Par contre :
"main()" => ce n'est pas standard, il faut que le type de retour soit explicitement indiqué.
Voici les deux prototypes de main() qui existent :
int main(void)
et
int main(int argc, char **argv)
 
Dans les deux cas, cela signifie qu'on attend un return à la fin de la fonction. ;)
 
 
Pour ta boucle for, si tu n'encadres pas entre accolades les instructions qu'elle doit exécuter, alors seule la première sera prise en compte (carre = a*a). Les autres ne seront exécutées qu'une seule fois, après la fin du for.

n°1637213
housse6
Etudiant
Posté le 05-11-2007 à 21:10:07  profilanswer
 

le .exe généré après compilation ??? "main()", pas standard ???  
Mais on fait comme ça pourtant sur les ordi de ma fac !!!

n°1637216
housse6
Etudiant
Posté le 05-11-2007 à 21:12:54  profilanswer
 

A ma fac on a emacs comme éditeur de texte et Gcc comme compilateur. Je vien de télécharger emacs sous windows mais je ne sais pas comment compiler et je ne peux pas écrire le #. C'est bizarre. Quelqu'un sait pourquoi ??

n°1637218
Elmoricq
Modérateur
Posté le 05-11-2007 à 21:16:16  profilanswer
 

housse6 a écrit :

le .exe généré après compilation ???


 
Lorsque tu compiles sur un unixoïde, le résultat est un binaire, que tu peux exécuter.
Sous Windows c'est la même chose, sauf que le fichier porte l'extension ".exe".
 
Si tu compiles ton programme, tu recevras un .exe à l'endroit que tu as indiqué à ton IDE (dev-cpp donc).
 

housse6 a écrit :

"main()", pas standard ???


 
Il y a des normes pour les langages, qui permettent d'avoir un même comportement quel que soit le système.
Ainsi, si tu respectes la norme, tu peux prendre un même code source, et le compiler sur n'importe quel système (à condition que toutes les bibliothèques utilisées soient également disponibles partout, mais pour le moment ça ne devrait pas être un problème pour toi).
 
Si tu respectes la norme, donc, tu peux écrire un programme sous Windows sur ton PC, et le compiler à la FAC sous Linux. Et inversement.
Et donc, la norme définit que "main()" doit être défini selon l'un des deux prototypes que j'ai mis plus au-dessus.
 

housse6 a écrit :

Mais on fait comme ça pourtant sur les ordi de ma fac !!!


 
Tu apprendras au fur et à mesure que les professeurs sont faillibles. [:dawa]

n°1637219
Elmoricq
Modérateur
Posté le 05-11-2007 à 21:20:46  profilanswer
 

housse6 a écrit :

A ma fac on a emacs comme éditeur de texte et Gcc comme compilateur. Je vien de télécharger emacs sous windows mais je ne sais pas comment compiler et je ne peux pas écrire le #. C'est bizarre. Quelqu'un sait pourquoi ??

 

Oublie emacs sous Windows (et même sous Linux). C'est un bon éditeur pour qui a passé des dizaines d'heures à comprendre comment il fonctionne, mais bon je crois que t'as plus important pour le moment. ;)
En fait, peu importe l'éditeur. Si tu veux, tu peux utiliser notepad.
Un bon éditeur te facilite normalement la tache (donc pas comme notepad), par exemple en te proposant l'indentation automatique du code, la coloration syntaxique, etc.

 

Ensuite, tu as les IDE (Integrated Development Environment, EDI en français pour Environement de Développement Intégré), qui regroupent toutes les fonctionnalités utiles au développement en un seul logiciel : éditeur approprié, compilation, debugging, etc.
Sous Windows, comme IDE tu as dev-cpp, code::blocks, voire eclipse ou visual c++.

 

C'est plus sympa de travailler avec un IDE, mais si tu ne te sens pas encore à l'aise avec tout ça, utilise un simple éditeur (par exemple notepad++, gratuit et qui offre quelques fonctionnalités utiles), et un compilateur, comme mingw (en gros, c'est gcc pour windows).


Message édité par Elmoricq le 05-11-2007 à 21:23:44
n°1637220
housse6
Etudiant
Posté le 05-11-2007 à 21:24:02  profilanswer
 

Et bien, je vous remercie tous mais je remarque que je ne suis apparemment pas assez calé en langage C pour en faire sous Windows étant donné que je ne comprend rien à ce que vous essayez de m'expliquer. Je vous remercie encore et m'excuse de vous avoir fait perdre votre temps. Merci et Bonne soirée.

n°1637221
Elmoricq
Modérateur
Posté le 05-11-2007 à 21:28:59  profilanswer
 

Je le refais en plus simple :
 
1. télécharge notepad++ : http://notepad-plus.sourceforge.net/fr/site.htm
 
2. télécharge gcc pour windows : http://www.mingw.org
 
3. crée un répertoire quelconque sous c:\, par exemple "c:\code". Ouvre notepad++, et tape ce code :

#include <stdio.h>
 
int main(void)
{
   printf("Hello World !\n" );
   return 0;
}


 
4. Sauvegarde ce code dans un fichier "helloworld.c" sous c:\code
 
5. ouvre une console windows (Menu Démarrer>Tous les Programmes>Accessoires>Invite de Commande),
 
6. avec la commande "cd ..." (comme sous linux), place-toi dans le répertoire de mingw, dans lequel se trouve "gcc"
 
7. tape "gcc c:\code\helloworld.c -o c:\code\helloworld.exe"
 
8. tape "c:\code\helloworld.exe"

n°1639345
Emmanuel D​elahaye
C is a sharp tool
Posté le 08-11-2007 à 16:46:10  profilanswer
 

housse6 a écrit :

Là j'ai fais un nouveau fichier source, j'y est mis mon programme c :

Code :
  1. #include>stdio.h>
  2. main(){
  3.        int a, carre, cube;
  4.        printf("Nombre\t Carre\t cube\n" );
  5.        for(a=1; a<=5; a++)
  6.        carre = a*a
  7.        cube = carre*a;
  8.        printf("%i\t", a);
  9.        printf("%i\t", carre);
  10.        printf("%i\n", cube);
  11.        }




Il s'agirait peut être de lire les bases... C'est pas >....h>, mais <...h>, main() est mal défini, il manque un ';'...

 

http://mapage.noos.fr/emdel/init_c.htm


Message édité par Emmanuel Delahaye le 08-11-2007 à 16:49:54

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  C sous windows !

 

Sujets relatifs
[shell/Windows] Exécuter une commande en background ???phpmyadmin pour windows
Codage noms de fichier Windows et serveur FTPPlugin windows media player sur mon site ???
[D7] Un programme s'exécutant avant WindowsUn truc étrange... Différence entre Windows et Linux
Problème RMI Windows/Linux[ada] Compilateur gnatmake windows Pb...
Plugin pour Windows XP Media Center 2005Compiler sous Windows pour Linux
Plus de sujets relatifs à : C sous windows !


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR