分类: VC使用预览模式: 普通 | 列表

Compiler version not supported by Windows DDK

#if _MSC_VER < 1300
#error Compiler version not supported by Windows DDK
#endif
上面是源代码中的信息,其实_MSC_VER是VC的版本信息

查看更多...

Tags: VC

分类:VC使用 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 243

编译后的函数导出名

VC 提供的编译器是cl.exe,即可以编C语言又可以编C++。默认情况下根据具体的扩展名来分辨,例如为.cpp的就编译成C++。

例如驱动的入口函数,按照C方式编译为_DriverEntry@8,而C++方式编译为?DriverEntry@@YGXHH@Z

而在驱动编写时需要的是C的编译方式,可以用如下方式来解决:

查看更多...

Tags: VC

分类:VC使用 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 113

error C2065: _beginthread: undeclared identifie

这个问题主要是多线程的原因,在VC中多线程的代码编译,需要对工程进行设定。
设定如下:
project->settings->c/c++:  
  Category:Code   Generation  
  Use   run-time   library:  

查看更多...

Tags: VC

分类:VC使用 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 91

(转)VC中类型的相互转化

一,VC中字符串类型的互相转换
总是觉得VC中的类型纷繁复杂,扑朔迷离。因为有了Unicode,因为C、C++类型相互转化如此不同。保存char的不止char一种,还可以用short,unsigned short,int 等来保存。单单就字符串就有N多种类型,其它类型也不止一个。再加上C++中本来就没有正式的string类型,所以,平常就会碰到很多种相同意思,但不同类型,或相同类型,不同写法的Type.

如何在他们之间相互转化,也是在学习VC中避免不了的一个问题。

查看更多...

Tags: VCCMFC类型

分类:VC使用 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 291

将DLL编译进入EXE

情形:
现有材料:一个dll 需要调用里面一个导出函数,没有.lib文件,也没有.h文件

引用内容 引用内容
方法1:
利用VC自带的两个命令行工具:一个是dumpbin.exe,另一个是lib.exe

查看更多...

Tags: VCCC++dll

分类:VC使用 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 251

unresolved external symbol __imp__InitCommonContro

将   import库     comctl32.lib   加入到project-setting-link-object/library   modules   中。

:-)

查看更多...

Tags: MFCVCunresolved

分类:VC使用 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 109

libc.lib和msvcrt.lib冲突?

LIBC.LIB Single-threaded, static link /ML

LIBCMT.LIB Multithreaded, static link /MT _MT

MSVCRT.LIB Multithreaded, dynamic link (import library for MSVCR71.DLL).

查看更多...

Tags: VCCC++msvcrtlibc

分类:VC使用 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 137

unresolved external symbol _SQLConfigDataSource@16

VC中处理 ODBC数据源 的程序中,一般都会遇到 SQLConfigDataSource 这个函数

但是一编译就出现这个错误~

解决如下:

查看更多...

Tags: VCCC++数据库ODBC

分类:VC使用 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 222

exe dll 瘦身大法,减少大小

项目需要,代码尽可能小

找了前人的经验,总的两大方式:
1、程序的main函数是由CRT类库进行引导的。在我们现在的设定当中,由于采取的是系统缺省的编译连接方式(缺省为编译为Single Thread,StaticLibrary),所以,在我们的执行文件当中,包含了CRT的二进制代码。
修改编译选项:C/C++ => Category:Code Generation => Use run-time library:MutiThreaded Dll

查看更多...

Tags: VCC压缩exedll

分类:VC使用 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 357

fatal error LNK1103: debugging information corrupt

这个错误产生的原因是:
2003年2月的SDK是支持VC6的最后一版,在此之后的就都是使用VC7/VC8来开发的了。
随着VC7/VC8中新的debug信息格式和一些安全检查机制的导入,在VC6上使用这些库的Debug版本的时候
就会产生如题的链接错误。具体而言,你可能在VC6上使用了XP SP2,Windows 2003或者Windows 2003 R2
版本的SDK。

查看更多...

Tags: VCCC++

分类:VC使用 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 256

预编译头文件

引用内容 引用内容
一、作用:
   VC++程序一般包含的头文件都比较复杂,如果每次都逐行分析可能会花很多时间,所以VC++默认设置是第一次编译时分析所有头文件,生成.pch文件,这个文件很大,但以后每次编译时就可以节省很多时间。

引用内容 引用内容
二、应用:
   如果工程很大,头文件很多,而有几个头文件又是经常要用的,那么可以把这些头文件全部写到一个头文件里面去。
   对于MFC一般写到 “stdafx.h” ,于是对于 “stdafx.cpp” project setting --> C/C++ --> Precomplied Headers 里面设置creat precompiled headers,对于其他 .cpp文件,设置use precompiled header file。

查看更多...

Tags: VCMFC预编译

分类:VC使用 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 196

multiple .rdata sections found

连接程序找到了有不同(.rdata节)属性的.rdata节。

原先是:vc6的lib文件路径在winddk里的lib目录后
解决:调换顺序,就可以了
原因:还真不知道,希望有人能帮助解决。主要不了解VC生成PE的方式

Tags: VCC

分类:VC使用 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 294

OnTimer(),setTimer(),killtimer()

看了regmon的用户层代码,还是MFC,虽然小补了一下,但是看到还是头大的很,哎呀

1、SetTimer
SetTimer表示的是定义个定时器。根据定义指定的窗口,在指定的窗口(CWnd)中实现OnTimer事件,这样,就可以相应事件了。

查看更多...

Tags: VCCMFC

分类:VC使用 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 315

reference to a zero-sized array is illegal

编写IP多播程序时,要用到ip_mrep结构,在编译时会遇到如下的错误:
程序代码 程序代码
\include\wspiapi.h : error C2265: '<Unknown>' : reference to a zero-sized array is illegal.


这种错误是由于wspiapi.h头文件里缺少#define _WSPIAPI_COUNTOF语句造成的.

查看更多...

Tags: VC

分类:VC使用 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 469