請問有專為 C 語言寫的,類似 Effective C++ 的書嗎?
如題,Effective C++ 裡面列出了許多高級技巧,
增加可維護性、避免錯誤陷阱等等,
上網找找,有看見一篇: "Recommended C Style and Coding Standards"
還有 GNU Coding Standards。
前者有提到不少技巧,後者 C 語言相關的部份好像只有一章,
其它的是文件格式等等規定。
我想問問大家,C 語言在這方面有沒有什麼經典書呢?
下面舉一個例子,還不會的人可以看看。 ^^;
如果把 typedef struct { ... } MyStruct_t; 直接就寫在 header 中,
雖然可以用,但是如果要寫成函式庫,使用者拿到這個函式庫,把 header 裡面
struct 的內容改掉,程式就會錯誤。我看到 ImageMagick 這樣寫:
//函式庫的 header: 使用者只看到 forward declaration
typedef struct _MagickWand MagickWand;
//有一個叫做 magick-wand-private.h 的檔案,放置實際 declaration
struct _MagickWand {
unsigned long id;
...
};
//一個實做檔 drawing-wand.c 這樣寫:
#include "wand/MagickWand.h"
#include "wand/magick-wand-private.h"
...
發佈函式庫時,只給 MagickWand.h 就好,使用者沒有 magick-wand-private.h,
所以沒辦法修改,如此即達到隱藏 struct 宣告的效果。
--
※ Origin: SayYA 資訊站 <bbs.sayya.org>
◆ From: 140.124.181.133
Programming 近期熱門文章
PTT數位生活區 即時熱門文章