自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

詳解Lua程序語言安裝環(huán)境

移動開發(fā) iOS
Lua 沒有 "main" 程序的概念:它只能 嵌入 一個宿主程序中工作,這個宿主程序被稱作 embedding program 或簡稱為 host 。

Lua程序語言安裝環(huán)境是本文要介紹的內(nèi)容,Lua 是一個擴展式程序設(shè)計語言,它被設(shè)計成支持通用的過程式編程,并有相關(guān)數(shù)據(jù)描述的設(shè)施。 Lua 也能對面向?qū)ο缶幊蹋?strong>函數(shù)式編程,數(shù)據(jù)驅(qū)動式編程提供很好的支持。它可以作為一個強大、輕量的腳本語言,供任何需要的程序使用。 Lua 以一個用 clean C 寫成的庫形式提供。(所謂 Clean C ,指的 ANSI C 和 C++ 中共通的一個子集)

作為一個擴展式語言,Lua 沒有 "main" 程序的概念:它只能 嵌入 一個宿主程序中工作,這個宿主程序被稱作 embedding program 或簡稱為 host 。宿主程序可以通過調(diào)用函數(shù)執(zhí)行一小段 Lua 代碼,可以讀寫 Lua 變量,可以注入 C 函數(shù)讓 Lua 代碼調(diào)用。這些擴展的 C 函數(shù),可以大大的擴展了 Lua 可以處理事務(wù)的領(lǐng)域,這樣就可以訂制出各種語言,而它們共享一個統(tǒng)一的句法格式的框架。

 Lua 的官方發(fā)布版就包含了一個叫做 lua 的簡單的宿主程序,它用 Lua 庫提供了一個保證獨立的 Lua 解釋器。Lua 是一個自由軟件,它的使用許可決定了對它的使用過程一般沒有任何保證。

Lua的安裝(linux下),兩種方式:

(方式一)

我的操作系統(tǒng)是:

  1. Linux oracle-desktop 2.6.31-14-generic #48-Ubuntu SMP Fri Oct 16 14:05:01 UTC 2009 x86_64 GNU/Linux 

使用sudo apt-get install lua5.1命令直接安裝上lua,但是在c語言中嵌入lua的時候會說找不到lua.h等文件,因此如果只是簡單的運行l(wèi)ua命令執(zhí)行一些lua語句,那么這個是足夠了,但是如果要是在c語言中嵌入,就必選采用方式二。

(方式二)

我的操作系統(tǒng)是:

  1. Linux oracle-desktop 2.6.31-14-generic #48-Ubuntu SMP Fri Oct 16 14:05:01 UTC 2009 x86_64 GNU/Linux 

(1)先去Lua的官網(wǎng)(http://www.lua.org/ftp/)下載最新發(fā)布包,我選擇的是 lua-5.1.4.tar.gz

(2)使用命令tar -xzvf  lua-5.1.4.tar.gz

(3)cd lua-5.1.4, 然后執(zhí)行make,會提示讓你輸入make 系統(tǒng),因為我的系統(tǒng)是linux的,因此我輸入make linux

  1. 但運行的過程報錯了error:readline/readline.h:no such file or directory,  
  2. 上網(wǎng)搜了一下需要安裝readline-6.1.tar.gz,因此我去wget   
  3. http://www.sfr-fresh.com/unix/misc/readline-6.1.tar.gz   
  4. tar -zxvf readline-6.1.tar.gz,cd ~~ ./configure && make && make install  , sudo ldconfig,  
  5. 再運行make linux,不報readline的錯誤,但是又提示  
  6. /usr/bin/ld: cannot find -lncurses  
  7. 在網(wǎng)上搜了一下,還得下載ncurses安裝,wget  
  8.  http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.7.tar.gz,   
  9. tar -xvf ncurses -5.7.tar.gz,然后 cd ncurses-5.7 ,./configure,make,make install,  
  10. 再運行make linux就一切ok了。 

(4)sudo make install

安裝完成。

測試lua是否安裝成功,直接運行l(wèi)ua就能進入編譯模式。

lua安裝完成后,可以按照lua手冊提供的c中嵌入lua的例子,將下面的程序放到a.c中:

  1. #include <stdio.h> 
  2. #include <lua.h> 
  3. #include <lauxlib.h> 
  4. #include <lualib.h> 
  5.  
  6. int main(int argc, char *argv[])  
  7. {  
  8.         char line[BUFSIZ];  
  9.         lua_State *L = lua_open();  
  10.         luaL_openlibs(L);  
  11.         while (fgets(line, sizeof(line), stdin) != 0) printf("%s/n",line);  
  12.  
  13.         lua_close(L);  
  14.         return 0;  

然后使用如下命令

  1. gcc -I/usr/local/include/ -L/usr/local/lib/ -lm -DLUA_USE_READLINE a.c /usr/local/lib/liblua.a -ldl 

運行即可編譯通過。

如果直接運行g(shù)cc a.c 會報如下錯誤:

  1. /tmp/ccI4JYia.o: In function `main':  
  2. a.c:(.text+0x28): undefined reference to `luaL_newstate'  
  3. a.c:(.text+0x3e): undefined reference to `luaL_openlibs'  
  4. a.c:(.text+0x81): undefined reference to `lua_close'  
  5. collect2: ld returned 1 exit status 

這是因為lua調(diào)用了標準庫里的C API,因此要加上數(shù)據(jù)庫。

小結(jié):詳解Lua程序語言安裝環(huán)境的內(nèi)容介紹完了,希望通過本文的學(xué)習(xí)能對你有所幫助!

責(zé)任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2012-08-13 09:31:33

程序

2011-08-25 10:24:27

Lua

2011-08-25 14:03:32

UbuntuLUA安裝

2011-08-24 11:03:33

LUA環(huán)境 安裝

2012-08-13 09:40:12

語言編程語言程序語言

2009-03-02 09:40:13

程序員程序語言開發(fā)

2011-09-06 17:45:14

LUA開發(fā)環(huán)境Decoda

2017-07-10 17:00:24

程序語言語言特性

2011-08-25 15:02:17

Lua環(huán)境搭建EditPlus

2011-08-24 14:33:14

LUA開發(fā)環(huán)境Decoda

2012-06-27 10:28:12

編程語言語言學(xué)習(xí)多門語言

2011-07-15 17:05:14

2014-02-25 10:35:37

神經(jīng)學(xué)程序語言

2011-05-19 14:00:51

PHP單引號雙引號

2011-09-01 19:06:57

UbuntuLua安裝環(huán)境

2011-08-24 17:15:33

Lua源代碼文件

2015-08-17 16:22:36

大數(shù)據(jù)

2014-08-01 10:06:36

大數(shù)據(jù)

2014-08-01 10:39:52

大數(shù)據(jù)程序語言

2019-04-19 08:15:19

微軟瀏覽器Windows
點贊
收藏

51CTO技術(shù)棧公眾號