Lua 原始碼分析 lprefix h

2021-09-22 06:40:49 字數 1175 閱讀 1524

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以外的所有...