如何寫出專業的標頭檔案

2021-05-12 16:17:04 字數 1823 閱讀 4628

做到專業,應該是每個職業程式設計師應該要求自己做到的。

讓我們看看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 ...

如何寫出好函式

寫 和寫別的東西很像。在寫 或文章時,你先想什麼就寫什麼,然後再打磨它。初稿也許粗陋無序,你就斟酌推敲,直至達到你心目中的樣子。我寫函式時,一開始都冗長而複雜。有太多縮排和巢狀迴圈。有過長的引數列表。名稱是隨意取的,也會有重複的 不過我會配上一套單元測試,覆蓋每行醜陋的 然後我會打磨這些 分界函式 ...