任何人都可以通过一个简单的例子从头到尾解释如何在C中创建头文件.
我正在为几个编译器构建一个C项目,其中一些是旧式编译器,它们似乎没有链接时间内联支持,因此将static inline函数直接放在标头中并实际上让每个翻译单元都有自己的副本似乎合乎逻辑。
另外,我需要确保内联某些函数,以便在某些低级中断处理程序中调用时不会调用其他函数(即,更改CPU寄存器),因此这不仅仅是让编译器选择是否会影响性能。 。
但是,我的一位同事告诉我,这是一件不寻常的事情,我应该避免这样做。在项目的这一点上,我可能仍然可以重新排列所有内容,所以我想确认如果决定使用标头内联,从长远来看是否还会遇到一些问题?
C语言中的示例程序(无标题):
int main()
{
printf("\nHello World\n");
}
Run Code Online (Sandbox Code Playgroud)
我怎么知道应该包含什么头文件(例如#include <stdio.h>:)?
根据我检查的文档,time_t time(time_t *seconds)在<time.h>头文件下声明。然而,当我运行这段代码时:
#include<stdio.h>
#include<stdlib.h>
int main()
{
srand(time(NULL));
printf("%d",rand());
return 0;
}
Run Code Online (Sandbox Code Playgroud)
不包括<time.h>,它工作正常,或者至少工作。怎么会这样?
c header-files forward-declaration function-declaration c-header