cs1.6 amxx编程 char临时教程 -- 作者:偶萤蛉(Oinling)
char的作用不明.
以下是amxx1.9.0版本的编译器源码片段,解释了char的作用.但本人看不懂.
case tCHAR: /* char (compute required # of cells */
if (lval->ident==iCONSTEXPR) {
lval->constval *= sCHARBITS/8; /* from char to bytes */
lval->constval = (lval->constval + sizeof(cell)-1) / sizeof(cell);
} else {
if (lvalue)
rvalue(lval); /* fetch value if not already in PRI */
char2addr(); /* from characters to bytes */
addconst(sizeof(cell)-1); /* make sure the value is rounded up */
addr2cell(); /* truncate to number of cells */
} /* if */
return FALSE;
以下可能是char的正常使用方法:
#include amxmodx
public plugin_init()
{
register_plugin("测试", "1.0.0", "偶萤蛉(Oinling)");
new var1 = 8, var2 = 12;
server_print("[AMXX] %d %d", 3 char, 4 char);
server_print("[AMXX] %d %d %d", var1 char, var2 char, floatround(16.0) char);
}
打印结果为:
[AMXX] 1 1
[AMXX] 2 3 4
数组变量,数组字面量也能使用char.但是转换结果似乎有严重的bug.返回值是个无意义的数组.