lua 原始碼裡面很小的乙個標頭檔案, 沒什麼東西, 會預先進行一些設定, 每個 .c 檔案都會引用.
#ifndef lprefix_h
#define lprefix_h
// posix/xsi
#if !defined(lua_use_c89)
// 有關移植性
#if !defined(_xopen_source)
#define _xopen_source 600
#elif _xopen_source == 0
#undef _xopen_source
#endif
// 處理大檔案
#if !defined(lua_32bits) && !defined(_file_offset_bits)
#define _largefile_source 1
#define _file_offset_bits 64
#endif
#endif
// window 忽略安全檢查
#if !defined(_crt_secure_no_warnings) && defined(_win32)
#define _crt_secure_no_warnings
#endif
#endif
第一部分就是設定_xopen_source這個巨集, 但是整個 lua 專案裡並沒有使用到這個值, 它應該是交給編譯器處理或者配合其他的庫進行使用的, 主要是用來搞定 linux 移植性.
第二部分是大檔案處理, linux 平台的檔案處理函式 (例如 fopen fclose 等) 所能處理的最大檔案預設2gb, 進行此項設定後就可以對大於 2gb 的檔案進行處理, 貌似作用也不是很大, 至少我是不會處理這麼大的檔案.
第三部分是針對 windows 平台的 vs 編譯器的, 相信大家都碰見過, 新版 vs 編譯器推薦使用安全函式, 就是類似於strcpy這樣的字元處理函式帶上_s字尾, 寫成strcpy_s, 若想繼續使用原先函式, 就需要定義_crt_secure_no_warnings了
Lua 簡單Lua直譯器原始碼分析
include include include lua.h include lauxlib.h include lualib.h int main void lua close l return 0 lua.h定義了lua提供的基礎函式,包括建立lua環境 呼叫lua函式,它的定義是以lua 開頭的...
LUA原始碼分析一 總括
1.lua語言短小,而且是我目前開發用到的語言之一,我會把它作為長期閱讀的乙個開源 之一 2.讀完並不代表很牛了,只是把自己的一些弱點給彌補得不是那麼明顯 3.格式上會大概如下 1 引用一段 時,會把大意通過注釋標識出來,如果遇到具體的函式呼叫會通過1.x表示在後面標記段 2 有時候一遍下來,會有選...
lua 原始碼編譯
對於乙個開源工程,開始學習它的第一步自然是編譯工程。使用vc編譯lua,在網上已有許多介紹,但 紙上得來終覺淺 自己走一遍還是有必要的。步驟如下 2.開啟vc建立乙個solution,就叫lua.sln 3.建立乙個名為liblua的project lua庫 新增除lua.c和luac.c以外的所有...