Programmer en c (ou c++...) sous Gentoo ? - Codes et scripts - Linux et OS Alternatifs
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...) |
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).
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 )
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...
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... |
Aller direct dans les sources du kernaÿle, caÿlebieng
Marsh Posté le 28-08-2007 à 09:03:02
wedgeant a écrit : |
ben ca me parait un peu barbare s'il sait même pas avec quoi on compile...
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... |
avec g++
Marsh Posté le 28-08-2007 à 09:38:04
OK merci a vous, je suis habitué a compiler mais en passant par portage
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 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 ?
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.
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
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++ ...
Marsh Posté le 28-08-2007 à 11:41:06
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 :
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).
Marsh Posté le 28-08-2007 à 11:47:28
franceso a écrit : je suis assez fan du binôme Emacs + gdb |
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!
Marsh Posté le 28-08-2007 à 11:55:50
Avec mes koupaings (qui utilisent mon smiley ... )
Pour l'éditeur, aller jusqu'à utiliser kdevelop est peut-être un peu barbare ... kate fera très bien l'affaire (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"
Marsh Posté le 28-08-2007 à 11:56:38
_p1c0_ a écrit : |
et même à la fin
Marsh Posté le 28-08-2007 à 12:17:52
memaster a écrit : |
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.
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.
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
Bon et bien des que j'ai le temps je me lance, en suivant vos avis éclairés de connaisseurs
Marsh Posté le 28-08-2007 à 14:18:06
trouble_fete 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é
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
Marsh Posté le 28-08-2007 à 14:25:10
zecrazytux a écrit : |
Surtout qu'en ces périodes de fortes chaleurs, j'ai tendance à programmer fenêtre ouverte, rideaux ouverts, lit ouvert ... bref
Et qu'avoir des fonds clairs, ça attire les moustiques, c'est taffreux taffreux
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
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
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 !
Marsh Posté le 28-08-2007 à 14:40:18
wedgeant a écrit : |
Merci WedgeAnt
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 le bon gros bouquin mais pour débutant
Marsh Posté le 29-08-2007 à 01:09:20
C ou C++ ? Pour le C, le bon vieux K&R...
Marsh Posté le 29-08-2007 à 01:11:47
Impeccable merci -Opera-, maintenant le même mais pour le C++
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 ) 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++
Marsh Posté le 29-08-2007 à 08:04:53
Normal que tu trouves des similitudes
Le C++ et le Java sont tous les deux des langages objets qui ont beaucoup beaucoup de ressemblances
Marsh Posté le 29-08-2007 à 10:17:15
teste ça dans google: "cours c pdf"
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
Marsh Posté le 29-08-2007 à 14:13:46
_p1c0_ a écrit : |
ben ouai, y a du avancé, du débutant...
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" )
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é.
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
Marsh Posté le 30-08-2007 à 04:48:56
zecrazytux a écrit : en oui une calcu spa mal pour les bases |
Déjà je confirme que cette méthode marche direct en toute simplicité même pour un débutant 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 ) 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 : |
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
Citation : * sys-devel/gcc |
Voila
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 |
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.
Marsh Posté le 30-08-2007 à 09:54:15
avec Franceso ( )
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
Marsh Posté le 30-08-2007 à 14:03:03
Exact j'ai bien g++
Citation : g++ -v |
Marsh Posté le 07-09-2007 à 01:36:22
Un petit retour de mes avancés en c++
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 ) 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 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 ?
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