48 Star 276 Fork 64

GVP洛书编程语言/洛书编程语言

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
.img
.repo
base64
binary
bridge
bytemaster
document
hash
losu
losu_core
lpkg
lpt
lsmath
lsnput
lsrepo
lssys
owls
random
re
Ubuntu
Windows
cre.c
cre.h
cxkit.h
info
re.cpp
re.els
re.h
readme.md
sharedlib
socket
std
stdbyte
stdfile
stdlib
stdmath
stdstring
stdsys
stdthread
stdtime
stdvm
.gitignore
.gitmodules
LICENSE
readme.md
克隆/下载
cxkit.h 1.75 KB
一键复制 编辑 原始数据 按行查看 历史
Matriller 提交于 1年前 . 新增re模块
#ifndef __xkit_cxkit_h__
#define __xkit_cxkit_h__
#include <stdint.h>
#include <stdbool.h>
//包含els.h
#ifdef __cplusplus
extern "C" {
#include "els.h"
}
#else
#include "els.h"
#endif
//用于unit内函数的处理宏
#define unit_arg(x) x+1
#define unit_argtype(vm, x) arg_gettype(vm, x+1)
#define unit_argisnum(vm, x) arg_gettype(vm, x+1) == ELS_API_TYPE_NUMBER
#define unit_argisstr(vm, x) arg_gettype(vm, x+1) == ELS_API_TYPE_STRING
#define unit_argisunit(vm, x) arg_gettype(vm, x+1) == ELS_API_TYPE_UNIT
#define unit_argisptr(vm, x) arg_gettype(vm, x+1) == ELS_API_TYPE_ptr
#define unit_argisbyte(vm, x) arg_gettype(vm, x+1) == ELS_API_TYPE_byte
#define unit_argisfunc(vm, x) arg_gettype(vm, x+1) == ELS_API_TYPE_function
//unit操作宏
#define unit_getval(vm, u, s) obj_indexunitbystr(vm, u, (char*)s)
#define unit_addfunc(vm, u, s, f) obj_setunitbystr(vm, u, s, obj_newfunction(vm, (els_C_API_function)f))
//API接口标识
#ifdef __cplusplus
#define XKIT_API extern "C"
#else
#define XKIT_API extern
#endif
//LosuObj的别称
typedef LosuObj LsUnit;
typedef LosuObj LsNumber;
typedef LosuObj LsString;
typedef LosuObj LsByte;
typedef LosuObj LsPoiter;
typedef LosuObj LsFunction;
//返回值的bool处理
#define arg_returntrue(vm) arg_return(vm, obj_newnum(vm, 1))
#define arg_returnfalse(vm) arg_returnnull(vm)
//关于gbk和utf8编码的输入输出宏
#ifdef _WIN32
#define outstr(vm, x) (char*)obj_toGBK(vm, (char*)x)
#define instr(vm, x) (char*)obj_toUTF8(vm, (char*)x)
#endif
#ifdef __linux__
#define outstr(vm, x) (char*)x
#define instr(vm, x) (char*)x
#endif
//操作系统宏开关
#ifdef __linux__
#ifndef ELS_CONF_OS_LINUX
#define ELS_CONF_OS_LINUX
#endif
#endif
#ifdef _WIN32
#ifndef ELS_CONF_OS_WINDOWS
#define ELS_CONF_OS_WINDOWS
#endif
#endif
#endif
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C
1
https://gitee.com/chen-chaochen/lpk.git
git@gitee.com:chen-chaochen/lpk.git
chen-chaochen
lpk
洛书编程语言
master

搜索帮助