aardio 文档

raw.c 库模块帮助文档

raw.c 成员列表 #

库自动导入 "Msvcrt.dll" 并创建 ::Msvcrt 对象。
访问 raw.c 名字空间的成员将自动重定向为访问 ::Msvcrt 提供的 C 函数。

raw.c.* #

可不用声明直接在此输入函数名并调用 AP I函数

一、传入参数规则:
1、null参数不可省略
2、32位整数类型,小于32位的整数、以及枚举类型都可以直接在API参数中写数值。
3、对于任何数值类型的指针(输出参数)一律使用结构体表示,例如double * v 表示为{ double v }
4、数组使用结构体表示
5、所有结构体传给API的都是指针地址,都是输出参数并增加返回值

二、返回值规则:
1、返回值默认为int类型,可用 >>> 0 强制转为无符号数,
2、可以使用[API尾标]改变返回值为其他类型

三、所有可用的【API尾标】:
::User32.ApiNameW() 切换到Unicode版本,字符串UTF8-UTF16双向转换
::User32.ApiNameA() 切换到ANSI版本,字符串不作任何转换
::User32.ApiNameL() 返回值为64位LONG类型
::User32.ApiNameP() 返回值为指针类型
::User32.ApiNameD() 返回值为double浮点数
::User32.ApiNameF() 返回值为float浮点数
::User32.ApiNameB() 返回值为 C++ 中的8 位 bool 类型
注意【尾标】前必须是小写字母

raw.c.memcmp(buffer1,buffer2,size) #

参数 @1,@2 可指定字符串、buffer、指针。

参数 @1,@2 存储数据相等时返回 0,不相等返回非 0 值。
参数 @3 指定比较长度,
如果参数 @1 或参数 @2 为字符串或 buffer 则省略长度参数时自参数 @1 或 参数 @2 自动获取长度。

如果参数 @3 未指定比较长度,
并且参数 @1,@2 都是字符串或 buffer 类型之一,且长度不相等,则返回非 0 值。

此函数基于 ::Msvcrt.memcmp 函数并增加了自动获取字符串与 buffer 长度的功能。

::Msvcrt 成员列表 #

::Msvcrt.* #

可不用声明直接在此输入函数名并调用 AP I函数

一、传入参数规则:
1、null参数不可省略
2、32位整数类型,小于32位的整数、以及枚举类型都可以直接在API参数中写数值。
3、对于任何数值类型的指针(输出参数)一律使用结构体表示,例如double * v 表示为{ double v }
4、数组使用结构体表示
5、所有结构体传给API的都是指针地址,都是输出参数并增加返回值

二、返回值规则:
1、返回值默认为int类型,可用 >>> 0 强制转为无符号数,
2、可以使用[API尾标]改变返回值为其他类型

三、所有可用的【API尾标】:
::User32.ApiNameW() 切换到Unicode版本,字符串UTF8-UTF16双向转换
::User32.ApiNameA() 切换到ANSI版本,字符串不作任何转换
::User32.ApiNameL() 返回值为64位LONG类型
::User32.ApiNameP() 返回值为指针类型
::User32.ApiNameD() 返回值为double浮点数
::User32.ApiNameF() 返回值为float浮点数
::User32.ApiNameB() 返回值为C++中的8位bool类型
注意【尾标】前必须是小写字母

::Msvcrt.api("字符串参数","void()" ) #

声明Kernel32 API函数

::Msvcrt.gethandle() #

返回句柄

::Msvcrt.memcmp(buffer1,buffer2,size) #

参数 @1,@2 可指定字符串、buffer、指针。
参数 @3 必须指定比较长度。
参数 @1,@2 存储数据相等时返回 0,不相等返回非 0 值。

全局常量

::Msvcrt #

VC 基础运行库,这是所有操作系统都自带的系统 DLL。
console,ustring,string.builder,raw.c 等标准库都自动加载了此 DLL。
默认使用 cdecl 调用约定。

返回对象:dllModuleObject

Markdown 格式