import process.gcc;
var gcc = process.gcc("/");
gcc["main.cpp"] = /*************
int result[9][9] = {
{9, 0, 0, 8, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 5, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 2, 0, 0, 1, 0, 0, 0, 3},
{0, 1, 0, 0, 0, 0, 0, 6, 0},
{0, 0, 0, 4, 0, 0, 0, 7, 0},
{7, 0, 8, 6, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 3, 0, 1, 0, 0},
{4, 0, 0, 0, 0, 0, 2, 0, 0}
};
extern "C" __declspec(dllexport) int __cdecl Solve()
{
return int(&result);
};
*************/
//生成 DLL。参数:-shared 生成 DLL,-s 移除调试符号减小体积
gcc.exec("main.cpp -o d:\cpp2.dll -shared -s -m32 -O2 -static -lgcc -lstdc++");
import console
var dll = raw.loadDll("d:\cpp2.dll",,"cdecl")
var i = dll.SolveP()
// 方法一
var s = {
int a[9];
int b[9];
int c[9];
int d[9];
int e[9];
int f[9];
int g[9];
int h[9];
}
console.dumpTable(raw.convert(i,s))
//方法二
var s = {
int a[81];
}
console.dumpTable(raw.convert(i,s).a)
//在方法二的基础上进行数组处理
var i=0;
var t = table.array(9,9,function(){
i++;
return s["a"][i];
})
console.dump(t)
console.pause();