# développement C et vim

**URL:** <https://www.debian-fr.org/t/developpement-c-et-vim/31481>\
**Category:** Programmation\
**Created:** [Février 21, 2016, 1:07 UTC](https://www.debian-fr.org/t/developpement-c-et-vim/31481 "2016-02-21T01:07:53Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![LAV-FRED](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/l/da6949/32.png) [@LAV-FRED](https://www.debian-fr.org/u/LAV-FRED)\
**Post date:** [Février 21, 2016, 1:07 UTC](https://www.debian-fr.org/t/developpement-c-et-vim/31481/1 "2016-02-21T01:07:53Z")

</div>

Bonsoir, et excusez moi pour ce post hyper basique…

Je commence ce soir même à apprendre le C / C++ via le tuto suivant où ils préconisent d’utiliser l’IDE code::block qui n’est pas dans l’archive :  
[http://www.siteduzero.com/tutoriel-3-13908-vous-avez-dit-programmer.html](http://www.siteduzero.com/tutoriel-3-13908-vous-avez-dit-programmer.html)

Je précise que je ne connais rien à la programmation (hors xhtml/css)

Je commence (depuis peu) à me familiariser avec vim et je souhaite donc l’utiliser en lieu et place d’IDE, la coloration syntaxique et l’indentation auto sont en place, je sèche au niveau de la compilation :

j’ai mon fichier main.c qui contient le code, mais :make me renvoit l’erreur suivante :

`Appuyez sur ENTRÉE ou tapez une commande pour continuer
make: *** Pas de cibles spécifiées et aucun makefile n'a été trouvé. Arrêt.
`

Est ce que je dois créer un makefile à la main ou me manque-t-il un paquet ?  
Quel debugger me conseillez vous ?

---

<div class="post-metadata">

**Author:** ![thuban](https://www.debian-fr.org/user_avatar/www.debian-fr.org/thuban/32/4177_2.png) [@thuban](https://www.debian-fr.org/u/thuban)\
**Post date:** [Février 21, 2016, 1:07 UTC](https://www.debian-fr.org/t/developpement-c-et-vim/31481/2 "2016-02-21T01:07:53Z")

</div>

Alors oui, il te faut créer un Makefile à la main, avec des règles dedans.  
Par exemple, une règle all, qui compilera tout.  
une autre règle clean, pour virer les anciens binaires…

Au départ, lorsque l’on a qu’un tout petit fichier source, ce n’est pas super utile, mais ensuite si.  
Tiens, regarde par ici :  
[ftp.traduc.org/doc-vf/gazette-li … g83-B.html](http://ftp.traduc.org/doc-vf/gazette-linux/html/2002/083/lg83-B.html)

Sinon, en attendant avec vim :  
!gcc main.c -o programme\_test

---

<div class="post-metadata">

**Author:** ![LAV-FRED](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/l/da6949/32.png) [@LAV-FRED](https://www.debian-fr.org/u/LAV-FRED)\
**Post date:** [Février 21, 2016, 1:07 UTC](https://www.debian-fr.org/t/developpement-c-et-vim/31481/3 "2016-02-21T01:07:53Z")

</div>

Merci bien 😃 !  
Et sinon, pour un débogueur ?

---

<div class="post-metadata">

**Author:** ![thuban](https://www.debian-fr.org/user_avatar/www.debian-fr.org/thuban/32/4177_2.png) [@thuban](https://www.debian-fr.org/u/thuban)\
**Post date:** [Février 21, 2016, 1:07 UTC](https://www.debian-fr.org/t/developpement-c-et-vim/31481/4 "2016-02-21T01:07:57Z")

</div>

Je ne suis as très doué en C pour vraiment t’aider. MisterFreez a quelquefois parlé de compiler avec une certaine option afin de voir avec gdb. Il y a un truc aussi qui commence pas V pour voir l’occupation de la mémoire… Attends que quelqu’un de plus doué passe par là 🙂  
C’est d’ailleurs parce que je ne savais vraiment avec quelle commande compilé que je me suis tourné vers le python. Mais si tu as du temps devant toi, faire du C donnera des programmes avec de meilleures performances.

---

<div class="post-metadata">

**Author:** ![Taurre](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/f04885/32.png) [@Taurre](https://www.debian-fr.org/u/Taurre)\
**Post date:** [Février 21, 2016, 1:14 UTC](https://www.debian-fr.org/t/developpement-c-et-vim/31481/5 "2016-02-21T01:14:22Z")

</div>

Salut,

Afin de pouvoir utiliser un débugueur, tu dois utiliser l’option -g de gcc à la compilation de ton programme.

> [@](#):
>
> Il y a un truc aussi qui commence pas V pour voir l’occupation de la mémoire…

Tu parles du programme valgrind?

Sinon, concernant la commande make, tant que ton programme reste simple tu peux utiliser les règles implicites afin de le compiler. Si tu as juste un fichier main.c, tu peux faire :mak main 😉

---

<div class="post-metadata">

**Author:** ![LAV-FRED](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/l/da6949/32.png) [@LAV-FRED](https://www.debian-fr.org/u/LAV-FRED)\
**Post date:** [Février 21, 2016, 1:14 UTC](https://www.debian-fr.org/t/developpement-c-et-vim/31481/6 "2016-02-21T01:14:22Z")

</div>

Donc, si je récapitule :

1. j’écris mon code dans mon main.c (je précise que j’en suis encore au “hello world !” que je n’arrive pas à compiler…) avec vim.
2. je lance :make main.c (j’ai configuré vim pour ce placer ds le répertoire du fichier ouvert et pour enregistrer avant un :make)
3. Je me retrouve avec un ficher main dans mon dossier
4. pour l’exécuter je lance “$ sh main” et ça ne marche pas…  
Est ce qu’il y a quelque chose que je fais mal ?

EDIT: j’ai bien le droit d’exécuter mon “main” le problème ne vient pas de là.

---

<div class="post-metadata">

**Author:** ![Taurre](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/f04885/32.png) [@Taurre](https://www.debian-fr.org/u/Taurre)\
**Post date:** [Février 21, 2016, 1:14 UTC](https://www.debian-fr.org/t/developpement-c-et-vim/31481/7 "2016-02-21T01:14:23Z")

</div>

La commande à exécuter est :make main, si tu mets main.c tu dis à make que tu souhaites crée la cible main.c alors que ce fichier existe déjà. Sinon, la commande sh permet d’exécuter un script bash, pour exécuter un programme la commande est ./nom\_du\_programme 😉

---

<div class="post-metadata">

**Author:** ![LAV-FRED](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/l/da6949/32.png) [@LAV-FRED](https://www.debian-fr.org/u/LAV-FRED)\
**Post date:** [Février 21, 2016, 1:14 UTC](https://www.debian-fr.org/t/developpement-c-et-vim/31481/8 "2016-02-21T01:14:23Z")

</div>

Merci à toi ! 😃

---

<div class="post-metadata">

**Author:** ![MisterFreez](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/bb73d2/32.png) [@MisterFreez](https://www.debian-fr.org/u/MisterFreez)\
**Post date:** [Février 21, 2016, 1:21 UTC](https://www.debian-fr.org/t/developpement-c-et-vim/31481/9 "2016-02-21T01:21:03Z")

</div>

J’ai lu vite fait. Pour compiler un programme d’un seul fichier avec make sous vim la commande la plus générique et la plus simple c’est :

```auto

```

Expliquations :  
[ul]  
[li]main avec le nom du programme que tu veut générer va chercher le même nom avec l’extension .c, .cpp (probablement .cc et .c++ et il doit aussi le faire avec le fortran) pour le compiler et donner l’exécutable[/li]  
[li]% représente le nom du fichier en cours d’édition (celui du buffer courant)[/li]  
[li]:r permet de retirer l’extension[/li][/ul]

Donc ça ça peut s’utiliser sans créer de fichier Makefile. Si tu as a ajouter des options il faut :  
[ul]  
[li]soit positionner les variables d’environnement CFLAGS ou LDFLAGS en conséquence[/li]  
[li]soit créer un makefile avec la déclaration des variables adéquates dedans[/li][/ul]

---

<div class="post-metadata">

**Author:** ![LAV-FRED](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/l/da6949/32.png) [@LAV-FRED](https://www.debian-fr.org/u/LAV-FRED)\
**Post date:** [Février 21, 2016, 1:21 UTC](https://www.debian-fr.org/t/developpement-c-et-vim/31481/10 "2016-02-21T01:21:03Z")

</div>

Ok, Merci à vous !

---

<div class="post-metadata">

**Author:** ![limax](https://www.debian-fr.org/user_avatar/www.debian-fr.org/limax/32/3886_2.png) [@limax](https://www.debian-fr.org/u/limax)\
**Post date:** [Février 21, 2016, 1:24 UTC](https://www.debian-fr.org/t/developpement-c-et-vim/31481/11 "2016-02-21T01:24:01Z")

</div>

je rajoute donc (astuce pour vim) et notamment [vim-t8605.html#p103448](http://www.debian-fr.org/vim-t8605.html#p103448)

---

<div class="post-metadata">

**Author:** ![LAV-FRED](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/l/da6949/32.png) [@LAV-FRED](https://www.debian-fr.org/u/LAV-FRED)\
**Post date:** [Février 21, 2016, 1:24 UTC](https://www.debian-fr.org/t/developpement-c-et-vim/31481/12 "2016-02-21T01:24:15Z")

</div>

Je n’arrive pas à ouvrir ton lien… (chromium et iw…) 😕

---

<div class="post-metadata">

**Author:** ![Clochette](https://www.debian-fr.org/user_avatar/www.debian-fr.org/clochette/32/8757_2.png) [@Clochette](https://www.debian-fr.org/u/Clochette)\
**Post date:** [Février 21, 2016, 1:24 UTC](https://www.debian-fr.org/t/developpement-c-et-vim/31481/13 "2016-02-21T01:24:17Z")

</div>

> [@LAV-FRED](#):
>
> Je n’arrive pas à ouvrir ton lien… (chromium et iw…) 😕

et si tu rajouté un h car le protocole ttp n’est pas évident à ouvrir avec nos navigateurs ![:005](https://www.debian-fr.org/uploads/default/original/1X/cdd45e7dd754015ac5291329b843a2851a0d4fe8.gif "chaud") ![:005](https://www.debian-fr.org/uploads/default/original/1X/cdd45e7dd754015ac5291329b843a2851a0d4fe8.gif "chaud") ![:005](https://www.debian-fr.org/uploads/default/original/1X/cdd45e7dd754015ac5291329b843a2851a0d4fe8.gif "chaud")

> [@limax](#):
>
> je rajoute donc (astuce pour vim) et notamment http://www.debian-fr.org/vim-t8605.html#p103448

---

<div class="post-metadata">

**Author:** ![LAV-FRED](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/l/da6949/32.png) [@LAV-FRED](https://www.debian-fr.org/u/LAV-FRED)\
**Post date:** [Février 21, 2016, 1:24 UTC](https://www.debian-fr.org/t/developpement-c-et-vim/31481/14 "2016-02-21T01:24:17Z")

</div>

![:mrgreen:](https://www.debian-fr.org/uploads/default/original/1X/cc83e9b583138e48ff45f96609046b06d06c7f9d.gif "Mr. Green")

Et moi qui ai fait un bête clic sans même regarder l’url alors que c’est évident ![:mrgreen:](https://www.debian-fr.org/uploads/default/original/1X/cc83e9b583138e48ff45f96609046b06d06c7f9d.gif "Mr. Green")
