45fan.com - 路饭网

搜索: 您的位置主页 > 电脑频道 > 电脑教程 > 阅读资讯:VC操作编译的基础问题的方法

VC操作编译的基础问题的方法

2016-09-09 09:02:16 来源:www.45fan.com 【

VC操作编译的基础问题的方法

作者:lixiaosan
时间:09/06/2006

首先,需要说明的是安装vc6后需要安装vc6的补丁sp6,到下载页 。sp6解决了以前发现的一些问题。

1. 安装任何SDK后,vc的一般设置问题。

如果该SDK有安装说明,就按照安装说明做。如果没有说明,一般来说你需要在vc的菜单Tools->Option->Directories ->下的Include和Library中包含开发库的include和library的路径,而且添加的路径最好放在其他路径前面。如果还有 dll,那么需要把需要的dll拷贝到你的程序的当前目录下。

2. 没有更改源代码,每次编译仍要编译。

可能的原因是,你改动过当前机器的系统时间,或把该工程考到其他机器上的vc编译过,而其他机器的系统时间快于你的机器时间。VC编译是根据文件的修改时间来确定哪个文件需要编译。
解决方法:把当前机器的系统时间改早一点,然后修改那几个文件,编译一次。然后再把时间改回来,再重新编译。

3. release 版本下 ON_MESSAGE(),ON_REGISTERED_MESSAGE(),ON_THREAD_MESSAGE(),ON_REGISTERED_THREAD_MESSAGE()出错

Q195032:
PRB: Incorrect Function Signatures May Cause Problems in Release

http://support.microsoft.com/kb/195032/en-us

4. #include "" 和 #include <> 区别
include ""是先从本地目录开始寻找,然后去系统路径寻找
Include <> 相反,先从系统目录查找,后从本地目录
具体详见msdn文章The #include Directive

http://msdn2.microsoft.com/en-us/library/36k2cdd4.aspx

5. 让工程支持unicode编译
这里先解释一下使用unicode的原因:如果要让你的软件支持多国语言,也就是国际化吧,比如东亚语系cjk(中日韩),由于这些国家语言的每个字符都是以宽字符(wide character即两个字节)表示的,而unicode字符集(unicode character set)是一个宽字符集,所以自然的使用unicode就顺理成章了。
下面就说一下如何在vc6中进行unicode编译
1.菜单Build-->Configurations-->Add,添加一个Unicode Debug。
2.菜单Build-->Set Active Configuration,选择Win32 Unicode Debug。
3.菜单Project-->Settings->C/C++属性页->Category中,选择Preprocessor,在Preprocessor definitions中添加 _UNICODE。
4.菜单Project-->Settings->Link属性页->Category选中,选择Output,在Entry- point symbol中写入wWinMainCRTStartup。如不执行该步骤,会出现错误"unresolved external symbol
_WinMain@16"。
5.在编码过程中的字符串处理,如使用到char的地方用TCHAR替代;用到c runtime库的地方,用前缀"_tcscpy"的对应函数替代,如strcpy用_tcscpy替代;显示字符串的地方,用_TEXT() (or _T()) 宏,如
"abc"用_T("abc")替代。
相关文章:
http://www.codeproject.com/cpp/unicode.as

6. 双击vc6的dsw文件打开多个vc6的实例的问题
有时侯,需要打开多个vc6的工程,但是十分遗憾,每次双击dsw文件,都会覆盖原来打开的工程。
这里给出解决办法:
资源管理器->工具->文件夹选项->文件类型->选择dsw->高级->编辑->勾掉“使用dde”

7.在vc中设置栈的大小
有时,分配一个比较大的数组时,会在运行时发生错误,提示Stack overflow。原因是因为在32位系统下,
堆内存可达到4G的空间,但是对于栈来说,一般空间大小有限制,在VC6下,默认的栈空间大小是1M。所以你可以用new操作符在堆上动态非配内存。
如果你需要一个大的数组,同时又不想动态分配内存,可以在vc6中修改栈的大小:
project->Settings->link->category中选择output->reserve中设定栈大小,最小4Byte
不过要注意,开较大的栈会增加内存

 

本文地址:http://www.45fan.com/dnjc/73980.html
Tags: 操作 一些 编译
编辑:路饭网
关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部