小编Pau*_*aul的帖子

Lua和序列化的闭包

我正在尝试序列化和反序列化Lua闭包

我的基本理解是下面的工厂应该生成闭包(并且Lua没有太多区分函数和闭包 - 即没有类型'闭包')

> function ffactory(x) return function() return x end end
> f1 = ffactory(5)
> print(f1())
5                        <-- so far so good
> s = string.dump(f1)
> f2 = load(s)
> print(f2())
table: 00000000002F7BA0  <-- expected the integer 5
> print(f2()==_ENV)
true                     <-- definitely didn't expect this!
Run Code Online (Sandbox Code Playgroud)

我期望整数5被序列化f1.或者,如果string.dump无法处理闭包,我预计会出错.

我得到了很大的不同(但更多的是我所期望的)会带来温和的变化.它看起来f2确实是一个闭包,但是string.dump在序列化时没有尝试序列化x的值.

文档不帮我很多.(他们的意思是"......新的升值"?)

> function ffactory(x) return function() return x+1 end end
> f1 = ffactory(5)
> print(f1())
6                        <-- good
> …
Run Code Online (Sandbox Code Playgroud)

lua closures

5
推荐指数
2
解决办法
1145
查看次数

mySQL分区多文件与单文件性能?

分区大表时,我可以选择将标志-innodb_file_per_table设置为TRUE或FALSE.True将创建许多文件(每个分区一个)并大大增加我的磁盘使用量,但允许我在不同的卷上扩展分区(我不打算这样做).FALSE会将表保存为一个大文件.假设我将所有文件保存在同一逻辑卷上,我可以期待这两个选项之间的任何显着查询性能差异吗?或者,更一般地说,除了磁盘使用和管理之外,在两个选项之间做出选择时还有什么问题需要考虑吗?

一些统计数据:

  • 表总数:20(只有少数我对分区感兴趣 - 请参阅我的其他问题)
  • 最大的表有100M记录.
  • 总db大小约为60G.

mysql database-partitioning

4
推荐指数
1
解决办法
3392
查看次数

gdb在Eclipse中失败了

这是工具堆栈:安装在Windows 7(x64)上的是带有CDT和SConsolidator插件的Eclipse(Juno x64).下面是安装了64位支持的TDM-GCC(x64)软件包.

如果我构建一个64位应用程序并使用Eclipse(它使用与GCC捆绑的gdb)进行调试,那么它构建时没有错误并且调试很好.

当我构建一个32位应用程序并尝试使用Eclipse调试它时,它构建正常但gdb失败:

gdb: unknown target exception 0x4000001f... 
Run Code Online (Sandbox Code Playgroud)

通过命令行使用相同的gdb进行调试工作正常.

关于如何解决这个问题的任何想法?

仅供参考:以下是导致gdb异常的一些警告:

warning: `C:\Windows\system32\ntdll.dll': Shared library architecture i386:x86-64 is not compatible with target architecture i386.
warning: `C:\Windows\SYSTEM32\wow64.dll': Shared library architecture i386:x86-64 is not compatible with target architecture i386.
warning: `C:\Windows\SYSTEM32\wow64win.dll': Shared library architecture i386:x86-64 is not compatible with target architecture i386.
warning: `C:\Windows\SYSTEM32\wow64cpu.dll': Shared library architecture i386:x86-64 is not compatible with target architecture i386.
warning: Could not load shared library symbols for ntdll32.dll.
Do you …
Run Code Online (Sandbox Code Playgroud)

eclipse gdb eclipse-cdt scons

4
推荐指数
1
解决办法
4715
查看次数

可以在同一MySQL服务器上混合分区和未分区的表吗?

我刚刚完成了本教程,幻灯片39上的子弹突出:"不要在同一台服务器中混合分区和非分区表"我不知道作者所指的是什么.这仅适用于基准测试吗?是否有一些要求在分区时应对所有表进行分区?即使它仅适用于基准测试,我仍然想知道为什么必须对它们进行分区以获得良好的基准测试结果.

mysql database-partitioning

3
推荐指数
1
解决办法
277
查看次数

寻求"弱Lua注册表"

有没有办法让C以与使用参考系统相同的方式引用Lua 5.2中的对象,除了这些引用很弱并且可能随时被垃圾收集?换句话说,是否存在不影响对象引用计数的所有当前Lua对象的注册表?

lua lua-api

3
推荐指数
1
解决办法
509
查看次数

如何确定 wx 控件是否被禁用

如何以编程方式确定特定控件(在我的情况下为 wx CheckBox)是否被禁用?我没有看到小部件具有“禁用”属性或“isDisabled”方法。

python wxpython

2
推荐指数
1
解决办法
920
查看次数

Lua API评估变量名而不是值

我正在使用Lua 5.2 C API.我试图获得一个接受字符串变量或字符串文字的函数.

这段代码:

static int printTest(lua_State *L)
{   
    size_t lslen = NULL;
    const char *lsrc = lua_tolstring(L, 0, &lslen);
    printf("%s\n", lsrc);
}
/* ----- Registration array ----- */
static const luaL_Reg testhook[] = {
        {"printTest", printTest},
        {NULL, NULL} /* sentinel */
};    
/* ----- Registration function ----- */    
LUALIB_API int registerTestHookFunctions(lua_State *L)
{
    lua_newtable(L); 
    lua_setglobal(L, "hook"); 
    lua_getglobal(L, "hook"); 
    luaL_setfuncs(L, testhook, 0); 
    lua_settop(L, 0);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

从Lua运行时,会这样做:

hook.printTest('hello')  -- prints 'hello'
a = 'hello'
hook.printTest(a) -- prints 'a' …
Run Code Online (Sandbox Code Playgroud)

c api lua

1
推荐指数
1
解决办法
549
查看次数

如何确定特定win32 api调用所需的Windows库?

我使用几个Windows API的模块,如win32wnet,win32file,win32con,等,而从这些只是一些方法.

我正在使用py2exe(bundle_files == 3)打包我的应用程序,如果它们在其他Windows平台上运行,它就会被击中.

我想:1)打包所有必需的和只有适当的库.如果可能的话,我不想依赖已经应该在操作系统上安装的内容.

或者:2)我想写清单来将我的应用程序连接到现有dll的适当版本.(如果包装dll不合法)

python在运行时提供的错误是模糊的:

ImportError: DLL load failed: The specified procedure could not be found.
Run Code Online (Sandbox Code Playgroud)

文档(例如:)help(win32wnet)似乎没什么用处.

如何识别我的应用程序需要哪些本机Windows库?

python windows winapi py2exe

0
推荐指数
1
解决办法
455
查看次数