Làm thế nào để loại bỏ cảnh báo GCC trên #pragma region
? Tôi đã thêm pragma region
để dễ dàng xem mã nhưng báo cáo cảnh báo trên #pragma region
. Tôi đang sử dụng Visual Studio 2010.Làm thế nào để loại bỏ cảnh báo GCC trên vùng #pragma?
Trả lời
Không sử dụng nó trên GCC? :)
Giải pháp đơn giản nhất tôi có thể nghĩ ra vào lúc này là sử dụng các điều kiện tiền xử lý cho nó:
#ifndef __GNUC__
#pragma region
#endif
// Stuff...
#ifndef __GNUC__
#pragma endregion
#endif
Không rất đẹp trai hay có thể đọc được, nhưng sẽ làm cho mã biên dịch mà không cần cảnh báo về GCC.
Có thể dễ dàng được macro'ed cho dễ đọc – altendky
@altendky Tôi không chắc chắn về nó, vì nó được sử dụng bởi trình soạn thảo Visual Studio để biểu thị các vùng có thể được gấp lại. Nó phụ thuộc vào trình phân tích cú pháp trình soạn thảo Visual Studio tốt như thế nào. –
@altendky - Làm cách nào? một '#' đơn (trái ngược với '##') bên trong danh sách * thay thế của macro * không xác định một chỉ thị tiền xử lý. Thay vào đó là toán tử xâu chuỗi. Điều sau toán tử '#' phải là tên tham số macro. –
gcc có cờ cảnh báo này:
-Wunknown-pragmas Cảnh báo khi một chỉ thị #pragma đang gặp phải mà không hiểu bởi GCC. Nếu tùy chọn dòng lệnh này được sử dụng, cảnh báo sẽ thậm chí được phát hành cho các pragmas không xác định trong các tệp tiêu đề hệ thống. Đây là không phải trường hợp nếu cảnh báo chỉ được bật bởi tùy chọn dòng lệnh -Wall.
Và như thường lệ, bạn có thể phủ nhận điều đó, nghĩa là pragmas không xác định sẽ không được cảnh báo. Tức là, sử dụng -Wno-unknown-pragmas
.
Lưu ý rằng -Wno-unknown-pragmas
phải đến sau bất kỳ cờ dòng lệnh nào bật cảnh báo này, chẳng hạn như -Wall
- điều này cũng vô hiệu hóa cảnh báo trên tất cả các pragmas không xác định.
Chỉ để được pedantic, tùy chọn này tắt cảnh báo cho _all_ pragmas, nó không thể chọn và chọn pragmas nên tạo ra cảnh báo và không nên. –
Có, @JoachimPileborg, và chẩn đoán này ('unknown-pragmas') đôi khi có thể cứu sống, nếu bạn lộn xộn với 'pompmas' hoặc tương tự ... –
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunknown-pragmas"
... Code using Unknown pragmas ...
#pragma GCC diagnostic pop
Vì bạn cũng đang xây dựng trên Windows bạn có thể muốn để bọc nó trong: #ifdef __GNUC__ – Eric
Nó có vẻ là một pragma cụ MSVC, vì vậy bạn nên sử dụng
#ifdef _MSC_VER
#pragma region
#endif
<code here>
#ifdef _MSC_VER
#pragma endregion
#endif
- 1. Làm thế nào để vô hiệu hóa cảnh báo #pragma?
- 2. GCC nhắn #pragma lờ
- 3. Làm cách nào để loại bỏ cảnh báo trong CheckStyle?
- 4. #pragma không chặn cảnh báo
- 5. Trong gcc, làm thế nào để tắt tiếng cảnh báo -fpermissive?
- 6. GCC, C: Tìm hiểu tên các cảnh báo mặc định để sử dụng trong #pragma bỏ qua
- 7. Làm cho một gcc cảnh báo lỗi?
- 8. Eclipse - cách loại bỏ bóng đèn trên các cảnh báo
- 9. làm thế nào để loại bỏ cảnh báo lint sau trong C?
- 10. ReSharper: làm thế nào để loại bỏ "có thể xảy ra 'System.NullReferenceException'" cảnh báo
- 11. Làm thế nào để loại bỏ các cảnh báo từ một EasyMock.anyObject (List.class) gọi
- 12. Làm thế nào để vô hiệu hóa cảnh báo GCC về chỉ thị #warning là một phần mở rộng GCC?
- 13. Loại bỏ "gcc -/usr/bin/ld: không tìm thấy cảnh báo lib"
- 14. Cách loại bỏ cảnh báo lib/bên thứ ba bên ngoài trong GCC
- 15. Cách tắt cảnh báo #pragma không xác định cụ thể? (GCC và/hoặc clang)
- 16. Cảnh báo GCC [Wuninitialized]
- 17. #pragma init và #pragma fini sử dụng trình biên dịch gcc trên linux
- 18. tắt cảnh báo cụ thể trong gcc
- 19. Cảnh báo gcc phụ: loại vòng loại trên hàm trả về
- 20. Làm cách nào để loại bỏ cảnh báo "nhiều mục nhập mô tả"?
- 21. Loại bỏ thông báo cảnh báo C trong R
- 22. Làm cách nào để loại bỏ cảnh báo "xoay vòng hai giai đoạn"?
- 23. Xcode: Loại bỏ cảnh báo lớp học chuyển tiếp
- 24. Làm thế nào để tăng cảnh báo nếu giá trị trả về bị bỏ qua?
- 25. NDK làm thế nào để loại bỏ báo cáo Log Debug trên phát hành
- 26. Làm thế nào để loại bỏ Redis trên người nghe 'thông báo'
- 27. Làm thế nào để loại bỏ gói giả từ báo cáo vùng phủ python bằng cách sử dụng nosetests
- 28. Làm thế nào để loại bỏ văn bản trên JSlider
- 29. C#: Có cần khôi phục cảnh báo pragma không?
- 30. Làm cách nào để loại bỏ cảnh báo phản chiếu này?
bạn đang biên soạn với GCC trong Visual Studio 2010? – logoff
Đọc hữu ích: http://dbp-consulting.com/tutorials/SuppressingGCCWarnings.html – altendky
Đề xuất của tôi: Tái cấu trúc mã. Biến vùng thành các hàm riêng biệt. – user877329