Lua官网提供的win平台zip包内容

介绍


  • lua53.dll:由lua源码生成的动态链接库
  • lua53.exe:这个是lua的解释器。可以执行终端输入的lua语句,或者lua代码文件,或者经过luac53.exe输出的文件
  • luac53.exe:这个是lua的编译器。lua虽然是脚本语言,解释执行。但它也可以拥有自己的编译器,lua的解释器可以执行经由lua编译器编译后的代码
  • wlua53.exe:这个网上搜了下,貌似需要和GUI模块搭配使用,像是起到别的模块的插件的作用

相关话题


动态 VS 静态

动态语言和静态语言的主要区别就在于:编译、链接的时机。C/C++的编译、链接阶段和执行期、运行时(run time)是严格区分开来的。但是lua的链接过程可以放到运行时。实时编译技术甚至可以把编译阶段放到运行时。

编译器生产的机器代码的目标机器的区别

  • C++的编译器产生的二进制文件的目标机器是诸如:X86、X64、arm等
  • lua编译器产生的二进制文件的目标机器则是lua虚拟机

解释器、编译器、虚拟机

  • lua编译器把lua脚本编译成lua虚拟机的指令
  • lua解释器包括编译器和虚拟机