问几个关于MFC比较弱智的问题

来源:百度知道 编辑:UC知道 时间:2024/05/31 04:03:29
1 MFC很多是自己定义的 比如那些类 CWinApp CFrameWnd CDocument 这些类的申明和定义都放在各个不同的.h和.cpp中 请问这些.h和.cpp是如何加进我的工程的?是不是在stdafx.h中的那个?

2 第一次预编译产生的巨大的一个预编译文件就自动存在于工程文件夹里的DEBUG文件夹中了 这个.pch文件是不是stdafx.h和stdafx.cpp编译成的 以后再编译都不用再编译stdafx.h和stdafx.h了?

3 我在生成一个MFC工程最初的向导阶段 选动态DLL和静态LIB 的区别是什么? 是不是这个stdafx.h和stdafx.cpp成为共享的DLL 和 不共享静态LIB的区别? 我如果第一个工程选动态的了 第二个工程也选动态的了 是不是第二个工程就不用编译那么大的stdafx.h 和 stdafx.cpp了?

希望高手指教指教我 我菜鸟一个 说了白痴的话别笑话我 回答的好我会追加分的

1.编译器有一个默认的头文件目录,在当前目录下找不到该头文件就会到那个目录下找,头文件就加进来了;这些类没有cpp文件,他们的定义是放在一个dll里的,VC6的是mfc42.dll,VS2005是mfc80.dll,VS2008的是mfc90.dll,这样可以保证类库的源码不泄漏,编译后的exe自动地加入了link这些dll的代码;
2.其实不只是stdafx.cpp,你未做改动的cpp文件都不会再编译;
3.不是。动态指mfc42.dll中的各种类库的定义不放在你的exe文件中,它放在系统目录下,如果系统目录下没有mfc42.dll,你的程序就不能运行。而静态则是把各种类库的定义都放在你的exe文件里,这样,你的程序就不依赖mfc42.dll了。(mfc42.dll从windows98开始都是系统自带的,所以只需动态就可以了;而如果你用vs2005或vs2008的话,mfc80.dll和mfc90.dllXP都不是自带的,最好选静态编译。vista自带mfc80.dll)

亚丁自然保护区概述
时间:2004-2-25
近年来,亚丁自然保护区以其独特的原始生态环境、雄、奇、绣、美的高品位自然风光而闻名中外。亚丁自然保护区于1996年3月经稻城县人民政府批准,成为县级自然保护区,同时成立了亚丁自然保护区管理局。1997年5月,甘孜藏族自治州人民政府批准亚丁为州级自然保护区,并成立了管理处;同年12月,经四川省人民政府批准,亚丁成为省级自然保护区。2001年6月,经国务院批准,亚丁成为国家级自然保护区。2003年7月10日,联合国教科文组织人与生物圈执行局在巴黎召开的会议上,把亚丁列入联合国MAB保护计划之中,亚丁正式加入世界人与生物圈保护区网络。亚丁是我国第24个,继黄龙、卧龙、九寨沟后,四川省第4个加入该网络的保护区,也是甘孜藏族自治州第一个获此殊荣的自然保护区。

亚丁自然保护区位于四川省甘孜藏族自治州稻城县南部,地理坐标为:东经99度58分----100度28分,北纬28度11分----28度34分。地处著名的青藏高原东部横断断山脉中段。在保护区东部的小贡嘎山上,三座雪山直冲云天。北峰仙乃日,海拔6032米;南峰央迈勇和东峰夏郎多吉,海拔同为5958米。三座雪山呈品字形,巍然耸