Tôi đang cố tạo một mã nhỏ hoạt động trên nhiều nền tảng và trình biên dịch. Tôi sử dụng các xác nhận, hầu hết trong số đó có thể được tắt, nhưng khi biên dịch với PGI pgicpp
sử dụng -mp
để hỗ trợ OpenMP, nó sẽ tự động sử dụng tùy chọn --no_exceptions
: ở mọi nơi trong mã của tôi với câu lệnh "ném" tạo ra lỗi trình biên dịch gây tử vong. ("hỗ trợ xử lý ngoại lệ bị tắt")Phát hiện trình biên dịch với #ifdef
Có macro define
d Tôi có thể kiểm tra để ẩn các câu lệnh throw
trên PGI không? Tôi thường làm việc với gcc, trong đó có GCC_VERSION
và các loại tương tự. Tôi không thể tìm thấy bất kỳ tài liệu nào mô tả các macro này trong PGI.
clang http://stackoverflow.com/questions/2658461/what-predefined-macro-can-i-use-to-detect-clang | VC http://stackoverflow.com/questions/15127522/how-to-ifdef-by-compilertype-gcc-or-vc –