Documentation complète sur la compilation de programmes
57 réponses
enae
Bonjour,
j'utilise quotidiennement de nombreux programmes pour toute tâche.
Après examen de tutoriels, livres de programmations et autres
ressources, je continue de me poser des questions sur le processus de
compilation de programmes.
Certes, le fichier sources est traduit en langage machine, certes, pour
ce faire il faut utiliser des options -o etc...
Mais existe-t-il réellement un manuel complet (ou ressource
informatique) abordant de façon concrète, claire et en profondeur les
points suivants:
- les différentes étapes du processus de compilation, leur utilité, le
fonctionnement en détail de celles-ci
- toutes les options possibles, chacune étant expliquée en profondeur
- des explications sur l'impact hardware lié à la compilation
- la compilation croisée
- les bonnes pratiques de programmation (exemple: indenter son code et
le commenter)
Le 05/01/2016 22:11, a écrit : > Cette machine informatique sans électronique n'a jamais vraiment exis té.
et les grands classiques: https://en.wikipedia.org/wiki/Turing_machine jdd
https://fr.wikipedia.org/wiki/R%C3%A8gle_%C3%A0_calcul (vendu sur Ebay) et La pascaline : https://fr.wikipedia.org/wiki/Pascaline (prix entre 100 à 400 livres) et l'arithmomètre : https://fr.wikipedia.org/wiki/Arithmom%C3%A8tre
On Tuesday 05 January 2016 22:27:30 jdd wrote:
Le 05/01/2016 22:11, andre_debian@numericable.fr a écrit :
> Cette machine informatique sans électronique n'a jamais vraiment exis té.
et les grands classiques:
https://en.wikipedia.org/wiki/Turing_machine
jdd
https://fr.wikipedia.org/wiki/R%C3%A8gle_%C3%A0_calcul
(vendu sur Ebay)
et
La pascaline : https://fr.wikipedia.org/wiki/Pascaline
(prix entre 100 à 400 livres)
et
l'arithmomètre :
https://fr.wikipedia.org/wiki/Arithmom%C3%A8tre
Le 05/01/2016 22:11, a écrit : > Cette machine informatique sans électronique n'a jamais vraiment exis té.
et les grands classiques: https://en.wikipedia.org/wiki/Turing_machine jdd
https://fr.wikipedia.org/wiki/R%C3%A8gle_%C3%A0_calcul (vendu sur Ebay) et La pascaline : https://fr.wikipedia.org/wiki/Pascaline (prix entre 100 à 400 livres) et l'arithmomètre : https://fr.wikipedia.org/wiki/Arithmom%C3%A8tre
> et les grands classiques: > https://en.wikipedia.org/wiki/Turing_machine > jdd
https://fr.wikipedia.org/wiki/R%C3%A8gle_%C3%A0_calcul (vendu sur Ebay) et La pascaline : https://fr.wikipedia.org/wiki/Pascaline (prix entre 100 à 400 livres) et l'arithmomètre : https://fr.wikipedia.org/wiki/Arithmom%C3%A8tre
> et les grands classiques:
> https://en.wikipedia.org/wiki/Turing_machine
> jdd
https://fr.wikipedia.org/wiki/R%C3%A8gle_%C3%A0_calcul
(vendu sur Ebay)
et
La pascaline : https://fr.wikipedia.org/wiki/Pascaline
(prix entre 100 Ã 400 livres)
et
l'arithmomètre :
https://fr.wikipedia.org/wiki/Arithmom%C3%A8tre
> et les grands classiques: > https://en.wikipedia.org/wiki/Turing_machine > jdd
https://fr.wikipedia.org/wiki/R%C3%A8gle_%C3%A0_calcul (vendu sur Ebay) et La pascaline : https://fr.wikipedia.org/wiki/Pascaline (prix entre 100 à 400 livres) et l'arithmomètre : https://fr.wikipedia.org/wiki/Arithmom%C3%A8tre
Cette machine informatique sans électronique n'a jamais vraiment existé.
et les grands classiques: https://en.wikipedia.org/wiki/Turing_machine jdd
https://fr.wikipedia.org/wiki/R%C3%A8gle_%C3%A0_calcul (vendu sur Ebay) et La pascaline : https://fr.wikipedia.org/wiki/Pascaline (prix entre 100 à 400 livres) et l'arithmomètre : https://fr.wikipedia.org/wiki/Arithmom%C3%A8tre
oui, mais celles-là ne sont pas programmables, alors que la machine de turing l'était
(les règles à calcul, j'en ai encore une ou deux :-)
jdd
Le 05/01/2016 22:59, andre_debian@numericable.fr a écrit :
On Tuesday 05 January 2016 22:27:30 jdd wrote:
Le 05/01/2016 22:11, andre_debian@numericable.fr a écrit :
Cette machine informatique sans électronique n'a jamais vraiment existé.
et les grands classiques:
https://en.wikipedia.org/wiki/Turing_machine
jdd
https://fr.wikipedia.org/wiki/R%C3%A8gle_%C3%A0_calcul
(vendu sur Ebay)
et
La pascaline : https://fr.wikipedia.org/wiki/Pascaline
(prix entre 100 à 400 livres)
et
l'arithmomètre :
https://fr.wikipedia.org/wiki/Arithmom%C3%A8tre
oui, mais celles-là ne sont pas programmables, alors que la machine de
turing l'était
(les règles à calcul, j'en ai encore une ou deux :-)
Cette machine informatique sans électronique n'a jamais vraiment existé.
et les grands classiques: https://en.wikipedia.org/wiki/Turing_machine jdd
https://fr.wikipedia.org/wiki/R%C3%A8gle_%C3%A0_calcul (vendu sur Ebay) et La pascaline : https://fr.wikipedia.org/wiki/Pascaline (prix entre 100 à 400 livres) et l'arithmomètre : https://fr.wikipedia.org/wiki/Arithmom%C3%A8tre
oui, mais celles-là ne sont pas programmables, alors que la machine de turing l'était
(les règles à calcul, j'en ai encore une ou deux :-)
jdd
Vincent Lefevre
On 2016-01-05 18:10:47 +0100, Eric Degenetais wrote:
Le 5 janvier 2016 à 17:56, a écrit : > On voit qu'il serait impossible de programmer > en hexadécimal et pire en code machine,
Juste atrocement fastidieux...pour avoir fait les deux à petite dose il y a presque 25 ans, pas énormément plus qu'en assembleur (qui pour simplifier à plaquer des mnémoniques sur les instructions, mais en terme de verbosité et de progression par sauts de puce c'est du même accabit).
Il y a encore des gens qui manipulent ces formes de code pour des cas de niche:
- hackers cherchant à caser du code dans un débordement de pile l'air de rien - spécialistes qui conçoivent les assembleurs, linkers et autres désassembleurs (faut bien les écrire...) - ceux qui conçoivent les les processeurs - gens qui aiment "le sport" - j'en oublie sans doute...
Certains compilateurs, par exemple tcc, qui génère du code machine sans passer par de l'assembleur.
On 2016-01-05 18:10:47 +0100, Eric Degenetais wrote:
Le 5 janvier 2016 à 17:56, <andre_debian@numericable.fr> a écrit :
> On voit qu'il serait impossible de programmer
> en hexadécimal et pire en code machine,
Juste atrocement fastidieux...pour avoir fait les deux à petite dose il y a
presque 25 ans, pas énormément plus qu'en assembleur (qui pour simplifier à
plaquer des mnémoniques sur les instructions, mais en terme de verbosité et
de progression par sauts de puce c'est du même accabit).
Il y a encore des gens qui manipulent ces formes de code pour des cas de
niche:
- hackers cherchant à caser du code dans un débordement de pile l'air de
rien
- spécialistes qui conçoivent les assembleurs, linkers et autres
désassembleurs (faut bien les écrire...)
- ceux qui conçoivent les les processeurs
- gens qui aiment "le sport"
- j'en oublie sans doute...
Certains compilateurs, par exemple tcc, qui génère du code machine
sans passer par de l'assembleur.
On 2016-01-05 18:10:47 +0100, Eric Degenetais wrote:
Le 5 janvier 2016 à 17:56, a écrit : > On voit qu'il serait impossible de programmer > en hexadécimal et pire en code machine,
Juste atrocement fastidieux...pour avoir fait les deux à petite dose il y a presque 25 ans, pas énormément plus qu'en assembleur (qui pour simplifier à plaquer des mnémoniques sur les instructions, mais en terme de verbosité et de progression par sauts de puce c'est du même accabit).
Il y a encore des gens qui manipulent ces formes de code pour des cas de niche:
- hackers cherchant à caser du code dans un débordement de pile l'air de rien - spécialistes qui conçoivent les assembleurs, linkers et autres désassembleurs (faut bien les écrire...) - ceux qui conçoivent les les processeurs - gens qui aiment "le sport" - j'en oublie sans doute...
Certains compilateurs, par exemple tcc, qui génère du code machine sans passer par de l'assembleur.
Bonjour à tous, et tout d'abord un grand merci à tous les participants à ce fil de discussion. Effectivement, c'est maintenant beaucoup plus clair pour moi, d'autant plus que les quelques liens donnent accès à de plus amples documentations et à une mine d'informations.
Je vous remercie tous pour votre aide et pour votre participation. ;-)
Le 06/01/2016 01:43, Haricophile a écrit :
Le Tue, 5 Jan 2016 20:27:25 +0100, Dominique Asselineau a écrit :
Comment ça, impossible. Du temps des machines sur lesquelles les octets étaient comptés, on ne travaillait pas avec des langages compilés qui généraient trop de codes. Et puis comme l'a dit Éric, je crois, le langage d'assemblage n'était que des mnémoniques correspondant aux codes machines. Ça aidait tout de même au calcul des sauts relatifs. mais dire que c'était impossible n'est déjà pas exact.
dom
L'assembleur se compile aussi pour générer un binaire. L'assembleur c'est bas niveau : très proche du matériel et de fait du langage machine, on donne des instructions au processeur, pas aux fenêtres ;) Je ne dis pas qu'on n'a jamais programmé des instructions directement en langage machine, mais un langage comme l'assembleur est là pour éviter ça.
Un langage comme C est suffisamment bas niveau pour permettre d'éviter d'avoir trop recours à un langage de type assembleur, il y a aussi des langages spécialisés pour les micro-circuits par exemple qui évitent ça. Mais l'assembleur n'a pas disparu, on en a encore besoin pour des usages précis. Pas pour développer une appli de compta bien sûr. Mais peut même fabriquer un compilateur avec ;)
Bonjour à tous,
et tout d'abord un grand merci à tous les participants à ce fil de
discussion.
Effectivement, c'est maintenant beaucoup plus clair pour moi, d'autant
plus que les quelques liens donnent accès à de plus amples
documentations et à une mine d'informations.
Je vous remercie tous pour votre aide et pour votre participation. ;-)
Le 06/01/2016 01:43, Haricophile a écrit :
Le Tue, 5 Jan 2016 20:27:25 +0100,
Dominique Asselineau <asseline@telecom-paristech.fr> a écrit :
Comment ça, impossible. Du temps des machines sur lesquelles les
octets étaient comptés, on ne travaillait pas avec des langages
compilés qui généraient trop de codes. Et puis comme l'a dit Éric, je
crois, le langage d'assemblage n'était que des mnémoniques
correspondant aux codes machines. Ça aidait tout de même au calcul
des sauts relatifs. mais dire que c'était impossible n'est déjà pas
exact.
dom
L'assembleur se compile aussi pour générer un binaire. L'assembleur
c'est bas niveau : très proche du matériel et de fait du langage
machine, on donne des instructions au processeur, pas aux fenêtres ;)
Je ne dis pas qu'on n'a jamais programmé des instructions directement en
langage machine, mais un langage comme l'assembleur est là pour éviter
ça.
Un langage comme C est suffisamment bas niveau pour permettre d'éviter
d'avoir trop recours à un langage de type assembleur, il y a aussi des
langages spécialisés pour les micro-circuits par exemple qui évitent
ça. Mais l'assembleur n'a pas disparu, on en a encore besoin pour des
usages précis. Pas pour développer une appli de compta bien
sûr. Mais peut même fabriquer un compilateur avec ;)
Bonjour à tous, et tout d'abord un grand merci à tous les participants à ce fil de discussion. Effectivement, c'est maintenant beaucoup plus clair pour moi, d'autant plus que les quelques liens donnent accès à de plus amples documentations et à une mine d'informations.
Je vous remercie tous pour votre aide et pour votre participation. ;-)
Le 06/01/2016 01:43, Haricophile a écrit :
Le Tue, 5 Jan 2016 20:27:25 +0100, Dominique Asselineau a écrit :
Comment ça, impossible. Du temps des machines sur lesquelles les octets étaient comptés, on ne travaillait pas avec des langages compilés qui généraient trop de codes. Et puis comme l'a dit Éric, je crois, le langage d'assemblage n'était que des mnémoniques correspondant aux codes machines. Ça aidait tout de même au calcul des sauts relatifs. mais dire que c'était impossible n'est déjà pas exact.
dom
L'assembleur se compile aussi pour générer un binaire. L'assembleur c'est bas niveau : très proche du matériel et de fait du langage machine, on donne des instructions au processeur, pas aux fenêtres ;) Je ne dis pas qu'on n'a jamais programmé des instructions directement en langage machine, mais un langage comme l'assembleur est là pour éviter ça.
Un langage comme C est suffisamment bas niveau pour permettre d'éviter d'avoir trop recours à un langage de type assembleur, il y a aussi des langages spécialisés pour les micro-circuits par exemple qui évitent ça. Mais l'assembleur n'a pas disparu, on en a encore besoin pour des usages précis. Pas pour développer une appli de compta bien sûr. Mais peut même fabriquer un compilateur avec ;)