代码都很简单,复制可直接运行。aardio 快速调用 C,C++,C#,Java,R,V,Python,JavaScript,Node.js,Rust,PHP,Ruby,PowerShell,Fortran,Delphi,Julia,Nim,批处理 …… 演示。
aardio 直接调用系统 API 函数( 支持回调、相互调用 ): [AAuto] 纯文本查看 复制代码 var ret,point = ::User32.GetCursorPos({int x;int y;
})
aardio / JavaScript 相互调用( 支持 ES6 ): [AAuto] 纯文本查看 复制代码 import web.script;
var vm = web.script("ES6")//导出 aardio 函数到 JavaScript
vm.external = {log = function(...){ console.log(...)}
}vm.script = /*****
function TestFunction(a,b) { return a + b;
}
*****/var ret = vm.script.TestFunction(2,3);
在 aardio 中调用 Python( Python 调用 aardio 同样简单,参考 aardio 自带范例),简单得就像在 Python 中使用 Python: [AAuto] 纯文本查看 复制代码
import console;
import py3; //导入 Python 模块。
var itertools = py3.import("itertools")//调用 Python 函数,支持纯 aardio 类型参数
var permutations = itertools.permutations({"a","b","c"});//调用 Python 内置函数 list
var pyList = py3.list(permutations);//遍历 Python 对象成员
for( item in pyList.each() ){console.log(item); //像 aardio 对象一样使用 Python 对象
}console.pause();
aardio 直接调用 .Net / C# 组件( 支持相互调用,支持委托这些)
[AAuto] 纯文本查看 复制代码 import win.ui;
var winform = win.form(text="DataGridView")import System.Data;
var tab = System.Data.DataTable("DT");
tab.Columns.Add("名称");
tab.Rows.Add({"WangWu"}); import System.Windows.Forms;
var grid = System.Windows.Forms.CreateEmbed("DataGridView",winform);
grid.ColumnHeadersHeightSizeMode = 2;
grid.DataSource = System.Data.DataView(tab);winform.show();
win.loopMessage();
aardio 直接调用 Java ( 也支持相互调用 ) [AAuto] 纯文本查看 复制代码
import java;
var jvm = java(); //加载Java类对象
HelloworldApp = jvm.import("aardio.sample.HelloworldApp");//也可以如下自内存或文件直接加载类,
HelloworldApp = jvm.import("aardio.sample.HelloworldApp",$"\java\aardio\sample\HelloworldApp.class");//用 Java 类创建 Java 对象
var helloworld = HelloworldApp();//直接调用 Java 对象的方法
var result = helloworld.test(3);
用 aardio 编译 C 语言代码生成 DLL 执行文件,再调用 DLL 中的 C 函数: [AAuto] 纯文本查看 复制代码
import tcc;
//编译 DLL
tcc.build( "/start.dll" ).code = /***
#include <windows.h>
__declspec(dllexport) int Add( int a,int b )
{ return a + b;
}
***///加载 DLL
var dll = raw.loadDll( "/start.dll",,"cdecl" );
//调用 C函数
var result = dll.Add(12,3);
在 aardio 中嵌入并调用批处理: [AAuto] 纯文本查看 复制代码
import console
import process.batch;//批处理 for 遍历并拆分字符串
var bat = process.batch(`
@echo off
for %%i in (abc,def,xyz) do echo %%i
`)
console.log(bat.read(-1))console.pause()
aardio 调用 Rust 语言解析 TOML: [AAuto] 纯文本查看 复制代码
import console;
import string.toml;var str = string.toml.stringify({abc=123,d={1,2,3}});
console.log( str );import process.code;
process.code("~\lib\string\toml\.res");
console.pause(true);
在 aardio 里嵌入 PHP,以下短短几句代码,包含了 HTTP 服务器,PHP服务端,嵌入的浏览器组件: [AAuto] 纯文本查看 复制代码
import win.ui;
/*DSG{{*/
var winform = win.form(text="Hello World / PHP_CGI 服务器")
/*}}*/var code = /*
<html>
<head>
<meta charset="utf-8">
<title>PHP 测试</title>
</head>
<body>
<?php echo '<p>Hello World / PHP_CGI 服务器</p>'; ?>
</body>
</html>
*/
string.save("/test.php",code);import php.simpleHttpServer;
var url = php.simpleHttpServer.startUrl("/test.php");import web.form;
var wb = web.form(winform);
wb.go(url);winform.show();
win.loopMessage();
|