Tôi sử dụng M-x compile
trong Emacs để biên dịch mã C sau đó khởi tạo make -k
và cho phép tôi biên dịch mã. Tôi muốn sử dụng Clang (hoặc conceivably GCC 4.8 sau khi tôi cài đặt nó) như trình biên dịch mặc định. Tôi có cc
bí danh là clang -Wall -Werror -std=c99 -ggdb -O0
và trong khi điều này gọi Clang
từ dòng lệnh bên ngoài Emacs, gọi M-x compile
từ bên trong Emacs vẫn có vẻ là bí danh cc
thành GCC phiên bản 4.7 mà tôi đã cài đặt. Tôi muốn khai thác các thông báo lỗi và cảnh báo phong phú hơn và dễ hiểu hơn được cung cấp bởi Clang (và GCC 4.8) nhưng không muốn tạo ra một makefile riêng cho mỗi chương trình ngắn cấp tôi đang viết, vì tôi hiện đang trải qua K & R bao gồm giải quyết các bài tập.Thay đổi Trình biên dịch Mặc định Trong Emacs?
Làm cách nào để thuyết phục Emacs rằng M-x compile
và make -k
nên gọi Clang (hoặc GCC 4.8) thay vì phiên bản cũ hơn của GCC?
Tôi không đặt biến môi trường nhưng tôi có 'cc' (chữ nhỏ) được đặt trong vỏ của tôi thành' clang' với các tùy chọn được liệt kê ở trên và đặt dòng đó trong cả hai ký tự '. hồ sơ' và '.bashrc' tệp. Gõ cc từ dòng lệnh chính xác bắt đầu 'clang' thay vì' gcc'. Tôi có nên xuất nó dưới dạng biến 'env' thay thế không? Và nếu có, có lẽ, sử dụng quy ước biến 'env' của ALL CAPS? – haziz
@haziz - vâng, thủ đô là điều cần thiết – teppic