【发布时间】:2016-04-06 05:01:31
【问题描述】:
例如,这里是一个“hello, world”程序,不包含stdio.h:
int puts(const char *str);
int main(void)
{
puts("hello, world");
}
当我的程序越来越长时,我什至认为这可能是一种很好的编程风格,因为所有调用的函数都在开头明确列出。
所以我的问题是:除了为标准库函数提供原型之外,#include <stdio.h> 还能做什么?
【问题讨论】:
-
某些函数可以定义为宏
-
您可以通过浏览 C99 标准的 7.21 输入/输出
<stdio.h>部分来查找stdio.h提供的所有内容 -
自己声明外部函数而不是包含适当的头文件是一个非常糟糕的主意。目前尚不清楚您认为自己正在解决什么问题,但我可以向您保证,您不是。
-
为什么要重新发明轮子?除非你有更好的解决方案
-
这不仅增加了您需要编写的代码量,而且不具备可移植性。它甚至不能在单个编译器的版本之间移植!!我在这里看到的唯一优势是可能会提高编译速度,这可以通过预编译头文件来解决。这绝对是不是好的编程风格。
标签: c language-lawyer stdio