2012-07-12 41 views
7

Tôi đang gặp một dự án thư viện, tôi đã luôn luôn có "Strip Debug Symbols" BẬT cho phát hành xây dựngXCode LLVM + GCC 4.2 - Tạo gỡ lỗi biểu tượng

Gần đây tôi nhận thấy "Generate Debug Symbols" cờ. Khi tôi đặt cờ "Generate Debug Symbols" thành NO thì kích thước thư viện của tôi co lại 30%

Đây có phải là tối ưu hóa hợp lý để tạo bản dựng không?

sự khác biệt giữa "Strip gỡ lỗi biểu tượng" và là gì "Tạo gỡ lỗi biểu tượng" tùy chọn, lý tưởng nếu tôi dải biểu tượng gỡ lỗi sẽ không phải tất cả những biểu tượng debug tạo biến mất? Tại sao tôi thấy sự khác biệt này?

Ngoài ra, các tối ưu hóa khác khác với -Os (Nhanh nhất, Nhỏ nhất) tôi có thể thực hiện để giảm kích thước nhị phân là gì?

"Strip Linked Product" hoạt động như thế nào?

+0

Tôi nhận được một sự hiểu biết khá tốt từ liên kết này nhưng tôi vẫn yêu một số để giải thích điều này .. http://developer.apple.com/library/mac/#documentation/DeveloperTools/Reference/XcodeBuildSettingRef/1-Build_Setting_Reference /build_setting_ref.html – Santthosh

Trả lời

2

Liên quan đến việc giảm kích thước tập tin nhị phân, đây là cách tập tin cấu hình phát hành của tôi trông giống như liên quan đến việc tước nhị phân và tôi đoán đó là cách hầu hết các nhà phát triển làm điều đó:

DEPLOYMENT_POSTPROCESSING = YES 
COPY_PHASE_STRIP = NO (not necessary since my copied binaries are already stripped and codesigned) 
STRIP_INSTALLED_PRODUCT = YES 
STRIP_STYLE = all 
SEPARATE_STRIP = YES 
DEAD_CODE_STRIPPING = YES 
GCC_GENERATE_DEBUGGING_SYMBOLS = NO 

Với những xây dựng các thiết lập, Xcode dường như đang làm giống như chạy "dải" bằng tay trên nhị phân, ít nhất là từ kích thước tập tin nói.

Tôi chưa tìm thấy cách nào khác để giảm kích thước nhị phân hơn nữa. Lưu ý cờ "DEPLOYMENT_POSTPROCESSING" ở đó - kích thước nhị phân sẽ lớn hơn rất nhiều nếu không có nó và ví dụ tất cả các hàm C sẽ không bị tước bỏ.

+0

Không trả lời đầy đủ câu hỏi. Sự khác nhau giữa "Ký hiệu gỡ lỗi dải" và "Tạo biểu tượng gỡ lỗi" là gì? Từ tên của họ, họ có vẻ như họ mâu thuẫn với nhau. Điển hình Xcode vô nghĩa imo. – Ash

Các vấn đề liên quan