c++ 类的调用为什么要包含声明文件 而不是包含实现文件
3个回答
2011-04-01
展开全部
个文件的问题。简单的说,VC对项目的管理是以工程为基础的(其实这些和makefile有一定关系,因为VC必须要生成编译的脚本才知道如何去编译这些彼此依赖的文件,而这个脚本的生成是和工程里包含的文件相关的),工程里的文件必须显式的添加,意思即不仅这些文件位于同一目录下,并且也是在工程里手动添加过的。这样可以避免一些错误,同时由你手动添加,也从你的角度上保证了文件的正确性。
补充: 仍然有问题,include这个只是针对文件这一级的,和是不是类没有关系,对于编译器,它认为你include的是这个文件的所有代码,而并不关心里面是不是类。我前面已经提到了,编译和链接的控制是脚本控制的,所以并不是在工程内部寻找文件,但是从VC表面的做法来看,应该工程内部的文件是生成脚本的一个基础。
换个角度来说,假如没有VC,如何对这种情况编译?就是写脚本告诉链接器这些项目文件彼此之间的依赖关系,这个脚本就是现在的makefile文件。那为什么要用VC?就是用VC对所有文件进行管理,你既然不添加到工程里来,利用VC更方便的编译链接方法,又何必用VC来编译对吧?
我想反面的解释很好一些,这个只是基于软件设计上的考虑。对于软件上的这些,不必过于深究,知道即可
另外,虚机团上产品团购,超级便宜
补充: 仍然有问题,include这个只是针对文件这一级的,和是不是类没有关系,对于编译器,它认为你include的是这个文件的所有代码,而并不关心里面是不是类。我前面已经提到了,编译和链接的控制是脚本控制的,所以并不是在工程内部寻找文件,但是从VC表面的做法来看,应该工程内部的文件是生成脚本的一个基础。
换个角度来说,假如没有VC,如何对这种情况编译?就是写脚本告诉链接器这些项目文件彼此之间的依赖关系,这个脚本就是现在的makefile文件。那为什么要用VC?就是用VC对所有文件进行管理,你既然不添加到工程里来,利用VC更方便的编译链接方法,又何必用VC来编译对吧?
我想反面的解释很好一些,这个只是基于软件设计上的考虑。对于软件上的这些,不必过于深究,知道即可
另外,虚机团上产品团购,超级便宜
展开全部
这个是编译器的调用机制造成的,其实调用的过程中不仅仅包含的头文件,实现文件也包含了,而你看到的仅仅是编译的的几行日志,而不是编译过程的全部,有时间可以去看看gcc的编译过程,就能清楚看到了
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
英文一般的话就看看 The C++ programming Language 中文版第 9 章,讲的非常详细。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询