如何寫出專業的C標頭檔案

2021-04-13 00:29:19 字數 1992 閱讀 8928

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

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

如何寫出專業的標頭檔案

做到專業,應該是每個職業程式設計師應該要求自己做到的。讓我們看看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...