C语言和AAuto互相调用函数

学着快手开发环境中关于C语言与AAuto函数调用的例子,把两者合二为一做了一个小例子,练练手,学习之用。

//C语言和AAuto互相调用函数

code_c = /**** 
	#include <stdio.h>
	
	//该函数在C语言中声明,在AAuto中定义 
	const void aau();
	
	void C()
	{     
   		io_reopen();
   		//调用AAuto函数
 		aau();
 		printf("C say: hello AAuto\n");
	} 

****/

io.open();//打开控制台,默认编译错误等信息在控制台输出

import tcc; 
 
//创建TCC编译器
vm = tcc(); 

//编译C源码
vm.compile(code_c);

//定义一个AAuto函数
aauto_func = function(){
	io.print( "AAuto say: hello C" )
} 

//导入为C语言函数定义
vm.setCdecl(
	aauto_func, //AAuto函数名字
	"aau", //在C语言中调用的函数名字 
	"void()" //函数原型,与C语言中的声明必须一致.
)
 
//获取C函数
func_c = vm.getCdecl("C","void()")

//调用C函数
var ret = func_c()
 
//关闭C语言编译器
vm.close();
execute("pause")
io.close()


你可能感兴趣的:(c,function,IO,语言,import,编译器)