Tôi có một vấn đề lớn. Tôi có một thư viện chung, được sử dụng trên toàn bộ dự án của tôi. Thư viện này sử dụng mạnh mẽ boost.spirit
và boost.fusion
. Thật không may, thư viện là khoảng. Kích thước 700Mb. Tất cả mã sử dụng boost.spirit
được sử dụng và hoạt động tốt. Những bước nào có thể được thực hiện để giảm kích thước đầu ra của nó? Có một công cụ có thể giúp để xác định những gì instantiations mẫu hầu hết các không gian?Làm thế nào để giảm kích cỡ đầu ra của mã C++ mẫu nặng?
Lúc đầu, tôi quyết định di chuyển tất cả mã nhận biết tinh thần sang tệp cpp. Thứ hai, tôi sẽ thử các cờ biên dịch khác nhau để tối ưu hóa cho kích thước. Tôi không biết phải làm gì khác.
Cập nhật (xem chi tiết)
Tôi đang sử dụng GNU toolchain. Thư viện lớn thực sự là một thư viện tĩnh. Thực thi, sử dụng thư viện 700Mb này có kích thước 200Mb. Ít nhất một nửa mã nằm trong tệp * .h. Một số boost.spirit
ngữ pháp (mẫu rất nặng) cũng nằm trong tệp * .h.
Chúc mừng!
Cảm ơn thuộc tính 'visibility', không biết về nó. – Lazin