我正在使用一些不包含某类函数的函数原型的C代码。不使用函数原型有什么好处吗?这些函数从不互相调用,也没有参数。代码更改了很多,所以可能只是少了一行要编辑的代码?
发布于 2009-06-03 11:49:46
函数原型是用于外部函数的。我的规则是每个非静态函数都有一个原型,除了main()。我使用'-Wmissing-prototypes‘的GCC选项。通常,它捕获的是当我忘记声明一个函数静态的时候。
同样,在C中以这种方式声明函数:
void function(void);
而不是这样:
void function();
因为第二种方法意味着该函数接受未指定数量的参数,这并不是您想要的(这是为了与ANSI C之前的版本兼容)。
发布于 2009-06-03 11:47:41
No。
我甚至不知道这在严格的ansi c中是否合法。
发布于 2009-06-03 12:18:13
当应用于函数原型时,“代码改变很多”也是一种糟糕的代码味道。如果接口(函数签名)变化很大,那么函数的职责可能不是很清楚。首先,弄清楚如何将问题划分为子责任,然后才开始编写代码。
https://stackoverflow.com/questions/946765
复制相似问题