Tôi đã chạy vào các tiêu đề được biên dịch trước ngày hôm nay lần đầu tiên .. trước khi thay đổi cuộc đời của tôi. Tôi không thể tin rằng biên dịch mã C++ của tôi có thể nhanh như vậy. Nó có ý nghĩa hoàn toàn ngay bây giờ ..Các phần đầu được biên dịch sẵn trong các tệp tiêu đề
Dù sao, có một điều gây nhầm lẫn cho tôi là từ những gì tôi đã đọc cho đến nay, các tiêu đề được biên dịch trước chỉ nên được thêm vào tệp nguồn (cpp?).
Trong Visual Studio, có một tùy chọn trong Thuộc tính dự án-> C/C++ -> Nâng cao thành "Force Include File". Tôi đặt tùy chọn trình biên dịch đó thành stdafx.h.
Sau khi thực hiện điều này .. Tôi không còn yêu cầu bao gồm tiêu đề tôi đã thêm vào stdafx.h, ngay cả bên trong tệp tiêu đề của tôi (tệp nguồn được cho là tự động bao gồm stdafx.h). Đây có phải là hành vi mong đợi không?
Tôi không thể tìm thấy một địa điểm rõ ràng trong sự khác biệt giữa tệp tiêu đề/nguồn.
Nếu nó .. tuyệt vời nhưng tôi sợ đó là một trong những điều VC++ cho phép bạn thoát khỏi nhưng sẽ phá vỡ trong GCC. Và vâng .. nó cần phải được cầm tay; ít nhất là giữa GCC và VC++.
Vâng, nếu bạn muốn dự án của mình hoạt động trên gcc, bạn nên tránh xa tùy chọn "Buộc bao gồm tệp". Boilerplate là để tạo #include đầu tiên trong tệp mã nguồn của bạn tệp tiêu đề biên dịch trước. –
@Hans, tính năng gcc tương đương sẽ sử dụng tùy chọn dòng lệnh '-include' để bao gồm * stdafx.h * ở đầu mỗi tệp. –