看板Programming
标 题请问有专为 C 语言写的,类似 Effective C++ 的书吗?
发信站SayYA 资讯站 (Thu Mar 29 19:56:25 2007)
转信站ptt!ctu-reader!news.nctu!SayYa
如题,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