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中指定头文件参见:

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

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

代码

  1.  void load (char *filename, int *width, int *height) {  
  2.  
  3.      lua_State *L = lua_open();  
  4.     luaopen_base(L);  
  5.      luaopen_io(L);  
  6.      luaopen_string(L);  
  7.     luaopen_math(L);  
  8.     if (luaL_loadfile(L, filename) || lua_pcall(L, 0, 0, 0))  
  9.        error(L, "cannot run configuration file: %s",  
  10.            lua_tostring(L, -1));  
  11.     lua_getglobal(L, "width");   
  12.     lua_getglobal(L, "height");   
  13.     if (!lua_isnumber(L, -2))   
  14.        error(L, "`width' should be a number\n");   
  15.     if (!lua_isnumber(L, -1))  
  16.         error(L, "`height' should be a number\n");   
  17.     *width = (int)lua_tonumber(L, -2);   
  18.     *height = (int)lua_tonumber(L, -1);  
  19.     lua_close(L);   
  20. }  
  21. int main()  
  22. {  
  23.     return 0;  

编译的命令行是:

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

需要注意,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

2014-12-23 09:37:09

Linuxrsync

2022-03-25 14:53:32

Linuxvmstat 命令

2011-09-06 16:30:32

iOS系统静态链接库

2023-09-24 19:29:44

LinuxWebP图像

2017-03-13 16:46:11

Linuxminicomusb串口

2011-09-05 14:17:07

UbuntuWindows键

2022-03-09 14:43:38

LinuxDLNA

2011-08-23 09:56:52

UnicodeLua

2022-02-09 18:28:46

多线程Excel代码

2009-12-23 16:28:13

Linux GCC

2011-01-11 14:04:26

2011-08-22 15:50:05

Linuxmailsendmail

2024-02-23 10:11:00

虚拟化技术

2023-02-25 16:33:12

Luawhile

2011-08-24 11:14:25

LUA 游戏

2009-07-15 17:52:23

sqlite jdbc

2011-03-30 11:04:11

Linuxmrtg
点赞
收藏

51CTO技术栈公众号