库自动导入 "Msvcrt.dll" 并创建 ::Msvcrt
对象。
访问 raw.c 名字空间的成员将自动重定向为访问 ::Msvcrt 提供的 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 类型
注意【尾标】前必须是小写字母
参数 @1,@2 可指定字符串、buffer、指针。
参数 @1,@2 存储数据相等时返回 0,不相等返回非 0 值。
参数 @3 指定比较长度,
如果参数 @1 或参数 @2 为字符串或 buffer 则省略长度参数时自参数 @1 或 参数 @2 自动获取长度。
如果参数 @3 未指定比较长度,
并且参数 @1,@2 都是字符串或 buffer 类型之一,且长度不相等,则返回非 0 值。
此函数基于 ::Msvcrt.memcmp 函数并增加了自动获取字符串与 buffer 长度的功能。
可不用声明直接在此输入函数名并调用 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类型
注意【尾标】前必须是小写字母
声明Kernel32 API函数
返回句柄
参数 @1,@2 可指定字符串、buffer、指针。
参数 @3 必须指定比较长度。
参数 @1,@2 存储数据相等时返回 0,不相等返回非 0 值。
VC 基础运行库,这是所有操作系统都自带的系统 DLL。
console,ustring,string.builder,raw.c 等标准库都自动加载了此 DLL。
默认使用 cdecl 调用约定。