做到專業,應該是每個職業程式設計師應該要求自己做到的。
讓我們看看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(int argc, 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...
如何寫出專業的C標頭檔案
做到專業,應該是每個職業程式設計師應該要求自己做到的。讓我們看看lua 是 怎麼寫標頭檔案的。1.license agreement license agreement 應該加在每個標頭檔案的頂部。整個標頭檔案應該在guard define 之間 ifndef lua h define lua h ...
如何寫出好函式
寫 和寫別的東西很像。在寫 或文章時,你先想什麼就寫什麼,然後再打磨它。初稿也許粗陋無序,你就斟酌推敲,直至達到你心目中的樣子。我寫函式時,一開始都冗長而複雜。有太多縮排和巢狀迴圈。有過長的引數列表。名稱是隨意取的,也會有重複的 不過我會配上一套單元測試,覆蓋每行醜陋的 然後我會打磨這些 分界函式 ...