aardio 文档
aardio 范例: c
//C
import process.gcc;
//创建 GCC 环境,参数指定 C/C++ 源码目录
var gcc = process.gcc("/");
//C语言语法速览 https://quickref.me/zh-CN/docs/c.html
//自动存为 main.c
gcc.main = /*************
#include <windows.h>
int __stdcall DllMain(void * hinstDLL, unsigned long fdwReason, void * lpvReserved) {
if (fdwReason == DLL_PROCESS_ATTACH){
}
return 1;
}
__declspec(dllexport) int TestW (const wchar_t* txt)
{
MessageBox(0,txt,u"GCC",0);
}
*************/
//生成 DLL。参数:-shared 生成 DLL,-s 移除调试符号减小体积, -municode 启用 Unicode
gcc.exec("main.c -o c.dll -shared -s -municode -m32 -O2 -static -lgcc -lstdc++")
//加载 DLL,默认使用 cdecl 调用约定
var dll = raw.loadDll("c.dll",,"cdecl");
/*
调用 DLL,带 W 尾标的 API 传入 UTF-8 字符串时自动转换为 Unicode(UTF-16) 字符串
https://www.aardio.com/zh-cn/doc/library-guide/builtin/raw/directCall
*/
dll.TestW("测试 UTF-8 自动转 Unicode(UTF-16) 字符串");
Markdown 格式