web-dev-qa-db-fra.com

Quelle est la différence entre construire et compiler?

Quelle est la différence entre la construction et la compilation.

34
Vishwas

La compilation est partie d'un processus de construction.

Un processus de construction peut inclure des tests, le conditionnement et d'autres activités en dehors de la compilation.

37
Oded

"Construire" est un terme assez général, et il peut faire référence à tout ce qui est nécessaire pour passer du matériel source modifiable (code source, scripts, fichiers de données brutes, etc.) à un produit logiciel livrable. La construction peut (et implique généralement) plusieurs étapes, telles que le prétraitement, la compilation, la liaison, la conversion des fichiers de données, l'exécution de tests automatisés, l'empaquetage, etc.

La "compilation" est plus spécifique et fait presque invariablement référence à un processus qui prend le code source comme entrée et génère quelque chose d'exécutable, généralement du code machine pour une machine physique ou virtuelle, ou du code source dans une langue différente.

22
tdammers

Ces termes sont souvent utilisés de manière interchangeable, mais je les différencierais de la manière suivante:

  • La construction se fait lors de la préparation d'une demande de publication, ce qui comprend la compilation, l'empaquetage, les tests, etc.
  • La compilation est effectuée à tout moment où le compilateur est impliqué dans la traduction du code du langage de programmation en code machine.

Ainsi, la compilation est vraiment un sous-ensemble de la construction.

10
Bernard

La compilation est effectuée par le compilateur, la construction peut être un processus plus complexe.

Par exemple. en C++ pour faire un build d'un projet dont vous avez besoin d'un préprocesseur (prétraitement des fichiers source); compilateur (compilation de fichiers sources); éditeur de liens (tout fusionner en exécutable - code compilé, icônes, chaînes, autres ressources ensemble)

Donc, généralement, la compilation consiste à traduire du code écrit dans une langue dans une autre (par exemple, le code machine).

3
Slawek