Programmer en c (ou c++...) sous Gentoo ?

Programmer en c (ou c++...) sous Gentoo ? - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 28-08-2007 à 03:53:07    

Bonjour, je n'ai jamais programmer en C et je ne sais pas du tout comment m'y prendre, déjà il me faudrait surement quelques liens pour apprendre la programmation en elle même...(je vais commencer par étudier des sources, comme je suis sous Gentoo c'est pas ça qui manque...)
Ensuite je ne sais pas quels logiciels installer/utiliser ? j'ai lu sur le net qu'il fallait un "debugger", enfin voila vous avez compris je part de zero, merci de me donner quelques pistes après je pense me débrouiller sans trop de problèmes ;)
 
++


---------------
Tyan Tiger 200T, SDR PC 133, 1*256Mo, Bi-Tualatin 1,4Ghz, disque Maxtor 6Y080L0 IDE 80Go, FX 5200 en format PCI, modem/routeur DSL-524T, le tout sous Gentoo
Reply

Marsh Posté le 28-08-2007 à 03:53:07   

Reply

Marsh Posté le 28-08-2007 à 07:50:27    

trouble_fete a écrit :

Bonjour, je n'ai jamais programmer en C et je ne sais pas du tout comment m'y prendre, déjà il me faudrait surement quelques liens pour apprendre la programmation en elle même...(je vais commencer par étudier des sources, comme je suis sous Gentoo c'est pas ça qui manque...)
Ensuite je ne sais pas quels logiciels installer/utiliser ? j'ai lu sur le net qu'il fallait un "debugger", enfin voila vous avez compris je part de zero, merci de me donner quelques pistes après je pense me débrouiller sans trop de problèmes ;)
 
++


Pour programmer en C, pas besoin de grand chose.
En ligne de commande : (v)im, emacs, nano ...
En graphique : gedit, kate, pourquoi pas bluefish (pour la coloration synthaxique) ...
 
Pour la compilation, tout ce dont tu as besoin est intégré à la gentoo de base (gcc).


Message édité par coincoincanard le 28-08-2007 à 07:50:40
Reply

Marsh Posté le 28-08-2007 à 08:39:53    

.. et un projet aussi, c'est le meilleur pour apprendre, faire un programme avec un but précis (pas trop ambitieux :o)


---------------
The Toast, un docu-fiction qui teste la loi de murphy et les films en carton
Reply

Marsh Posté le 28-08-2007 à 09:00:07    

trouble_fete a écrit :

(je vais commencer par étudier des sources, comme je suis sous Gentoo c'est pas ça qui manque...)


 
je pense que tu devrais apprendre les bases avant sinon tu vas bien t'amuser...  :sweat:


---------------
-_- http://www.scienceshopping.com -_-
Reply

Marsh Posté le 28-08-2007 à 09:02:29    

_p1c0_ a écrit :

je pense que tu devrais apprendre les bases avant sinon tu vas bien t'amuser...  :sweat:


[:cerveau dawanon]
 
Aller direct dans les sources du kernaÿle, caÿlebieng [:cerveau neuf] [:cerveau huit]  


---------------
Wedge#2487 @HS -#- PW: +∞ -#- Khaz-Modan/Boltiz @WoW
Reply

Marsh Posté le 28-08-2007 à 09:03:02    

wedgeant a écrit :


[:cerveau dawanon]
 
Aller direct dans les sources du kernaÿle, caÿlebieng [:cerveau neuf] [:cerveau huit]  


 
ben ca me parait un peu barbare s'il sait même pas avec quoi on compile...  [:cerveau pingouino]


---------------
-_- http://www.scienceshopping.com -_-
Reply

Marsh Posté le 28-08-2007 à 09:06:44    

_p1c0_ a écrit :

ben ca me parait un peu barbare s'il sait même pas avec quoi on compile...  [:cerveau pingouino]


avec g++  [:fatidik972]  
 
[:dawa_neowen]


---------------
Wedge#2487 @HS -#- PW: +∞ -#- Khaz-Modan/Boltiz @WoW
Reply

Marsh Posté le 28-08-2007 à 09:38:04    

OK merci a vous, je suis habitué a compiler mais en passant par portage :D
Alors que pour programmer, j'imagine que l'on ne peut plus utiliser portage et donc compiler "a la main".
genre ./configure && make && make install
Enfin pour moi compiler a la main c'est ça :D reste a voir si ses propres petits programmes de débutant se compilent comme ça aussi...
Comme projet pour commencer je verrais bien une petite calculatrice simple ?
Qu'en pensez vous ?  :jap:

Reply

Marsh Posté le 28-08-2007 à 09:42:00    

trouble_fete a écrit :

./configure && make && make install


 
ca c'est seulement parce que la personne qui maintient le paquet a écrit les scripts qui vont bien... Après, c'est à toi d'écrire ton propre makefile avec tout ce qui va bien dedans pour avoir juste à taper make et make install.  


---------------
-_- http://www.scienceshopping.com -_-
Reply

Marsh Posté le 28-08-2007 à 09:44:51    

en oui une calcu spa mal pour les bases
 
./configure c'est un script généré par autoconf et make est un outils pour simplifier l'écriture des lignes de commandes de compil (y a des cibles avec telles actions a faire, telles compiles a faire... hop,k un make "cible" et c'est partit.
 
pour commencer, compile à la mano: gcc fichier.c -o executable  
 
si tu veux utiliser des libs, pense à pkg-config pour configurer les cflags et  les path des libs


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
Reply

Marsh Posté le 28-08-2007 à 09:44:51   

Reply

Marsh Posté le 28-08-2007 à 09:46:50    

Ok merci zecrazytux :)

Reply

Marsh Posté le 28-08-2007 à 10:02:33    

Bon, pour une fois je vais être sérieux ;)
 
Pour commencer, une calculatrice n'est pas forcément le plus facile, il faut gèrer tout un tas de bidules complexes comme l'analyse syntaxique des commandes de calculs, la priorité des opérations les unes par rapport aux autres etc etc ...
 
Je te propose par contre un petit jeu sympa que tout le monde a fait à ses début et qui te permettras de t'amuser en même temps: le "plus ou moins". Le principe est simple, tu dois deviner un nombre compris entre 0 et X (X étant déterminé par un niveau de difficulités par exemple), en un nombre de coups maxi N (la théorie nous dit que N = log10(X))
 
Après, pour compiler, le "configure && make && make install" ne fonctionne que si tu as créé un script configure ainsi qu'un Makefile, sinon il faut compiler "à la main", avec gcc ou g++ si tu codes en C ou C++ ...


---------------
Wedge#2487 @HS -#- PW: +∞ -#- Khaz-Modan/Boltiz @WoW
Reply

Marsh Posté le 28-08-2007 à 11:41:06    

[:wedgeant] pour le "plus ou moins".

 

Sinon, pour démarrer de manière sympathique, c'est bien d'avoir quelques outils supplémentaires (en plus des outils de base nécessaires comme le compilateur). Par exemple :

 
  • un bon éditeur de texte qui te fait de la coloration syntaxique pour le C / C++ / Makefile.
  • un débogueur


Perso, je suis assez fan du binôme Emacs + gdb (mais il y a plein de possibilités ; je ne veux pas entrer dans un troll sans fin). Dans le genre moins sobre, il y a des environnements tout intégrés comme KDevelop (qui est même capable de te générer un Makefile simple il me semble).

Message cité 1 fois
Message édité par franceso le 28-08-2007 à 11:41:26

---------------
TriScale innov
Reply

Marsh Posté le 28-08-2007 à 11:47:28    

franceso a écrit :

je suis assez fan du binôme Emacs + gdb


 
[:wedgeant]
 
moi j'ai commencé avec Emacs et j'adore ca, j'ai meme du mal quand je dois utiliser autre chose. La coloration syntaxique c'est vraiment un plus au début!  


---------------
-_- http://www.scienceshopping.com -_-
Reply

Marsh Posté le 28-08-2007 à 11:55:50    

[:wedgeant] Avec mes koupaings (qui utilisent mon smiley ... [:cerveau atsuko])
 
Pour l'éditeur, aller jusqu'à utiliser kdevelop est peut-être un peu barbare ... kate fera très bien l'affaire :jap: (coloration synataxique, console intégrée, gestion de projets etc ...).
 
Perso, j'utilise gvim (vi amélioré en mode graphique), et à l'époque j'utilisais kdbg comme debuggueur, graphique et plus facile à prendre ne main que gdb, qui est un peu "barbare" :)


---------------
Wedge#2487 @HS -#- PW: +∞ -#- Khaz-Modan/Boltiz @WoW
Reply

Marsh Posté le 28-08-2007 à 11:56:38    

_p1c0_ a écrit :


 
[:wedgeant]
 
moi j'ai commencé avec Emacs et j'adore ca, j'ai meme du mal quand je dois utiliser autre chose. La coloration syntaxique c'est vraiment un plus au début!  


et même à la fin :o  ;)


---------------
ma conduite intérieure .:R | memaster pilote officiel de la HFR Badoit-Auchan F1 Team | zéro tracas, zéro blabla MMa.ster
Reply

Marsh Posté le 28-08-2007 à 12:17:52    

memaster a écrit :


et même à la fin :o  ;)


 
oui oui, mais je voulais dire par là qu'à la fin, on s'en passe un peu plus facilement, mais pour commencer ca aide bien.


---------------
-_- http://www.scienceshopping.com -_-
Reply

Marsh Posté le 28-08-2007 à 13:09:01    

vim, vim, vim
 
vim pour coder le c
vim pour écrire ton makefile
tu execute make à partir de vim
 
tout ça dans un beau terminal avec font bold, couleurs sur fond noir. c'est beau. :love:


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
Reply

Marsh Posté le 28-08-2007 à 13:39:31    

Merci beaucoup je pensais pas avoir tant d'aides et de réponses c'est sympa !
 
zecrazytux ma konsole a un fond blanc je trouve ça sympa :D
 
Bon et bien des que j'ai le temps je me lance, en suivant vos avis éclairés de connaisseurs :)

Message cité 1 fois
Message édité par trouble_fete le 28-08-2007 à 13:39:48
Reply

Marsh Posté le 28-08-2007 à 14:18:06    

trouble_fete a écrit :


zecrazytux ma konsole a un fond blanc je trouve ça sympa :D


le blanc ça me pet' trop le yeux (luminosité) entre 22h et 4h... et les couleurs ressortent beaucoup mieux (contraste ?) sur du noir. et de toute façon j'ai toujours préféré le foncé ;)


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
Reply

Marsh Posté le 28-08-2007 à 14:20:20    

Je vais tester ça, car si je dois regarder longtemps la konsole il serait bien que ça ne finisse pas par faire mal aux yeux :/

Reply

Marsh Posté le 28-08-2007 à 14:25:10    

zecrazytux a écrit :


le blanc ça me pet' trop le yeux (luminosité) entre 22h et 4h... et les couleurs ressortent beaucoup mieux (contraste ?) sur du noir. et de toute façon j'ai toujours préféré le foncé ;)


 [:wedgeant]  
Surtout qu'en ces périodes de fortes chaleurs, j'ai tendance à programmer fenêtre ouverte, rideaux ouverts, lit ouvert ... bref [:cerveau cupra]
Et qu'avoir des fonds clairs, ça attire les moustiques, c'est taffreux taffreux :o


---------------
Wedge#2487 @HS -#- PW: +∞ -#- Khaz-Modan/Boltiz @WoW
Reply

Marsh Posté le 28-08-2007 à 14:26:44    

Idem tout ouvert et avec les lampadaires pas loin de ma fenetre ça attire les moustiques, je me suis fait piquer récemment sur un doigt, pas pratique pour programmer d'avoir un doigt qui gratte :/

Reply

Marsh Posté le 28-08-2007 à 14:37:50    

trouble_fete a écrit :

Idem tout ouvert et avec les lampadaires pas loin de ma fenetre ça attire les moustiques, je me suis fait piquer récemment sur un doigt, pas pratique pour programmer d'avoir un doigt qui gratte :/


Pommade Eurax, c'est radical [:cerveau huit]
Ca empêche pas les piqûres, mais ça évite de se gratter, suffit juste d'en poser un tout petit peu dessus et d'étaler doucement, en 5 minutes, ça gratte plus ! [:jar jar]


---------------
Wedge#2487 @HS -#- PW: +∞ -#- Khaz-Modan/Boltiz @WoW
Reply

Marsh Posté le 28-08-2007 à 14:40:18    

wedgeant a écrit :


Pommade Eurax, c'est radical [:cerveau huit]
Ca empêche pas les piqûres, mais ça évite de se gratter, suffit juste d'en poser un tout petit peu dessus et d'étaler doucement, en 5 minutes, ça gratte plus ! [:jar jar]


 
Merci WedgeAnt  :sol:

Reply

Marsh Posté le 29-08-2007 à 00:10:40    

Au fait je sais bien qu'il existe des sites internet très interessant sur le sujet, mais si vous connaissez une bonne référence de bouquin pour apprendre le langage C/C++, adapté pour programmer pour et sous Linux, je suis preneur j'adore lire et ça me ferait un ma-gni-fi-que livre de chevet  
Une bible  :love: le bon gros bouquin mais pour débutant :D

Reply

Marsh Posté le 29-08-2007 à 01:09:20    

C ou C++ ? Pour le C, le bon vieux K&R...


---------------
You get so used to things the way they are. And I've always been alone. I guess that makes me lonely.
Reply

Marsh Posté le 29-08-2007 à 01:11:47    

Impeccable merci -Opera-, maintenant le même mais pour le C++ :D
 
Edit: je suis en train de lire un site vraiment fait pour les débutants complets...je vois dans la structure du programme proposé au début qu'il y a une grande similitude avec le langage Java, que j'ai pratiqué un petit peu (expérimentalement on va dire :D) je dirais même que ça y ressemble énormement, le système de précharger des bibliothèques, les points virgules a la fin des instructions...les parenthèses et les crochets ont les même roles aussi
Je viens de tester un peu le programme du site http://www.siteduzero.com/tuto-3-1 [...] ramme.html
Et ça fonctionne mais c'est vraiment hyper basique, enfin c'est ptet pas plus mal pour débuter vu que je ne connais pas le C ni le C++  :whistle:


Message édité par trouble_fete le 29-08-2007 à 01:22:29
Reply

Marsh Posté le 29-08-2007 à 08:04:53    

Normal que tu trouves des similitudes :D
Le C++ et le Java sont tous les deux des langages objets qui ont beaucoup beaucoup de ressemblances ;)


---------------
Wedge#2487 @HS -#- PW: +∞ -#- Khaz-Modan/Boltiz @WoW
Reply

Marsh Posté le 29-08-2007 à 10:17:15    

teste ça dans google: "cours c pdf"


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
Reply

Marsh Posté le 29-08-2007 à 10:20:05    

zecrazytux a écrit :

teste ça dans google: "cours c pdf"


 
on trouve de tout quand meme avec ca...
il me semble qu'il y a des cours sympas sur developpez.com  :)


---------------
-_- http://www.scienceshopping.com -_-
Reply

Marsh Posté le 29-08-2007 à 14:13:46    

_p1c0_ a écrit :


 
on trouve de tout quand meme avec ca...
il me semble qu'il y a des cours sympas sur developpez.com  :)


ben ouai, y a du avancé, du débutant... ;)


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
Reply

Marsh Posté le 29-08-2007 à 23:44:05    

Pour un débutant, en plus du K&R, y a aussi les bouquins de Claude Delannoy qui sont de bonnes références, personnellement, j'ai "Le langage C" et "Le langage C++" qui me servent d'aide mémoire. Sinon pour la prog spécifique Linux, y a un gros pavé "Programmation système en C sous Linux" de Christophe Blaess (le gars qui traduit toutes les pages "man 3" )

Reply

Marsh Posté le 30-08-2007 à 00:12:15    

On est sur un forum avec une section dédiée à la programmation et une sous-partie pour des références bibliographiques : http://forum.hardware.fr/hfr/Progr [...] ujet-1.htm
 
Au niveau des bouquins : éviter tout ce qui a un titre du type « la programmation en 24 heures », ou « programmez facilement ». La programmation est quelque chose de complexe même si un singe peut faire un machin qui s'exécute.
En général, on peut fouiller dans les bouquins destinés à l'enseignement dans le supérieur.
Pour le C, le K&R (les deux auteurs du C) est incontournable et est très bien.
Pour le C++, le bouquin de Bjarne Stroustrup (auteur du C++) est bien désagréable à lire, mais encyclopédique ; donc une bonne référence quand même. Pour la prise de contact avec le C++, je ne sais pas quoi conseiller en particulier. :/
 
Pour les sites sur le net, c'est du même topo que pour les bouquins : se barrer immédiatement des sites de rigolos où l'auteur tutoies le lecteur ou veut lui montrer combien c'est coooooool de programmer. En revanche, il y a plein de cours d'enseignants de facs ou d'écoles qui sont en ligne et de bonne qualité.

Reply

Marsh Posté le 30-08-2007 à 03:46:29    

Merci les gars, je vais acheter certains livres que vous avez citer après quelques reflexions pour savoir lesquels seront les plus instructifs ;)
Quand aux sites du genre "c'est cooooool de programmer" et qui nous tutoies, effectivement le niveau a pas l'air terrible...pour apprendre et progresser y a surement mieux


Message édité par trouble_fete le 30-08-2007 à 03:46:41
Reply

Marsh Posté le 30-08-2007 à 04:48:56    

zecrazytux a écrit :

en oui une calcu spa mal pour les bases
 
./configure c'est un script généré par autoconf et make est un outils pour simplifier l'écriture des lignes de commandes de compil (y a des cibles avec telles actions a faire, telles compiles a faire... hop,k un make "cible" et c'est partit.
 
pour commencer, compile à la mano: gcc fichier.c -o executable  
 
si tu veux utiliser des libs, pense à pkg-config pour configurer les cflags et  les path des libs


 
Déjà je confirme que cette méthode marche direct en toute simplicité même pour un débutant :D j'avais installé Code Blocks mais finalement je pense que c'est une erreur, ce soft ne me plait pas...
 
je préfère utiliser les softs qui etaient déjà présents de base dans la Gentoo (gcc notamment :D) et vim pour éditer le programme (lui par contre n'était pas présent y avait que nano de base)
 
Edit: plus
 
Bon et bien la grande aventure peut débuter...
 

Citation :


Après, pour compiler, le "configure && make && make install" ne fonctionne que si tu as créé un script configure ainsi qu'un Makefile, sinon il faut compiler "à la main", avec gcc ou g++ si tu codes en C ou C++ ...


 
portage ne trouve pas g++, par contre il a l'air de me dire que mon gcc gère le c++ ainsi que le java  :ouch:  
 

Citation :

*  sys-devel/gcc
      Latest version available: 4.2.0
      Latest version installed: 4.2.0
      Size of files: 43,092 kB
      Homepage:      http://gcc.gnu.org/
      Description:   The GNU Compiler Collection. Includes C/C++, java compilers, pie+ssp extensions, Haj Ten Brugge runtime bounds checking
      License:       GPL-2 LGPL-2.1


 
Voila  :hello:

Message cité 2 fois
Message édité par trouble_fete le 30-08-2007 à 04:54:47
Reply

Marsh Posté le 30-08-2007 à 09:50:19    

trouble_fete a écrit :

portage ne trouve pas g++, par contre il a l'air de me dire que mon gcc gère le c++ ainsi que le java  :ouch:

GCC = Gnu Compiler Collection.
GCC inclut des compilateurs pour plusieurs langages (dont entre autres C et C++).
 
Je ne sais pas trop comment les packages Gentoo sont organisés, mais de toutes façons j'imagine que g++ est déjà installé sur ta machine : tape juste 'g++ -v' en console pour vérifier.


---------------
TriScale innov
Reply

Marsh Posté le 30-08-2007 à 09:54:15    

[:wedgeant] avec Franceso ( :hello: )
De toute manière, si tu essayes de compiler du code C++ avec la commande gcc (et pas avec g++), ça passera jusqu'à l'édition des liens et là poufff :D


Message édité par wedgeant le 30-08-2007 à 09:54:22

---------------
Wedge#2487 @HS -#- PW: +∞ -#- Khaz-Modan/Boltiz @WoW
Reply

Marsh Posté le 30-08-2007 à 14:03:03    

Exact j'ai bien g++
 

Citation :

g++ -v
Utilisation des specs internes.
Target: x86_64-pc-linux-gnu
Configuré avec: /var/tmp/portage/sys-devel/gcc-4.2.0/work/gcc-4.2.0/configure --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/4.2.0 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.0/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.2.0 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.2.0/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.2.0/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.0/include/g++-v4 --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --disable-altivec --enable-nls --without-included-gettext --with-system-zlib --disable-checking --disable-werror --enable-secureplt --disable-libunwind-exceptions --enable-multilib --enable-libmudflap --disable-libssp --disable-libgcj --enable-languages=c,c++,fortran --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu
Modèle de thread: posix
version gcc 4.2.0 (Gentoo 4.2.0 p1.4)

Reply

Marsh Posté le 07-09-2007 à 01:36:22    

Un petit retour de mes avancés en c++ :D
 
Bon et bien ça se passe bien, j'apprends petit a petit...je fait des programmes a la con pour essayer de vraiment comprendre le fonctionnement des fonctions.
j'utilise le compilateur g++ tout va bieng, j'ai même trouvé tout seul l'astuce de regarder les pages de man (man 2 :D) pour voir les "includes" a mettre au début des programmes en fonction des fonctions que j'utilise...
(par exemple #include <sys/mount.h> pour mount...)
Pour le moment ça va je n'ai pas lancé mon projet qui est de créer un programme a executer depuis une clé USB après avoir booter le livecd de Gentoo, ce programme devra poser les questions du genre nom de la machine, nom d'user désiré etc etc, les fichiers de config, stage3 et portage devront etre sur la clé (le livecd étant volontairement le "minimal" ), des que j'ai assez de connaissance je lancerais ce projet, avec comme objectif réel de tester et améliorer mes compétences en programmation C/C++.
y a du boulot je suis au tout début d'une (très) longue aventure...
je ne desespererais jamais d'arriver a créer du code de qualitée et d'atteindre les objectifs que je me fixerais au fur et a mesure :)
Tout en m'amusant, sans réelles contraintes puisque ce n'est pas dans le cadre professionnel...
 
voila voila
 
béni soit le créateur de ce langage et de gcc  :jap: tout ça gratuit légalement, c'est le bonheur a porté de main pour beaucoup de monde, dommage que beaucoup l'ignore  ;) j'aurais eu un PC quand j'étais au lycee, si j'aurais eu connaissance du C et de la gratuité totale des moyens de developpement sous cette jolie distribution qu'est Gentoo, j'aurais commencé beaucoup plus tot cet apprentissage...dommage
 
Edit: je précise cette distribution particulière car elle aussi je l'adore, mais je sais pas si j'aurais voulu la connaitre avant, parait qu'elle etait plus...difficile d'acces ?  :whistle:


Message édité par trouble_fete le 07-09-2007 à 01:37:43
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed