pophunter琐碎

c 数组指针申明方法
char *p;//原始类型直接
Type (*p) [];//申明
p = (Type (*) []) long;//转换

vc6在win7上有如下毛病:
1:添加文件右键菜单不起作用,在网上搜,要装个古怪的插件
2:要将vc6快捷图标设置为管理员运行,否则有些插件运行不了

有些编译不通过时,需要更新sdk:
见下文:
http://social.msdn.microsoft.com/forums/en-US/Vsexpressvc/thread/c5c3afad-f4c6-4d27-b471-0291e099a742/
下载地址:
http://www.microsoft.com/downloads/en/details.aspx?FamilyId=0BAF2B35-C656-4969-ACE8-E4C0C0716ADB&displaylang=en
安装后在tools/options/directories里面添加包含
但是我发现include里面由mfc文件夹,lib里面却没有。导致在编译时如果查找inlcude/mfc就会说找不到连接符号,所以就去掉mfc文件夹只包含include文件夹。

对于win7系统请使用最新sdk
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=6b6c21d2-2006-4afa-9702-529fa782d63b&displaylang=en
对于web安装来说是不需要选择版本的。如果需要选择,看如下:
The Windows SDK for Windows 7 and .NET Framework 3.5 SP1: Release Candidate has been released on the Microsoft Download Center in both ISO andWeb Setup format.  Web setup allows you to install a specific subset of the SDK you select without having to download the entire SDK; whereas the DVD ISO setup allows you to download the entire SDK to install later.

With this release of the SDK, there are 3 ISOs to choose from based on the CPU (x86, x64, or Itanium) platform you are installing on. Each ISO will however allow you to build applications that target all the other CPU platforms.  Thus if you install the x86 ISO (which only installs on x86 platforms), you will be able to create applications targeting x86, x64, and Itanium. [任何版本都可以编译其它平台上的软件]

Which download is right for you?

·         If your computer is X86, download  GRC1SDK_EN_DVD.iso
·         If  your computer is X64, download GRC1SDKX_EN_DVD.iso
·         If your computer is IA64, download GRC1SDKIAI_EN_DVD.iso (and send me mail.  I’d love to hear how many folks are actually developing on IA64)

--Karin
但安装后发现这个sdk不支持vc6,那我只好试试vc2010express了,安装了后又发现express版不带mfc,+_+,没法,只有安装旗舰版了。

fatal error LNK1103: debugging information corrupt;
工程 setting/gernaral/ 去掉build debug infomation复选框

vs2010生成文件确实很大,似乎不用mfc就小些。

mfc代码可以用vs2010编码,用vc6生成。但是要改配置:
使用unicode生成方式,这样好兼容。
vc6 unicode配置:
project setting/c,c++/processor definition:加入UNICODE,_UNICODE两项,去掉之前的编码项
可以使用_WIN32_WINNT=0x0500制定生成版本(未测试)

image00
在编译时可能会出现
1:cannot open file "uafxcwd.lib"
这是由于mfc+unicode编码需要uafxcwd.lib库,vc6安装时要选择自定义安装并全选所有组件。
2:LNK2001: unresolved external symbol _WinMain@16
这也是mfc+unicode需要制定入口
wWinMainCRTStartup
image01
vs2010自动生成的targetver.h里面需要包含的头文件vc6不需要
//#include <WinSDKVer.h>
//#include <SDKDDKVer.h>

VC乱码                                                 
VC 中,有时会遇到当字符串资源的属性(String table properties)设置为英文时输入的中文并不能在界面上正确显示,尽管在VC中显示正确。查看.rc文件,可以看到这些资源被放到了英文资源下。那 么如何正确显示呢?现在试着将字符串资源属性改成中文,重新build,可以发现还是不能正确显示。为什么呢?退出VC,打开rc文件,你会发现尽管这些 字符串资源放到了中文资源中,其中的中文字符都变成了乱码,再打开VC你会发现确实变成了乱码。这估计是UNICODE页面映射问题。怎么解决呢?其实很 简单,关闭VC,打开.rc文件,把没变成乱码前的那些字符串拷贝到中文资源中覆盖相应的乱码即可。
http://topic.csdn.net/t/20021212/17/1255874.html所说的方法(修改code_page)应该也可行,不过没试。
另外发现Project Settings-Resources-Language设置不起任何作用,这是比较奇怪的一件事。


Total views.

© 2013 - 2024. All rights reserved.

Powered by Hydejack v6.6.1