VS c++2005中头文件有的为啥必须加.h比如malloc

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VS c++2005中头文件有的为啥必须加.h比如malloc相关的知识,希望对你有一定的参考价值。

会出错找不到头文件

头文件加不加 .h 这个只是标准和习惯问题

C++ 标准库使用不加 .h 的头文件是为了区分 C 的标准库头文件而已

出于习惯,完全可以用原来 C 的头文件

但是一些原本就是 C++ 头文件,如 iostream,就不按这个原则,不应该包含 .h

malloc 可以用 cstdlib 或 stdlib.h
参考技术A VS c++ .h表示为全局的头文件..
不加.h的表示为命名空间中的头文件.
如:#include<stdio.h> 相当于
#include<cstdio>
using namespace std; //使用std命名空间. 不声明适用的命名空间默认使用std
参考技术B 没有.h的都是C++的STL(标准模板库)

而带.h的都是C 的标准库的头文件

你可以去安装路径下的
Microsoft Visual Studio .NET 2003\Vc7\include下看看
比如string
同时会有string和string.h,2个文件,
其中一个是STL,一个是标准的头文件,

在VC中头文件的问题

我当前源文件在 一个项目的目录a下,要用到当前项目 的另外一个目录 b中的头文件。比如是 1.h 那我应该如何加载这个头文件 杂写 #includ "这里杂加载才正确?" VS2008!
我想使用相对路径 不想使用绝对路径 关键是如何跳转到上一级 #includ "../b/1.h" 这样不对!

#include "……(这里是目录b的绝对路径,实际相对路径也行,但如果用了绝对路径,那么a目录就可以随便移动了)……\b\1.h"

补充,如果使用相对路径就用..或.
其中.表示当前目录
..表示上一级目录
参考技术A 你可以在 在旁边的文件试图里面 在头文件里边添加你的头文件 然后直接用就可以了
希望能帮到你
参考技术B 把目录给写进去,基本就可以了的,比如什么#include<C:/xxxxx>,默认是没有那个什么目录的,因为已经在环境变量里面,path目录里面设置好了的 参考技术C 将第一个项目的头文件以及源文件复制到该项目目录,再在b中的头文件中用 #include "复制的头文件.h" 即可

以上是关于VS c++2005中头文件有的为啥必须加.h比如malloc的主要内容,如果未能解决你的问题,请参考以下文章

为啥vs2005调试时有时候可以进入断点,有时候进入不了断点

QT中头文件带不带.h的问题

我想问一下vs 2008中的头文件的问题啊

c语言中头文件的作用?

█c# 为啥有的dll不能直接引用,必须regsvr32 注册后 才能引用?

c中头文件在cpp文件里引用和.h文件引用的思考