做到專業,應該是每個職業程式設計師應該要求自己做到的。
讓我們看看lua 是 怎麼寫標頭檔案的。
1.license agreement
license agreement 應該加在每個標頭檔案的頂部。
整個標頭檔案應該在guard define 之間
#ifndef lua_h
#define
lua_h
#endif
另外,如果這個標頭檔案可能給 c++
使用,要加上
#ifdef __cplusplus
extern"c
"#endif
3. 盡量不要在標頭檔案中暴露資料結構
這樣可以使用者對你的實現的依賴,也減少了使用者的編譯時間
typedef
struct
lua_state lua_state;
lua_api lua_state
*lua_open (
void
);lua_api
void
lua_close (lua_state
*l);
可以看到雖然使用者會一直使用 lua_state, 但是並不知道 lua_state 的 結構是什麼
從乙個使用 lua 的例子程式可以看出:
#include
"lua.h
"#include
"lauxlib.h
"#include
"lualib.h
"int
main(
intargc,
char
*argv)
4 .函式宣告前加 ***_api 已 利於拓展
lua 的例子
#ifndef lua_api
#define
lua_api extern
#endif
lua_api lua_state
*lua_open (
void);
如果定義了 lua_api 就是給 lua 內 部使用的
如果沒定義 lua_api 就是 for user 的
寫 window dll 程式經常會用到
#ifdef dlltest_exports
#define
dlltest_api __declspec(dllexport)
#else
#define
dlltest_api __declspec(dllimport)
#endif
5. 巨集的定義
盡量使用括號來包住所定義的物件
#define
lua_tnone (-1)
#define
lua_register(l,n,f) /
(lua_pushstring(l, n), /
lua_pushcfunction(l, f), /
lua_settable(l, lua_globalsindex))
6. 目錄結構
一般應該使用乙個單獨的 include 目錄來包含要發布的標頭檔案,但不應該把內 部使用的標頭檔案包含進去。
lua 的 include 目錄只包含了三個頭文 件
lauxlib.h , lua.h, lualib.h
非常簡潔
如何寫出專業的C標頭檔案
做到專業,應該是每個職業程式設計師應該要求自己做到的。讓我們看看lua是怎麼寫標頭檔案的。1.license agreement license agreement應該加在每個標頭檔案的頂部。整個標頭檔案應該在guard define之間 ifndef lua h define lua h endi...
如何寫出專業的標頭檔案
做到專業,應該是每個職業程式設計師應該要求自己做到的。讓我們看看lua是怎麼寫標頭檔案的。1.license agreement license agreement應該加在每個標頭檔案的頂部。整個標頭檔案應該在guard define之間 ifndef lua h define lua h endi...
如何寫出最快的迴圈
作者 laruence 你知道怎麼寫出最快的迴圈麼?剛剛在曉東郭的 blog 看到乙個有趣的問題 php 中 i 和 i 的區別 1.方式一 2.3.begin time 4.i 0 5.while i 10000 6.12.end time 13.14.時間 16s 15.16.方式二 17.18...