Có chắc chắn là không #define cho nó, ít nhất là trên phiên bản của tôi của GCC.
Để xem tất cả những biểu tượng tiền xử lý được xác định trước:
g++ -dM -E - < /dev/null
Tôi không nghĩ rằng có cách nào để kiểm tra các tùy chọn này. Tuy nhiên, nếu bạn đang sử dụng GCC 4.4 trở lên, bạn có thể sử dụng "optimize" function attribute hoặc "optimize" #pragma để bật các tùy chọn cụ thể trên cơ sở cho mỗi hàm hoặc mỗi tệp.
Ví dụ, nếu bạn thêm video này vào một tập tin header chung:
#if defined(__GNUC__)
#pragma GCC optimize ("no-strict-aliasing")
#else
#error "You are not using GCC"
#endif
... nó nên bật tùy chọn cho mỗi tập tin đó bao gồm các tiêu đề.
[cập nhật]
OK vì vậy tôi mất khoảng 10 phút quá lâu để soạn câu trả lời này. Tôi sẽ để nó ở đây cho các liên kết đến các tài liệu GCC.
âm thanh giống như điều gì đó khiến bạn có thể thực hiện. –
@Code Monkey: Tất nhiên lá cờ có thể được chuyển qua thực hiện. Nhưng nếu mã nguồn chuyển sang một hệ thống tạo mới mà tri thức có thể bị mất (ví dụ, nếu bạn đang phân phối nguồn tới một lib). Tôi muốn bản thân mã để biết nó cần gì. Đó là DRY theo cách đó. :) – paleozogt