Tôi đồng ý với SB của Kerrek.
Tôi đã làm điều này một lần. Tôi đã xây dựng một thư viện nén tuyệt vời, được sử dụng rộng rãi cần được xây dựng riêng cho hình ảnh 8 bit và cho hình ảnh 12 bit. Cách sạch nhất mà tôi có thể đưa ra để phù hợp với hệ thống xây dựng này là (oversimplifying một chút) để có hai tệp .cpp chính, một tập hợp #defines cho một bản dựng 8 bit, cái còn lại để xây dựng 12 bit. Các tệp .cpp chính sau đó #included các tệp nguồn của thư viện nén.
Bạn có thể không tuân thủ quy tắc chung nếu bạn hiểu quy tắc đủ tốt để biết lý do và nguyên nhân có thể không áp dụng trong trường hợp của bạn. (Nhưng những trường hợp này hiếm khi xảy ra.)
Nguồn
2013-07-24 16:43:46
Nó an toàn như bạn làm. Nó thường không cần thiết. Lập trình không phải là một cách mù quáng theo một số mặt hàng chở hàng, mà là về * hiểu * những gì bạn đang làm và đưa ra quyết định dựa trên sự hiểu biết và lý luận. –
Lý do hợp lệ duy nhất tôi từng thấy để thực hiện việc này là tiết kiệm thời gian liên kết. [Unity Build được giải thích ở đây] (http://stackoverflow.com/questions/543697/include-all-cpp-files-into-a-single-compilation-unit). –
@sysop: Như tôi đã nói: ** hiểu ** những gì bạn đang làm và hỏi trước tiên. Bao gồm được xử lý bởi * bộ tiền xử lý *, lâu trước khi bất kỳ việc biên dịch nào xảy ra. Hiểu bộ tiền xử lý và bạn sẽ biết khi nào thì nó sẽ bao gồm mọi thứ. –