VC-开发工具
文章平均质量分 63
primer_programer
永无止境
展开
-
vc编译链接错误--LNK2001,LNK2019
-- LINK2001 学习VC++时经常会遇到链接错误LNK2001,该错误非常讨厌,因为对于编程者来说,最好改的错误莫过于编译错误,而一般说来发生连接错误时,编译都已通过。产生连接错误的原因非常多,尤其LNK2001错误,常常使人不明其所以然。如果不深入地学习和理解VC++,要想改正连接错误LNK2001非常困难。 初学者在学习VC++的过程中,遇到的LNK2001错误的错误消息主要为转载 2008-01-30 16:17:00 · 3830 阅读 · 0 评论 -
Visual C++ 编译器选项 /MD、/ML、/MT、/LD
前段时间编译一个引用自己写的静态库的程序时老是出现链接时的多个重定义的错误,而自己的代码明明没有重定义这些东西,譬如:LIBCMT.lib(_file.obj) : error LNK2005: ___initstdio already defined in libc.lib(_file.obj)LIBCMT.lib(_file.obj) : error LNK2005: ___endstdio转载 2008-01-10 08:40:00 · 6911 阅读 · 0 评论 -
VC运行库版本不同导致链接.LIB静态库时发生重复定义问题的一个案例分析和总结
BackgroundMSDN中对于在不同的配置下Link的LIB作了说明:C Runtime Library: 开关 对应的库 版本转载 2008-01-09 10:49:00 · 6705 阅读 · 4 评论 -
VC的链接错误LNK2005详解
编程中经常能遇到LNK2005错误——重复定义错误,其实LNK2005错误并不是一个很难解决的错误。弄清楚它形成的原因,就可以轻松解决它了。 造成LNK2005错误主要有以下几种情况: 1.重复定义全局变量。可能存在两种情况: A、对于一些初学编程的程序员,有时候会以为需要使用全局变量的地方就可以使用定义申明一下。其实这是错误的,全局变量是针对整个工程的。正确的应该是在 一个CPP文转载 2007-12-26 13:39:00 · 1318 阅读 · 0 评论 -
VC中调试Release版本程序
在VC6.0中调试Release版本程序 有两种方法:1, 在怀疑有错误的地方加MessageBox,在函数中显示可能导致错误的变量的值。或者插入写文件语句。输出可能导致错误的变量的值到一个记录文件。 2, 在工程中设置① 在”Project Settings”里选Setting For 为 All Configurations。②原创 2007-12-26 13:20:00 · 1498 阅读 · 0 评论 -
VS2005编译错误集锦及解决办法
error C2664 出错信息: error C2664: “CWnd::MessageBoxW”: 不能将参数1 从“const char *”转换为“LPCTSTR” 与指向的类型无关;转换要求reinterpret_cast、C 样式转换或函数样式转换 类似的字符问题,2005默认用的是unicode,所以:你可以在你建立的解决方案的工程文件的属性看到选"配置属性"的"字原创 2007-12-26 13:43:00 · 1165 阅读 · 0 评论 -
__cdecl __fastcall与 __stdcall
调用约定: __cdecl __fastcall与 __stdcall,三者都是调用约定(Calling convention),它决定以下内容:1)函数参数的压栈顺序,2)由调用者还是被调用者把参数弹出栈,3)以及产生函数修饰名的方法。 1、__stdcall调用约定:函数的参数自右向左通过栈传递,被调用的函数在返回前清理传送参数的内存栈, 2、_cdecl是C和C++程序转载 2007-12-26 13:35:00 · 947 阅读 · 0 评论 -
有关VC编译器的#pragma的用法
在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C ++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。 其格式一般为: #Pragma Para转载 2007-12-26 13:33:00 · 1518 阅读 · 0 评论 -
VC6.0工程设置介绍
打开或新建一个包 含至少一个工程的Workspace后,VC6的Project菜单中的“Settings…”命令就变为有效,选择它或者按下热键Alt+F7后,便可 调出工程设置对话框,这里面的选项将影响整个工程的建立和调试过程,因此很重要,虽然在一般情况下,其中的大多数选项都不用改变,但了解一下它们的含义能够消除我们心中存在的神秘感,并加深我们对VC工程的理解。在这个对话框 中,左上方的转载 2007-12-26 13:31:00 · 8955 阅读 · 1 评论 -
在VC6.0下设置Unicode编译环境
VC++ 6.0支持Unicode编程,但默认的是ANSI,所以开发人员只需要稍微改变一下编写代码的习惯便可以轻松编写支持UNICODE的应用程序。 使用VC++ 6.0进行Unicode编程主要做以下几项工作: 1、为工程添加UNICODE和_UNICODE预处理选项。 具体步骤:打开[工程]->[设置…]对话框,在C/C++标签对话框的“预处理程序定义”中去除_MBCS,加上转载 2007-12-26 13:29:00 · 1752 阅读 · 0 评论 -
VS2005编译的程序在没有装VS2005的机器上无法运行的解决办法
出现的错误提示为:“应用程序正常初始化(0xc0150002)失败” 总结了网上的几种方法,要注意如下几点:Debug版程序:1, 安装FrameWork2.02, 然后安装 Microsoft Visual Studio 8/SDK/v2.0/BootStrapper/Packages/vcredist_x86 下的vcredist_x86.exe原创 2007-12-26 13:19:00 · 1743 阅读 · 0 评论 -
VC文件扩展名解析
.APS:存放二进制资源的中间文件,VC把当前资源文件转换成二进制格式,并存放在APS文件中,以加快资源装载速度。.BMP:位图资源文件。.BSC:浏览信息文件,由浏览信息维护工具(BSCMAKE)从原始浏览信息文件(.SBR)中生成,BSC文件可以用来在源代码编辑窗口中进行快速定位。.C:用C语言编写的源代码文件。.CLW:ClassWizard生成的用来存放类信息的文件。转载 2007-12-26 13:10:00 · 983 阅读 · 0 评论 -
MFC的程序必须安装.Net Framework才能运行么?
以前在使用VC开发出的程序,在一个没有开发环境的机器上必须安装.Net Framework才能运行。一直没有在意,知道同事提起这个问题。 MFC和.Net Framework是两个不同的框架,为什么有这个依赖呢? 答案是:MFC和.Net Framework确实是不同的框架。MFC是微软基本类库,.NET Framework包括CLR和FCL两大部分。在开发的时候,它们之间没有关系原创 2009-03-11 17:37:00 · 4541 阅读 · 0 评论