113 votes

Quelle est la différence entre le code de compilation et le code exécutable?

J'utilise toujours les termes « compiler» et « construire» de manière interchangeable.

Que représentent exactement ces termes?

153voto

Ignacio Vazquez-Abrams Points 312628

La compilation consiste à transformer le code source en code objet.

La liaison consiste à combiner un code objet avec des bibliothèques dans un exécutable brut.

La construction est la séquence composée de la compilation et de la liaison, avec éventuellement d'autres tâches telles que la création d'un programme d'installation.

De nombreux compilateurs gèrent automatiquement l'étape de liaison après la compilation du code source.

18voto

codaddict Points 154968

De wikipedia:

Dans le domaine des logiciels, le terme logiciel construire désigne soit le processus de conversion de fichiers de code source dans la version autonome du logiciel artefact(s) qui peut être exécuté sur un ordinateur, ou le résultat de le faire. L'une des étapes les plus importantes d'un logiciel de construction est la compilation processus où les fichiers de code source sont convertis en code exécutable.

Alors que pour de simples programmes, le processus consiste en un seul fichier en cours de compilation, logiciels complexes, le code source peut être constitué de nombreux fichiers et peuvent être combinés de différentes manières pour produire de nombreuses versions différentes.

9voto

Gishu Points 59012

Une construction peut être vue comme un script comprenant plusieurs étapes - la première étant de compiler le code. D'autres pourraient être

  • tests en cours
  • rapports (par exemple, couverture)
  • analyse statique
  • étapes pré et post-construction
  • exécuter des outils personnalisés sur certains fichiers
  • créer des installations
  • les étiqueter et les déployer / les copier dans un référentiel

8voto

T.J. Crowder Points 285826

Vous "compilez" des unités de code, mais vous "construisez" des solutions - pouvant impliquer la compilation de code, l'assemblage de ressources, la compilation de scripts de déploiement, ...

7voto

Péter Török Points 72981

Ils sont souvent utilisés pour désigner la même chose. Cependant, "construire" peut aussi signifier l'ensemble du processus de compilation et la liaison de l'ensemble de l'application (dans le cas, par exemple, de C et de C++), ou même plus, y compris, entre autres

  • l'emballage
  • automatique (en unité et/ou d'intégration, les tests de dépistage de
  • la génération de l'installeur
  • installation/déploiement
  • documentation/site génération
  • génération de rapports (par exemple, des résultats de test, la couverture).

Il y a des systèmes comme Maven, qui généraliser cela avec la notion de cycle de vie, qui se compose de plusieurs étapes, de produire différents artefacts, éventuellement à l'aide des résultats et des objets à partir des étapes précédentes.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X