头文件是如何实现的,比如说string.h文件
how is an header file implemented say an string.h file
在c++中,string.h头文件是否只包含字符串函数的分离?
如果是真的,那么它们在哪里实现。
头文件通常只包含方法的原型声明,只是为了满足初始编译器检查。实现文件已经编译成二进制形式,并作为库文件分发。在链接过程中,它们会链接到您的程序。
如果你学习过C,你会记得你曾经在main()方法的顶部添加一个自定义方法的原型声明(在main(函数下面定义)。否则,您将得到一个编译器错误。头文件包含在相关的cpp/c文件中定义的方法的这些协议声明,因此初始检查不会停止编译。以这种方式编写也有助于隐藏软件的实现部分,但其他用户可以通过查看协议声明来根据自己的需要使用这种方法。
您可以在此处获得有关编译链接过程的更多信息。
回答您的问题
在c++中,string.h头文件是否只包含字符串函数?
是的,它们只包含声明
如果是真的,那么它们在哪里实现。
相关的C++文件以二进制格式作为库进行编译和分发。在Unix系统上,它位于标准C库(libc)中
string.cpp
^好吧,这是唯一的答案!
您可以用man string
找到它,在其中您可以发现它是标准C库的一部分,即libc
库。
相关文章:
- .cpp和.h文件中的模板专用化声明
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- 文本文件中的单词链表
- CMake-按正确顺序将项目与C运行时对象文件链接
- 使用新行和不使用新行读取文件
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- 挂起和取消挂起一个文件DLL
- 如何确定我已使用非编码文件到达 EOF?
- 命名空间中具有.h和.cpp文件的类
- 如何使用ndk-build.cmd构建Android.so文件
- 从包含m行的文件中提取n行,必要时(惰性地)重复该文件
- 读取文件并输入到矢量中
- 在C++中查找文件
- c++库的公共头文件中应该包含什么
- 用c++从输入文件中读取另一行
- Cppcheck生成xml转储文件
- 读取文件的最后一行并输入到链接列表时出错
- 无法编译 rtmidi 测试 cmidiin.cpp 文件, 非法指令
- 如何将内容数组写入文本文件?
- 头文件是如何实现的,比如说string.h文件