Je recherche depuis un mois des articles de blog sur "le fonctionnement du programme C". La plupart d'entre eux sont du genre
- Les compilateurs font les choses suivantes
- Les Linkers font ces choses
- Le programme est mis en mémoire, ainsi que les piles, les tas, etc.
Je pensais d'abord lire comment fonctionne un compilateur pour comprendre le flux du programme dans la machine. Le livre du Dragon semble être universellement préféré. Mais honnêtement, c'est trop intensif. Je ne suis pas assez bon maintenant pour le parcourir en entier.
J'ai donc commencé à lire sur le matériel. Mais là aussi, ils expliquent les bus, les signaux d'E/S, la structure de la mémoire, l'écriture d'un code adapté au cache, etc. Mais sans aucun exemple concret.
Mais je ne parvenais toujours pas à me satisfaire ou à visualiser complètement le processus.
Il y a 2 heures, j'ai décidé de poser cette question (car j'ai peur qu'elle ne soit pas utile à la communauté SO, qu'elle soit hors sujet ou qu'elle soit classée dans une autre catégorie) et je n'ai trouvé aucun message se rapportant exactement à cette question. Il y en avait un sur "comment le compilateur fait la compilation", mais les réponses ont montré que c'est une question trop large.
Ma question est la suivante :
J'aimerais savoir comment fonctionne, en profondeur, un programme C. Si vous ne pouvez pas me le dire explicitement, merci de me rediriger vers un livre ou un post sur un autre site qui puisse me donner la réponse à cette question.
Je suis ici jusqu'à ce que je reçoive une réponse. Si vous avez des suggestions concernant ce post, dites-le moi. Et ce n'est pas ma première langue, donc s'il vous plaît prenez toutes mes phrases comme étant douces et polies.
Gracias.
UPDATE :
En plus de la réponse acceptée, il y a des liens très intéressants ainsi que des suggestions qui donnent des réponses partielles ou la façon de procéder pour comprendre ce que j'essaie de comprendre.