Chỉ cần đưa ra một số ngữ cảnh, tôi đang nói về việc biên dịch mã C++ bằng g ++ tại đây.g ++ - đang sử dụng cờ "-g" để sản xuất xây dựng ý tưởng hay không?
Tôi có thể thấy cách bao gồm cờ -g cho bản dựng sản xuất sẽ thuận tiện cho việc bảo trì: chương trình sẽ dễ dàng hơn để gỡ lỗi nếu nó gặp sự cố bất ngờ.
Câu hỏi của tôi ở đây là, có bao gồm cờ -g ảnh hưởng đến tệp thực thi đầu ra theo bất kỳ cách nào khác ngoài việc tăng kích thước của nó không? Có thể bằng cách nào đó làm cho mã chậm hơn (ví dụ: bằng cách tắt một số tối ưu hóa)?
Từ những gì tôi hiểu, không nên (tài liệu chỉ đề cập đến việc bao gồm các biểu tượng gỡ lỗi), nhưng tôi không chắc chắn.
Khi tôi đọc các tài liệu này, chỉ các trình biên dịch khác với gcc có tối ưu hóa bị ảnh hưởng bởi -g. Kinh nghiệm của tôi là cho gcc nó đi theo một hướng khác: những gì bạn có thể thấy và làm trong trình gỡ rối bị ảnh hưởng bởi sự tối ưu hóa - đôi khi nghiêm trọng. Tất nhiên đây là những gì bạn mong đợi từ tối ưu hóa tích cực: bạn không thể gỡ lỗi những gì không có ở đó. – Gene
@Gene: Ồ, tôi thấy ... thú vị, cảm ơn vì đã chỉ ra. Vì vậy, có vẻ như tôi là người đã sai về GCC rồi! – Mehrdad