#include inc文件名
#include "inc文件名"
#include <inc文件名>
若inc文件不存在,#include会报错,而#tryinclude不会报错.
首先需要知道,amxxpc.exe编译器是可以多次使用启动参数-i指定inc文件目录的.
像这样:-i"C:\AMX Mod X\include"
若inc文件名没有 < > 尖括号,编译器会按照"源码文件所在目录" -> "-i参数所指目录" -> "编译器目录\include"顺序寻找inc文件.
若inc文件名有 < > 尖括号,编译器会按照"-i参数所指目录" -> "编译器目录\include"顺序寻找inc文件.
若并未设定编译器启动参数.会直接从"编译器目录\include"寻找inc文件.
inc文件名可以省略.inc .p .pawn三种拓展名,编译器会自动尝试这三种可能.当然也可以主动指定其他拓展名.因为编译器会先拿用户定义的名称尝试寻找.
inc文件名中允许使用任意数量的 / 正斜杠或 \ 反斜杠字符,表示指向更深层的文件地址.
比如#include <include2\\\\\\\\AMXX182\amxmodx.sma>实际指向:编译器目录\include\include2\AMXX182\amxmodx.sma
正斜杠和反斜杠的效果略有不同.
若文件a.sma使用"z\b.inc",则b.inc要引用z/x/c.inc必须写"x/c.inc"或"x\c.inc".
若文件a.sma使用"z/b.inc",则b.inc要引用z/x/c.inc必须写"z/x/c.inc"或"z\x\c.inc".
通常应该尽可能使用 < > 尖括号包裹文件名.
一些邪门写法(续行符会被换成1空格拼接到下一行首个非空白字符,然后注释会被替换成同等字节数的空格):
#include <my/**/plugin> // 引用my plugin.inc文件
#include <my/*\
*/plugin> // 引用my plugin.inc文件
#include/*\
*/<myplugin> // 引用myplugin.inc文件