Có những lúc tôi muốn thử biên dịch thay đổi mã nhưng không triển khai những thay đổi đó. Ví dụ, nếu tôi đang hack cơ sở mã Asterisk C, và tôi muốn chắc chắn rằng những thay đổi mà tôi đang thực hiện vẫn biên dịch, tôi sẽ lưu và chạy make. Tuy nhiên, tôi không muốn triển khai những thay đổi đó bởi vì tôi không thực hiện mã hóa.
Đối với tôi, chạy thực hiện chỉ là một cách để đảm bảo rằng tôi không kết thúc với quá nhiều lỗi biên dịch trong mã của tôi đến nơi tôi gặp khó khăn trong việc định vị chúng. Có lẽ những người lập trình C có kinh nghiệm hơn không có vấn đề đó, nhưng đối với tôi, hạn chế số lượng thay đổi giữa các biên dịch giúp giảm số lượng thay đổi có thể đã hoàn toàn chuyển vào bản dựng của tôi và điều này làm cho việc gỡ lỗi dễ dàng hơn.
Cuối cùng, điều này cũng giúp tôi có điểm dừng. Nếu tôi muốn đi ăn trưa, tôi biết rằng ai đó có thể khởi động lại ứng dụng trong trạng thái hiện đang hoạt động mà không cần phải tìm tôi, vì chỉ cài đặt sẽ sao chép các tệp nhị phân sang thư mục ứng dụng thực tế.
Có thể có nhiều lý do khác, nhưng đây là lý do của tôi để chấp nhận thực tế là hai lệnh được tách ra. Như những người khác đã nói, nếu bạn muốn họ kết hợp, bạn có thể kết hợp chúng bằng cách sử dụng trình bao của bạn.
Chỉ một lưu ý phụ: "thực hiện" mà không có bất kỳ nhận xét nào sẽ bỏ qua bất kỳ mục tiêu ký tự đại diện nào. '%' tương đương với regex '+' cho tên mục tiêu. Ví dụ nếu bạn có 3 mục tiêu: 1) "% _targetsuffix:" 2) "wildTarget:" 3) "defaultTarget:" theo thứ tự này, từ trên xuống dưới. Lệnh "make" sẽ bỏ qua "% _youtargetsuffic:" và build "wildTarget:" ("defaultTarget:" bị bỏ qua vì "wildTarget:" nằm trước nó). Xin lỗi tôi không biết cách định dạng nhận xét để làm cho dễ đọc hơn. – funa68