2015-02-27 2 views
0

я в настоящее время имеют следующие MinGWли поддержка MinGW 4.8.2 «#pragma раз»

gcc --version 
gcc (x86_64-win32-seh-rev3, Built by MinGW-W64 project) 4.8.2 
Copyright (C) 2013 Free Software Foundation, Inc. 
This is free software; see the source for copying conditions. There is NO 
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 

Мой вопрос не поддерживает MinGW #pragma ключевое слово и он поддерживает #pragma once

+0

Вы могли бы легко ответить на этот вопрос, попробовав его. –

+0

«да» на оба вопроса –

ответ

2

Реальный вопрос заключается в том НКУ (часть компилятора системы MinGW) поддерживает #pragma once.

Ответ да. Функция #pragma фактически поддерживается препроцессором C, используемым gcc, который документирован отдельно. Выполнение Gnu CPP #pragma once - described here. В зависимости от того, как настроена ваша система, вы можете прочитать это в своей системе, набрав info cpp и найти #pragma once.

Я не советую использовать #pragma once, однако. Он не указан стандартом C, поэтому он не переносится на другие компиляторы. Если вы не можете гарантировать, что ваш код никогда не будет компилироваться компилятором, который не поддерживает #pragma once, вам, вероятно, лучше использовать обычный метод #ifndef, известный как «включить охрану», описанный в previous section of the same manual.

+0

Поддерживается GCC, Visual C++, Clang/LLVM, IBM C++ и Intel C++. Я не знаю других компиляторов, которые не поддерживают #pragma один раз. Может быть, PGI? –

+0

Последнее, что я знал, компилятор PGI от The Portland Group не поддерживал '#pragma once'. Это единственный, о котором я знаю. –

Смежные вопросы