各编程语言相互调用示例,代码简单,生成的软件体积也很小

aardio 支持混入很多不同的编程语言,代码简单,生成的软件体积也很小。下面看示例。
各编程语言相互调用示例,代码简单,生成的软件体积也很小_第1张图片

aardio 直接调用系统 API 函数( 支持回调、相互调用 ):

var ret,point = ::User32.GetCursorPos({
   
  int x;
  int y;
})

aardio / JavaScript 相互调用( 支持 ES6 ):

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:

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# 组件( 支持相互调用,支持委托这些)

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 ( 也支持相互调用 )

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 函数:

import tcc;  
//编译 DLL
tcc.build( "/start.dll" ).code = /***
#include  
__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 中嵌入并调用批处理:

```javascript
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:

import console; 
import string.toml;

var str = string.toml.stringify({
   abc

你可能感兴趣的:(python,java,javascript,c#,php)