อะไรคือความแตกต่างระหว่างรหัสคอมไพล์และโค้ดปฏิบัติการ?


คำตอบ:


159

การคอมไพล์คือการเปลี่ยนซอร์สโค้ดเป็นอ็อบเจ็กต์โค้ด

การเชื่อมโยงคือการรวมรหัสออบเจ็กต์กับไลบรารีเข้ากับไฟล์ปฏิบัติการดิบ

การสร้างคือลำดับที่ประกอบด้วยการรวบรวมและการเชื่อมโยงกับงานอื่น ๆ เช่นการสร้างโปรแกรมติดตั้ง

คอมไพเลอร์จำนวนมากจัดการขั้นตอนการเชื่อมโยงโดยอัตโนมัติหลังจากรวบรวมซอร์สโค้ด


19

จากวิกิพีเดีย :

ในสาขาซอฟต์แวร์คอมพิวเตอร์คำว่าซอฟต์แวร์สร้างหมายถึงกระบวนการแปลงไฟล์ซอร์สโค้ดเป็นซอฟต์แวร์แบบสแตนด์อโลนที่สามารถเรียกใช้บนคอมพิวเตอร์หรือผลจากการทำเช่นนั้น ขั้นตอนที่สำคัญที่สุดอย่างหนึ่งของการสร้างซอฟต์แวร์คือการคอมไพล์กระบวนการซึ่งไฟล์ซอร์สโค้ดจะถูกแปลงเป็นรหัสปฏิบัติการ

ในขณะที่สำหรับโปรแกรมง่ายๆกระบวนการประกอบด้วยไฟล์เดียวที่กำลังคอมไพล์สำหรับซอฟต์แวร์ที่ซับซ้อนซอร์สโค้ดอาจประกอบด้วยไฟล์จำนวนมากและอาจรวมกันในรูปแบบต่างๆเพื่อสร้างเวอร์ชันที่แตกต่างกัน


9

โครงสร้างอาจถูกมองว่าเป็นสคริปต์ซึ่งประกอบด้วยหลายขั้นตอนซึ่งขั้นตอนหลักคือการคอมไพล์โค้ด อื่น ๆ อาจเป็นได้

  • กำลังทดสอบ
  • การรายงาน (เช่นความครอบคลุม)
  • การวิเคราะห์แบบคงที่
  • ขั้นตอนก่อนและหลังการสร้าง
  • เรียกใช้เครื่องมือที่กำหนดเองบนไฟล์บางไฟล์
  • การสร้างการติดตั้ง
  • ติดป้ายกำกับและปรับใช้ / คัดลอกไปยังที่เก็บ

7

มักใช้เพื่อหมายถึงสิ่งเดียวกัน อย่างไรก็ตาม "build" อาจหมายถึงกระบวนการคอมไพล์และเชื่อมโยงแอปพลิเคชันทั้งหมด (ในกรณีเช่น C และ C ++) หรือมากกว่านั้นรวมถึงอื่น ๆ

  • บรรจุภัณฑ์
  • การทดสอบอัตโนมัติ (หน่วยและ / หรือการรวม)
  • รุ่นติดตั้ง
  • การติดตั้ง / การใช้งาน
  • การสร้างเอกสาร / ไซต์
  • การสร้างรายงาน (เช่นผลการทดสอบความครอบคลุม)

มีระบบต่างๆเช่นMavenซึ่งสรุปสิ่งนี้ด้วยแนวคิดของวงจรชีวิตซึ่งประกอบด้วยหลายขั้นตอนการสร้างสิ่งประดิษฐ์ที่แตกต่างกันอาจใช้ผลลัพธ์และสิ่งประดิษฐ์จากขั้นตอนก่อนหน้า


5

จากประสบการณ์ของฉันฉันจะบอกว่า "การรวบรวม" หมายถึงการแปลงไฟล์ต้นฉบับหนึ่งหรือหลายไฟล์ที่มนุษย์อ่านได้ให้เป็นรหัสไบต์ (ไฟล์ออบเจ็กต์ใน C) ในขณะที่ "การสร้าง" หมายถึงกระบวนการทั้งหมดของการรวบรวมการเชื่อมโยงและสิ่งอื่น ๆ ที่จำเป็น ทำจากแพ็คเกจหรือโครงการทั้งหมด


2

คนส่วนใหญ่อาจจะใช้คำนี้แทนกันได้ คุณสามารถเห็นความแตกต่างเล็กน้อย: การคอมไพล์เป็นเพียงขั้นตอนที่คุณส่งไฟล์ต้นฉบับผ่านคอมไพเลอร์ (gcc, javac, อะไรก็ได้)

การสร้างอาจถูกได้ยินว่าเป็นกระบวนการทั่วไปมากขึ้นในการตรวจสอบแหล่งที่มาการสร้างโฟลเดอร์เป้าหมายสำหรับสิ่งประดิษฐ์ที่คอมไพล์การตรวจสอบการอ้างอิงเลือกสิ่งที่ต้องรวบรวมเรียกใช้การทดสอบอัตโนมัติสร้าง tar / zip / ditributions ผลักดันไปยัง ftp ฯลฯ ...

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.