Sao chép mã is usually bad và thường khá dễ phát hiện. Tôi cho rằng các trình biên dịch có thể phát hiện tự động trong các trường hợp dễ dàng nhất - chúng đã phân tích cú pháp văn bản và nhận được biểu diễn trung gian mà chúng phân tích theo nhiều cách khác nhau - phát hiện các mẫu đáng ngờ như biến chưa được khởi tạo, tối ưu hóa mã đã phát, v.v. mã theo cách này và xử lý nó trong khi phát ra mã máy.Trình biên dịch C++ có thể tự động loại bỏ mã trùng lặp không?
Có trình biên dịch C++ nào có thể phát hiện mã trùng lặp và chỉ phát ra mã máy tương ứng một lần thay vì cho mỗi bản sao trong văn bản nguồn không?
Trình biên dịch của người lười biếng? – Stephen
Tôi không nghĩ rằng đó là ưu tiên cao đối với người triển khai trình tối ưu hóa, vì loại mã trùng lặp này sẽ bị bắt ở cấp đánh giá của người quản lý nhóm/mã. Hay đúng hơn, mức độ "thực hành tốt" ... – DevSolar
@Stephen: Có.Chúng tôi đã đạt đến điểm khi trình biên dịch phát ra mã đủ hiệu quả để không quan tâm đến việc tối ưu hóa vi mô. – sharptooth