关于VC工程的几个技巧

参考http://blog.csdn.net/win32asn/archive/2008/04/30/2346310.aspxhttp://hi.baidu.com/50254147/blog/item/d65f9316a7264404c83d6d64.html我们需要VC为我们做的事情包括:1.使用“/GMA/Temp/Compile/”作为项目编译时使用的中间目录2.使用“/GMA/Temp/Link/”作为项目链接的输出目录3.当项目是应用程序时,在构建结束后拷贝执行文件到“/GMA/Bin/Release/”或“/GMA/Bin/Debug/”,当项目是动态链接库时,除了拷贝dll到Bin,还拷贝导入库到“/GMA/Lib/”4.当项目是应用程序时,调试时运行“/GMA/Bin/Debug/”或“/GMA/Bin/Release/”下面的执行文件,并以“/GMA/Bin/Debug/”或“/GMA/Bin/Release/”为工作目录首先看一下项目设置中可以使用的宏,常用的有:ConfigurationName配置名字,通常是Debug或者ReleaseIntDir编译器使用的中间目录,产出obj文件OutDir链接器使用的输出目录ProjectDir项目目录ProjectName项目名字SolutionDir解决方案目录TargetDir目标输出文件所在的目录TargetExt目标输出的扩展名TargetFileName目标输出文件名,包括扩展名TargetName目标输出名,不包括扩展名TargetPath目标输出文件的全路径名1.使用“/GMA/Temp/Compile/”作为项目编译时使用的中间目录2.使用“/GMA/Temp/Link/”作为项目链接的输出目录首先将配置改成AllConfiguration(全部配置),这样可以让我们同时修改Debug和Release的部分;OutputDirectory(输出目录,链接器)栏位填入:$(SolutionDir)emp\Link\$(ProjectName)\$(ConfigurationName)IntermediateDirectory(中间目录,编译器)栏位填入:$(SolutionDir)emp\Compile\$(ProjectName)\$(ConfigurationName)3.构建结束后拷贝动态链接库到“/GMA/Bin/Release/”或“/GMA/Bin/Debug/”VC可以让我们设置构建前后执行的脚本程序,所以为了完成3,我们需要写构建后执行的脚本:md$(SolutionDir)\Bin\$(ConfigurationName)copy$(TargetPath)$(SolutionDir)\Bin\$(ConfigurationName)copy$(SolutionDir)\Lib\*$(SolutionDir)\Bin\$(ConfigurationName)copy$(SolutionDir)\Conf\*$(SolutionDir)\Bin\$(ConfigurationName)4.调试时运行“/GMA/Bin/Debug/”或“/GMA/Bin/Release/”下面的执行文件,并以“/GMA/Bin/Debug/”或“/GMA/Bin/Release/”为工作目录Command栏位填入:$(SolutionDir)\Bin\$(ConfigurationName)\$(TargetFileName)WorkingDirectory栏位填入:$(SolutionDir)\Bin\$(ConfigurationName)\这样就大功告成了,现在你就可以编译该执行程序并进行调试。附:VC++工程文件说明dsw,aps,clw,plg这些文件都可以删除。只保留H,C,CPP,DSP,RC,剩余文件去除只读属性,其余全部删除。然后打开DSP有提示选YES,就可以了*.dsp(DeveloperStudioProject):是VC++的工程配置文件,比如说你的工程包含哪个文件,你的编译选项是什么等等,编译的时候是按照.dsp的配置来的。*.dsw(DeveloperStudioWorkspace):是工作区文件,用来配置工程文件的。它可以指向一个或多个.dsp文件。*.clw:是ClassWizard信息文件,实际上是INI文件的格式,有兴趣可以研究一下.有时候ClassWizard出问题,手工修改CLW文件可以解决.如果此文件不存在的话,每次用ClassWizard的时候绘提示你是否重建。*.opt:工程关于开发环境的参数文件,如工具条位置等信息。*.aps:(AppStudioFile),资源辅助文件,二进制格式,一般不用去管他。*.rc:资源文件。在应用程序中经常要使用一些位图、菜单之类的资源,VC中以rc为扩展名的文件称为资源文件,其中包含了应用程序中用到的所有的windows资源,要指出的一点是rc文件可以直接在VC集成环境中以可视化的方法进行编辑和修改。*.plg:是编译信息文件,编译时的error和warning信息文件(实际上是一个html文件,一般用处不大),在Tools->Options里面有个选项可以控制这个文件的生成。*.hpj:(HelpProject)是生成帮助文件的工程,用microsfotHelpCompiler可以处理。*.mdp:(MicrosoftDevStudioProject)是旧版本的项目文件,如果要打开此文件的话,会提示你是否转换成新的DSP格式。*.bsc:是用于浏览项目信息的,如果用SourceBrower的话就必须有这个文件。如果不用这个功能的话,可以在ProjectOptions里面去掉GenerateBrowseInfoFile,可以加快编译速度。*.map:是执行文件的映像信息纪录文件,除非对系统底层非常熟悉,这个文件一般用不着。*.pch:(Pre-CompiledFile)是预编译文件,可以加快编译速度,但是文件非常大。*.pdb:(ProgramDatabase)记录了程序有关的一些数据和调试信息,在调试的时候可能有用。*.exp:只有在编译DLL的时候才会生成,记录了DLL文件中的一些信息。一般也没什么用。*.ncb:无编译浏览文件(nocompilebrowser)。当自动完成功能出问题时可以删除此文件,build后会自动生成。*.c:源代码文件,按C语言用法编译处理。*.cpp:源代码文件,按C++语法编译处理。*.h是头文件,一般用作声明和全局定义。*.sln:在开发环境中使用的解决方案文件。它将一个或多个项目的所有元素组织到单个的解决方案中。此文件存储在父项目目录中.解决方案文件,他是一个或多个.proj(项目文件)的集合。*.vcproj是vc的工程项目文件 .vcproj.sln分别是VC2002以上工程文件和解决方案文件.dsp.dsw分别是VC6的工程文件和工程组文件将VC7工程转换回VC6工程,换言之,就是将.sln/.vcproj这两个文件转换到.dsw/.dsp文件。vc6打开dsp或dsw,vc2003,2005打开sln或vcprojVC6打开*.dsw文件,单击工具栏上的”!”,然后你的文件夹里多了一个DEBUG文件夹里面有.EXE文件在vc7里面打开vc6的工程时,它会提示你是否转换成vc7的格式,转换后就可以直接使用了。转换后的工程,vc6就不认识了。 我使用vc.net2003打开vc6的工程,提示要升级,我也选了yes  to  all  但是其实vc.net只是读取vc6的.dsw和.dsp中的信息并添加了.sln和.vcproj  用vc.net打开过的vc6工程  dsw和dsp都没有改变  所以用vc.net打开过的vc6工程  虽然已经被“升级”其实dsw和dsp并没有被改动  再打开时就不用dsw而用sln了  这点做得很好  只是从vc6的工程文件中读信息  并不改  照样可以用vc6打开原来的dsw和dsp

我记忆中的《幸福时光》结局

也许记忆真是不可靠,我记忆中的结局是老赵在饭店里写信,边写边有画外音读出来,然后就结束了。可是刚才看了中央台演的版本,是老赵出了车祸,傅彪在录音机前读的信。而最后是董洁在路上走着,然后就出字幕了。上网查了一下,的确有两个结局。但是没有一个是我记忆中的那个。除了上面说的第二个结局,还有一个是老赵和董洁坐在按摩床上,老赵给董洁读信的结局。