SAFX进展报告(updating)
2013 年 11 月 23 日
2013/11/13 13:55
下一步:
- 并非同个DLL的函数用UDP传输。假想接口是:defudp(“sum”, sum, “remote.exe”, 1234)
- 基础库:括号里为选择中:TCP/UDP,即时编译用(TCC/Squerrel),图像处理(libgd/opencv),输入(DInput),从内存播放声音(SEAL/Audiere/OpenAL),打包(liblzma/libarchive)
目前的进展的例子:http://codepad.org/VFmwq4jp
基本约定:所有这种返回字符串用来eval的函数叫usefunc
编译为DLL之后,RGSS中写一行use “1.dll”就行了
或者严格点use “1.dll”, “imported”
use DLL名, usefunc名(缺省是imported)
之所以叫imported是因为你可以用它仅仅是导入同dll的所有其他函数等等:
C 代码复制打印
- USEFUNC(math);
- USEFUNC(color);
- USEFUNC(imported){
- this_is_a_usefunc;
- use(“math”);
- use(“color”);
- end_usefunc;
- }
- module(A)
- def(“self.add”, add)
- def(“self.sub”, sub)
- defva(“self.sum”, sum)
- end
的例子解释
Ruby里面直接用
A.add(3,5) A.sub(4, 6) A.sum(1,2,3,4,5,6,7,8,9,10)等来调用
上面defva的意思是自动打包不定参数(所有类型def的打包方式定义在safx.h里面,(白字:不是stdafx.h))