在 C 中创建自己的头文件
任何人都可以用一个简单的例子从头到尾解释如何用 C 创建头文件。
Can anyone explain how to create a header file in C with a simple example from beginning to end.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
foo.h
foo.c
main.c
使用GCC编译
foo.h
foo.c
main.c
To compile using GCC
MY_HEADER_H
用作双包含防护。对于函数声明,您只需要定义签名,即不需要参数名称,如下所示:
如果您确实愿意,您还可以包含参数的标识符,但这不是必需的,因为标识符只会在函数的主体(实现),在标头(参数签名)的情况下,它丢失了。
这声明函数
foo
接受char*
并返回int
。在您的源文件中,您将具有:
MY_HEADER_H
serves as a double-inclusion guard.For the function declaration, you only need to define the signature, that is, without parameter names, like this:
If you really want to, you can also include the parameter's identifier, but it's not necessary because the identifier would only be used in a function's body (implementation), which in case of a header (parameter signature), it's missing.
This declares the function
foo
which accepts achar*
and returns anint
.In your source file, you would have:
myfile.h
myfile.c
myfile.h
myfile.c
头文件包含您在 .c 或 .cpp/.cxx 文件中定义的函数的原型(取决于您使用的是 c 还是 c++)。您希望将 #ifndef/#defines 放在 .h 代码周围,这样,如果您在程序的不同部分两次包含相同的 .h,则原型仅包含一次。
client.h
然后你可以在 .c 文件中实现 .h,如下所示:
client.c
header files contain prototypes for functions you define in a .c or .cpp/.cxx file (depending if you're using c or c++). You want to place #ifndef/#defines around your .h code so that if you include the same .h twice in different parts of your programs, the prototypes are only included once.
client.h
Then you'd implement the .h in a .c file like so:
client.c