Linux下使用静态链接方式如何使用Lua

移动开发 iOS
Linux下使用静态链接方式如何使用Lua是本文要介绍的内容,主要是来学习在linux中使用lua的使用方式,具体内容的实现来看本文详解。

Linux下使用静态链接方式如何使用Lua是本文要介绍的内容,主要是来学习在linux中使用lua的使用方式,具体内容的实现来看本文详解。

环境是ubuntu9.04

首先去lua官方网站下载lua***版

解压缩之后,从shell中进入目录,然后执行make

会给个提示,选择make的版本

因为是linux下,就打make linux

然后开始构建了,等下就好,进入src目录,里面有liblua.a

拷贝到项目需要的目录。

同时需要拷贝的是.h我建议把那头文件都拷贝到/usr/include下,这样以后用的时候方便,要不每次还得在gcc中加命令行

在gcc中指定头文件参见:

http://blog.chinaunix.net/u/28781/showart.php?id=401631 
  • 1.

然后写好代码就可以编译了。我的测试代码是:

代码

 void load (char *filename, int *width, int *height) {  
 
     lua_State *L = lua_open();  
    luaopen_base(L);  
     luaopen_io(L);  
     luaopen_string(L);  
    luaopen_math(L);  
    if (luaL_loadfile(L, filename) || lua_pcall(L, 0, 0, 0))  
       error(L, "cannot run configuration file: %s",  
           lua_tostring(L, -1));  
    lua_getglobal(L, "width");   
    lua_getglobal(L, "height");   
    if (!lua_isnumber(L, -2))   
       error(L, "`width' should be a number\n");   
    if (!lua_isnumber(L, -1))  
        error(L, "`height' should be a number\n");   
    *width = (int)lua_tonumber(L, -2);   
    *height = (int)lua_tonumber(L, -1);  
    lua_close(L);   
}  
int main()  
{  
    return 0;  

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.

编译的命令行是:

gcc test.c -L$HOME/Code/luatest -llua -lm  
  • 1.

需要注意,gcc不用在静态库前加lib,得到的是liblua。。我刚开始编译的时候总提示找不到,后来在群里请教了一下大牛,解决了

还有-lm也是必须的,因为lua需要用到libm这个库。

小结:Linux下使用静态链接方式如何使用Lua的内容介绍完了,希望通过本文的学习能对你有所帮助!

责任编辑:zhaolei 来源: 互联网
相关推荐

2011-03-29 09:08:50

Linux配置Cacti

2023-03-05 16:36:14

Linux链接目标文件

2011-03-15 17:12:11

2022-03-25 14:53:32

Linuxvmstat 命令

2014-12-23 09:37:09

Linuxrsync

2023-09-24 19:29:44

LinuxWebP图像

2017-03-13 16:46:11

Linuxminicomusb串口

2011-09-06 16:30:32

iOS系统静态链接库

2022-03-09 14:43:38

LinuxDLNA

2011-09-05 14:17:07

UbuntuWindows键

2011-03-30 11:04:11

Linuxmrtg

2009-11-23 11:51:07

linuxscp

2011-01-13 10:50:50

2017-03-01 15:38:34

LinuxUSB网络

2022-02-09 18:28:46

多线程Excel代码

2011-08-22 15:50:05

Linuxmailsendmail

2011-01-11 14:04:26

2024-02-23 10:11:00

虚拟化技术

2009-07-15 17:52:23

sqlite jdbc

2009-12-23 16:28:13

Linux GCC
点赞
收藏

51CTO技术栈公众号