cs1.6 amxx编程 defined临时教程 -- 作者:偶萤蛉(Oinling)
defined用法与函数类似,填写一个符号作为参数,得到一个返回值.
但它的返回值是一个编译时常量(无地址常量).也就是说,它会在编译插件脚本时运行,而不是运行游戏时运行.
如果填写的符号存在,则返回1,否则返回0.
在AMXX1.8.2以上版本中,它的返回值带有bool:标签.
在AMXX1.8.3以下版本中,它的返回值带有_:标签.
使用方法:
#include amxmodx
public plugin_init()
{
register_plugin("测试", "1.0.0", "偶萤蛉(Oinling)");
//new AAA;
#if (defined(AAA) == true)
server_print("[AMXX]确实已经定义了AAA符号.AAA=%d", AAA);
#else
#error "AAA is not found."
#endif
}
defined常见于头文件中.用来避免同一个头文件被重复引用.
如下,便是amxmodx.inc对defined的使用方法:
// 如果已经定义了_amxmodx_included符号
#if defined _amxmodx_included
// 停止输入当前文件的内容
#endinput
// 停止#if判断
#endif
// 定义_amxmodx_included符号,下次引用当前文件会因为已定义,而引用失败.避免重复引用.
#define _amxmodx_included