Nhúng Lua 5.1 vào C++

script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/2.1.364/scripts/shCore.js">






Vào thăm nhà cũ thấy hoang tàn đổ nát @@ vậy mà cũng có 1k views rồi, thôi thì coi như viết thêm 1 cái note nhỏ, sau này có lúc sẽ dùng tới vậy :D

1. Lua là gì:
Lua là một Scripting Language cung cấp cho ta cấu trúc dữ liệu động (cái này ai chưa biết thì từ từ biết :D), các hàm toán học, xuất nhập, v.v...

2. Tại sao lại dùng lua?
Lua rất nhanh, và đặc biệt hơn cả, Lua có thể thay đổi nội dung của một chương trình đã viết sẵn, ngay cả sau khi nó được build ra rồi.

- Nói đơn giản qua 1 ví dụ:
      + Đầu tiên chúng ta viết ra 1 trò chơi thú cmn vị
      + Chúng ta thiết lập mỗi lần ăn 1 đồng vàng người chơi được 100 điểm
      + Viết xong build ra, đem ra ngoài khoe anh em
      + Chúng nó chơi 1 hồi thấy "đm sao dễ vậy, ăn 1 đồng được tới 100"
      + Tức mình phán "cmm, chúng mày than dễ chứ gì, chờ đi"
      + Tối về mở VC++ ra thì "Sặc, cái VC++ lại điên cmnr"
      => éo sửa được, bị chúng nó cười vào mũi
      
- Trong khi đó, nếu ta để công thức tính toán, hoặc một số thứ linh tinh vào file lua, rồi lấy kết quả trả về vận hành tiếp thì chúng ta chỉ việc vào file Lua sửa lại (bằng bất cứ text editor nào) là đã có thể thay đổi được trò chơi rồi

- Đọc tới đây mong là sẽ có ít người thầm phán: "Đm, hay VL". Dân trí nước mình cao mà, chắc ko ít người biết vụ này :D

3. Nhúng Lua vào chương trình C++ qua 1 chương trình đơn giản:
    1- Viết một chương trình C++ có nội dung như sau:
         #include <iostream>
         int main()
         {
              printf("\nI am done with Lua in C++.\n");
             system("pause>nul");
              return 0;
          }
     2- Download Lua từ trang lua.org về, cài đặt (down bản tự chạy luôn là được)
     3- Vào VC++ > Tools > Options > Projects and Solutions > VC++ Directories
     4- Trong "Shows Directories for" chọn "include files" > Nhấn vào biểu tượng "New Line" (Ctrl+Insert) > Đưa đường dẫn tới mục include trong thư mục cài đặt Lua
     5- Trong "Shows Directories for" chọn "library files" > Nhấn vào biểu tượng "New Line" (Ctrl+Insert) > Đưa đường dẫn tới mục lib trong thư mục cài đặt Lua
     6- Vào Notepad, viết 1 file có nội dung sau:
           io.write("Anh giai cho xin cái tên: ")
           name = io.read() -- đọc tên này (sau dấu -- là comment)
           print ("Hi anh " .. name .. " đep giai"); -- dấu .. là ghép chuỗi này (câu này bằng với "Hi anh" + name + "đẹp giai" bên mấy cái khác)
     7- Save file thành heno.lua
     8- Copy file heno.lua vào thư mục chạy chương trinh mình vừa viết bằng C++ trên kia (thư mục có file .exe ếy)
     9- quay vào VC++ viết nốt như sau:

extern "C"{
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
}

#include <iostream>

int main()
    lua_State *L = lua_open(); // Tạo ra cái state này
    luaL_openlibs(L); // Load các hàm trong thư viện của Lua này
    luaL_dofile(L,"heno.lua"); // Chạy file heno.lua này 
    printf("\nGhien Lua VL.\n"); // Chạy xong hiện ra cái này này
    lua_close(L); // Xài xong thì đóng lại này
    system("pause>nul"); //Đứng màn hình lại để xem này
    return 0; // trả về số 0 này
}

     10- Nhắp phải vào project, chọn properties > Linker > Input > Additional Dependencies > thêm vào tên của thư viện Lua, của mình là lua5.1.lib, ai không biết thì vào thư lục lib của Lua mà xem

- Thế là xong, bài viết dài dòng tí, các bạn thông cảm, tại vừa viết vừa để làm note sau này của mình nữa mà :D bài sau coi tiếp nhóe :-*

Comments

Popular posts from this blog

No visible @interface for class declares the selector

SFML - Lập trình game - Cài Đặt

IOS UniqueIdentifier in ios 7 (xCode 5)