Squirrel源码分析--squirrel.h 主要是一些宏和结构体定义。
SQUIRREL_API extern SQInteger SQInt32 SQUnsignedInteger SQHash SQFloat SQRawObjectVal SQBool SQRESULT SQObjectType:对象类型,由位域实现 SQObjectValue:对象值,Union实现。可能是以下19种对象之一 typedef union tagSQObjectValue { struct SQTable *pTable; struct SQArray *pArray; struct SQClosure *pClosure; struct SQOuter *pOuter; struct SQGenerator *pGenerator; struct SQNativeClosure *pNativeClosure; struct SQString *pString; struct SQUserData *pUserData; SQInteger nInteger; SQFloat fFloat; SQUserPointer pUserPointer; struct SQFunctionProto *pFunctionProto; struct SQRefCounted *pRefCounted; struct SQDelegable *pDelegable; struct SQVM *pThread; struct SQClass *pClass; struct SQInstance *pInstance; struct SQWeakRef *pWeakRef; SQRawObjectVal raw; }SQObjectValue; SQObject:对象 typedef struct tagSQObject { SQObjectType _type; SQObjectValue _unVal; }SQObject; SQMemberHandle SQStackInfos:函数调用栈 函数指针: SQFUNCTION SQRELEASEHOOK SQCOMPILERERROR SQPRINTFUNCTION:打印输出函数 SQDEBUGHOOK SQWRITEFUNC SQREADFUNC SQLEXREADFUNC SQRegFunction SQFunctionInfo Squirrel脚本引擎的API: vm:虚拟机 compiler:编译器 stack operations:调用栈操作 object creation handling:对象创建处理 object manipulation:对象操作 calls:调用 raw object handling:原始对象处理 GC:垃圾回收 serialization:序列化 mem allocation:内存分配 debug:调式 UTILITY MACRO:工具宏 主要包含以上几种的API,都以 sp_ 开头 |
|