Lên đến một thời gian trước đây cơ sở mã của tôi rất gần với địa chỉ #include
. Mỗi lần tôi thay đổi một tệp .h quan trọng thậm chí nhẹ nhàng, tất cả các tệp đã được biên dịch lại.
Lý do chính cho sự phụ thuộc tiêu đề cao như vậy là tôi có nhiều chức năng nhỏ cần phải nội tuyến và tôi đã ấn tượng rằng để làm việc nội dòng họ cần phải có cùng đơn vị dịch như mã gọi, vì vậy họ cần để ở trong tiêu đề. Đối với các chức năng nội tuyến để thậm chí biên dịch các tiêu đề khác cần phải được bao gồm trong tiêu đề là tốt, quảng cáo tối ưu.C++: Chức năng nội tuyến và tạo mã thời gian liên kết
Nhập link-time code generation (trong Visual Studio). Một trong những ưu điểm chính của điều này là chức năng nội tuyến hiện tại có thể vượt qua các đơn vị dịch thuật.
Nhưng tôi vẫn còn bực mình. Làm thế nào tôi có thể thực sự chắc chắn rằng các chức năng này thực sự có được nội tuyến? Tôi nhận ra rằng trình biên dịch về cơ bản có thể làm bất cứ điều gì địa ngục nó muốn không có vấn đề mà tôi xác định chức năng.
Có cách nào để kiểm tra nội dung được gạch chân không?
Tại sao cần thiết phải có những chức năng này? Điều đó có vẻ lạ. Thông thường, bạn muốn các chức năng được gạch chân * khi nó mang lại hiệu quả *, trình biên dịch thường có khả năng xác định tốt hơn bạn – jalf
@ Rüdiger Stevens - Thực ra, điều đó là có thể. Kiểm tra tùy chọn ': PGINSTRUMENT' của VC++ trên cờ/LTCG. http://msdn.microsoft.com/en-us/library/xbf3tbeh%28VS.80%29.aspx –