C'est quoi un makefile ?
naskaa
Membre
salut,
tout est dans le titre !
merci
tout est dans le titre !
merci
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Mais si tu utilises XCode, le makefile est inutile, XCode do it for you !
C'est pour eclipse (c++) et non Xcode :P
make ---> ca compile le makefile ? la sous eclipse je ne vois pas ou je pourrais faire un make (dans la console peut être) ou alors c'est quand je run que ca le fait automatiquement ?
(ca marche la, c'est juste je veux comprendre ce qui se passe !!! ) un curieux voila tout
s.v.p. une autre question :
Quand je compile ca sort des fichiers en assembleur ou langage machine mais je comprends pas la suite, pour arriver avec un .exe. C'est quoi les étapes. Genre quand on build ca fait quoi et quand on run ca fait quoi avec un Ide comme eclipse ou visual studio ou meme Xcode ?
merci
p.s. je suis en pleins examens ( C'est pour ca j'ai pas le temps de vérifier par moi même sur google)
Parce que bon, les phases de production d'un logiciel exécutable (compilation, édition de lien) et les outils qui permettent d'y arriver (Makefiles, etc...), ça me semble être vraiement la base de la base que doit connaitre tout ingénieur logiciel, non ?
Bon, je vais aller faire un tour sur le www.......
J'ai trouvé. Je n'ai jamais fait de Java (Comment java?). Mais pourquoi utiliser eclipse plus-tôt qu'Xcode?
Merci pour le lien mais sa fait bizarre que un futur ingénierie en développement logiciel ne sache pas sa. Surement car une partie est caché grâce au logiciel de développement avancer comme Xcode.
Je l'utilise parfois au boulot. On développe un système de collecte et rediffusion de données financières (cotations boursières entre autre) en temps réel, en C/C++ coté serveur (qui tourne sous AIX, Linux ou Windows), et nous fournissons à nos clients (des banques) des API dans différents langages: C++, C# et aussi Java (et c'est pourquoi j'utilise Eclipse).
Franchement, si ces bases ne sont plus abordées dans les écoles d'ingénieur, on tombe bien bas... J'espère qu'ils font au moins encore un peu d'assembleur, histoire de savoir comment ça marche un processeur...
Je n'ai pas fait du tout d'école pour devenir développer mais dans un autre domaine, je peux te dire que les bases sont souvent survoler pour se concentrer sur des théories à appliquer bêtement. Que les contrôles (ou évaluation) se contente d'évaluer justement l'application bête de ces théories.
Bon après c'est juste mon expérience personnel et j'espère que ce n'est pas une généralité. Surtout dans des domaines où justement, il faut encourager la créativité et la curiosité.
Maintenant, je ne suis pas plus étonné que cela, je connais des "jeunes" administrateur réseau qui ne savent même pas à quoi servent les Adresses Mac des cartes Ethernet... Vu qu'ils ont été formés sur IP sans jamais s'intéresser à ce qu'il y avait au niveau physique.
Sa nous à fait bien rire (moi et mes collèges), de l'avoir vu passer presque une journée à faire une recherche de panne alors qui suffisait de changer la carte réseau pour 10€.
Le difficulté est donc pour les étudiants de se rendre compte que les sciences et techniques sont des sujets trop larges pour les connaà®tre complètement et qu'ils devront apprendre durant toute leur vie, dans leur métier et à coté de leur métier!
Pour Zoc,
ça c'était ma partie, en principe.
J'avais compris déjà d'après tes différents messages sur le forum.
Ce que je voulais dire, c'est que même si le lien avec ma formation n'était pas évident, et même si on n'est bien sûr pas allé aussi loin qu'un ingénieur en électronique numérique, on a quand même mis le "nez dedans" pour avoir les bases.
C'est malheureux à dire, mais même l'assembleur, on en voit de moins en moins... Maintenant ils font du C# et la plupart s'en contentent... Récemment, je suis resté bouche-bée quand un jeune diplômé m'a dit qu'il n'avait jamais eu de cours d'architecture processeur, et clairement pas vu d'assembleur de sa vie.
Je suis sorti d'école il y a à peine 5 ans, et pourtant j'ai fait de l'assembleur, de l'architecture, et tout plein d'autres trucs rigolos. Beaucoup trouvaient ça insupportable à l'époque, mais pourtant, ça me sert aujourd'hui.
J'y réponds en même temps car j'ai du temps pour chercher moi-même now :
Remarque : Relire le poste pour mieux comprendre car la question à la base a déjà été résolue (sur le makefile).
edit: Aligator vient d'ajouter une autre reponse sur le makefile juste apres :P MERCI
Question:
Quand je compile ca sort des fichiers en assembleur ou langage machine mais je comprends pas la suite, pour arriver avec un .exe. C'est quoi les étapes. Genre quand on build ca fait quoi et quand on run ca fait quoi avec un Ide comme eclipse ou visual studio ou meme Xcode ?
La console n'a pour but que d'afficher des informations (ne pas confondre console et terminal, par exemple).
Pour le reste, c'est un processus en plusieurs étapes que tu verras certainement lors de tes cours en génie logiciel.
PS : J'ai trouvé cette page par une petite recherche Google, ça devrait déjà t'aider à débroussailler le terrain sur la compréhension globale du processus de transformation d'un code source en exécutable. Sinon, bah soit patient et attend d'avoir les cours à ton école :P
RECU 5/5 pour Console/Terminal !
En faite, le cours a déjà été fait il y a deux ans. C'est juste de la révision.
Je comprends les étapes mais pas l'application dans un IDE au fond est obscure.
difference entre builder et compilator ?
C'est dommage, surtout pour un futur ingénieur logiciel...
Parce que dans un projet complexe (des dizaines de librairies, exécutables, etc...), maitriser le processus de génération des divers composants peut faire gagner des heures lors de la compilation du projet entier. A titre d'exemple, le projet sur lequel je bosse est composé de 6 librairies et 8 exécutables. Certaines de ces librairies contiennent de code autogénéré (on parse un fichier XML et on produit du C++, qui est ensuite compilé). En optimisant le processus de build, on est passé de 35 minutes de compilation à 20 minutes...
PS: Sous Eclipse, il y a aussi un système évolué du même style que les Makefile, pour les projets complexes. Mais au lieu d'utiliser "make", Eclipse utilise "ant", qui se base sur un fichier de commande XML. Mais sur le principe, c'est la même chose. Là également on l'utilise pour produire l'API Java de notre produit: On parse un fichier XML (le même que précédemment), qui produit des classes Java, qui sont ensuite compilées. Ensuite le tout passe par un obfuscateur. C'est possible de faire chaque étape manuellement, mais en l'occurrence décrire ces tâches dans un fichier XML et les faire exécuter par ant est bien plus simple et automatique !
Le boulot d'un ingénieur logiciel, ce n'est généralement pas de pondre du code au kilomètre [1] (c'est réservé aux "développeurs", généralement bac+2). Le rôle de l'ingénieur logiciel, c'est d'être chef de projet, donc de penser à l'architecture du logiciel, et également à l'architecture des outils qui vont permettre d'être efficace. Parce que passer de 30 minutes à 15 minutes pour chaque compilation, quand on en fait plusieurs par jour, ça fait gagner beaucoup de temps (et d'argent du coup).
[1]: Sauf dans les petites boites, comme moi, où l'ingénieur logiciel est à la fois chef de projet, architecte, développeur, testeur, et accessoirement ingénieur réseau
C'est juste que je ne comprends pas dans l'IDE Eclipse comment faire une compilation tout court. Est-ce le RUN qui compile et qui execute en meme temps. Et ya l'option build que je ne comprends pas.
Merci aligator pour le lien super pratique
voici un autre super aussi http://www.commentcamarche.net/faq/14440-la-compilation-et-les-modules-en-c-et-en-c#2-la-compilation
p.s. C'est parce que je suis futur ingénieur que je veux comprendre ca
En java il n'y a pas de phase d'édition de liens (les liens sont établis dynamiquement par la JVM lors de l'exécution). Donc dans le cas spécifique d'Eclipse Build = Compilation.
voila la pièce du puzzle qui me manquait
merci à tous