大多数的lua的可执行版本发布都是基于动态链接库,一个lua.exe的可执行程序和一个lua5.1.dll,加起来大约200k,而且还依赖vc的c运行库(lua 5.14基本都用vc2005编译,系统没有的话需要自带)。大家都知道操作系统会带一个vc6编译的msvcrt.dll,但是vc2005官方不支持链接到低版本c运行库,需要另外的技巧才能支持链接到msvcrt.dll(比如用wdk的运行库)。好在MinGW支持链接到msvcrt,而且高版本的gcc编译器质量也不错,至少比vc6强多了,所以退而求其次用MinGW编一个吧。
整个程序用gcc4.4编译静态连接,同时又静态链接了一个luasys的工具库(支持注册表操作,线程以及其他一些c和win32的API),这样打造了一个小巧的单exe的lua发行版,总共186k,基本拷过去就可以使用,适合用来写一些系统小工具程序。附上源码(包括修改的Makefile),喜欢的朋友可以拿去玩玩。
程序下载:lua_sys_bin.rar
源码下载:lua_sys_src.rar
提示:编译方法是在MinGW的MSYS下进入代码所在目录执行make mingw。
2009/09/16
