http://blog.csdn.net/zlhy_/article/details/8192580
都用于 预编译阶段
#ifndef 可以跨平台使用, c/c++ 语言支持
#pragma once 为 微软编译器独有,不能跨平台
#ifndef 可以防止完全相同的文件的编译,但对于宏名冲突时 无法处理
#pragma once 只对同一物理文件 包含一次, 若出现同一文件的多次拷贝则 无法处理
#ifndef 每次都需打开文件进入判断
#pragma once 不需重复打开文件进入 预编译速度更快