什么是#pragma用于?

use*_*502 23 c++

谁能帮我理解#pragma?

ifndef TARGET_OS_LINUX
#pragma once
endif
Run Code Online (Sandbox Code Playgroud)

什么,何时,何地,为什么,一个例子?

以上是我正在重构的一些代码....

Joh*_*eek 25

#pragma 只是编译器特定功能的前缀.

在这种情况下,#pragma once表示此头文件只会在特定目标文件中包含一次.它消除了包括警卫的需要.

  • etherything 是正确的,除了警告 #pragmas 是编译器扩展,它们不在标准中。你最好避开他们。 (2认同)
  • 他不是这么说的吗?编译器特定功能==非标准编译器扩展 (2认同)

f0b*_*b0s 7

  • 什么 - 它是头球卫士.此文件仅包含一次.
  • 何时 - 在编译过程中
  • 为什么 - 避免双重包括.

"标头保护是一小段代码,可以保护头文件的内容不被包含多次."