打开ege.h头文件,从上到下慢慢看一下,试着分析分析。
首先ege不是一个标准c语言图形库,它大部分用的是c语言代码,少量也使用了c++的特性。
比如名称空间,类等。
所以编译需要c++编译器,而不是ANSI C编译器。
-
_MSC_VER 是什么?
编译器自己的宏定义,提供了vs的版本,不同的vs这个值不一样,无需用户定义,vs2015这个值就是1900. -
#pragma once
#pragma 编译器命令,用代码的方式告诉IDE应该怎么做,和鼠标操作效果一样,不过代码灵活性更高,更“自动”,不同的编译器有不一样的命令,移植性较差。这句话告诉编译器,整个头文件只编译一次,和传统的#if defined #endif 效果一样,后者属于标准库,更有移植性。
3. __cplusplus
也是编译器自己的宏定义,说明是c++编译,这句话的意思是,如果没使用c++编译器就弹出错提示“you must use c++”,退出编译。
4. defined(_INC_