2012-01-14 45 views
15

Trong makefiles gì làm CC (biên dịch) và LD (linker) đứng cho?Trong makefiles CC và LD là gì?

C trong CC có lẽ là trình biên dịch, C khác là gì? Và L trong LD có lẽ là mối liên kết, D là gì?

Trả lời

37

Tên của các biến này bắt nguồn từ tên của các công cụ tương ứng. Thường thì ý nghĩa của những chữ viết tắt như sau:

  • CC đứng cho "Cc ompiler" (trong GCC viết tắt nó cũng được coi là "c ompiler c ollection").
  • LD là một mối liên kết (đến từ "l mực e d itor" hoặc từ "l oa d er").

Đây cũng được sử dụng phổ biến trong makefiles (xem Implicit variables chapter của GNU Make thủ công):

  • CPP đứng cho "Cp tái p rocessor"
  • CXX là một Trình biên dịch C++
  • AS là một n như hội đề biên dịch ngôn ngữ
  • AR là một ar chive-duy trì chương trình
1

$(CC) là trình biên dịch C (hoặc bộ sưu tập trình biên dịch), $(LD) là trình liên kết, như bạn nghi ngờ. D là viết tắt của "Năng động", tôi tin.

+0

bộ sưu tập biên dịch? Có thể có hai trình biên dịch được chỉ định bên trong không? – Rook

+0

Có, gcc là Bộ biên dịch GNU, và có thể biên dịch C, C++, Fortran, ... – cha0site

+0

Không, tôi có thể đặt g95 và ifort vào bên trong và sau đó biên dịch tệp hai lần (kiểm tra lỗi trên hai trình biên dịch) mà không lặp lại toàn bộ phần khác của kịch bản ... đừng bận tâm. Tôi đã nhận được câu trả lời của tôi, dù sao đi nữa. – Rook

Các vấn đề liên quan