基于windows平台开发
nightelve
一个业余程序员
展开
-
Visual Studio 2010打开工程非常慢一直卡在prepare solution窗口
最近vs2010打开工程突然变得很慢,一直卡在prepare solution窗口。解决方案:把工程文件下面的.suo 和.sdf文件删除,重新开启工程。原创 2015-05-01 10:46:38 · 3257 阅读 · 0 评论 -
如何建立Openmp编程环境
OpenMP在Windows环境下比较容易实现,只要打开VS2008中的编译选项/openmp,设置一下环境变量OMP_NUM_THREADS就可以了。 一般是新建一个c++项目,以次选择Project -> (alt+f7)属性 -> 配置属性(configuration property) -> c/c++ -> 语言(Language),打开OpenMP支持;转载 2013-06-26 16:58:01 · 2148 阅读 · 0 评论 -
vs2005和vs2008工程转换
vs2005-vs-vs2008.zip原创 2013-06-26 21:56:29 · 678 阅读 · 0 评论 -
解决【必须使用“角色管理工具”安装或配置Microsoft .NET Framework 3.5 SP1】的方法
在Windows Server 2008下直接安装SQL Server 2008时,会出现如下错误:必须使用“角色管理工具”安装或配置Microsoft .NET Framework 3.5 SP1 解决方法如下:打开“服务器管理器” ,在“功能”选项中选择“添加功能”并在“添加功能向导”中选择“.NET Framework 3.5”复选框,添加所需的相关服转载 2013-07-09 11:30:15 · 54492 阅读 · 0 评论 -
使用GFlags检测内存越界访问
GFlags是Windows debug tools 工具包下的一个工具,在Windows 2000的Resource Kit中也可以找得到。用来设置一些调试属性,总体上分为3个级别System,Kernel和Image File。我们设置好Path环境变量,将其指向Debug tools工具的目录下。下载安装 gflags:http://www.microsoft.com/whd转载 2013-07-08 00:35:05 · 2392 阅读 · 0 评论 -
理解I/O Completion Port
欢迎阅读此篇IOCP教程。我将先给出IOCP的定义然后给出它的实现方法,最后剖析一个Echo程序来为您拨开IOCP的谜云,除去你心中对IOCP的烦恼。OK,但我不能保证你明白IOCP的一切,但我会尽我最大的努力。以下是我会在这篇文章中提到的相关技术: I/O端口 同步/异步 堵塞/非堵塞 服务端/客户端 多线程程序设计 Winsock API 2.0 在这之前,我转载 2013-05-04 03:24:32 · 765 阅读 · 0 评论 -
谈谈IOCP发送数据时的一些误区及技巧
误区一,使用 send 函数发送数据 一些人使用阻塞的 send 函数发送数据,这是绝对应该避免的,一旦某一个连接传输发生拥塞,或者突然中断而没有通知,调用 send 函数的线程将可能被阻塞很长一段时间(可能 10 秒或更长),尤其是当服务器同时处理成千上万个连接时,这种情况可能会频繁出现。 使用非阻塞的 send 也不适合,数据不一定每次都能完全发送出去,你得使用转载 2013-05-04 03:21:05 · 1186 阅读 · 0 评论 -
IOCP的一些总结
1:在IOCP中投递WSASend返回WSA_IO_PENDING的时候,表示异步投递已经成功,但是稍后发送才会完成。这其中涉及到了三个缓冲区。网卡缓冲区,TCP/IP层缓冲区,程序缓冲区。情况一:调用WSASend发送正确的时候(即立即返回,且没有错误),TCP/IP将数据从程序缓冲区中拷贝到TCP/IP层缓冲区中,然后不锁定该程序缓冲区,由上层程序自己处理。TCP/IP层缓冲区在网络合转载 2013-05-04 03:17:13 · 1249 阅读 · 0 评论 -
WSAGetLastError()部分常见返回值
10004 —WSAEINTR函数调用中断。该错误表明由于对W S A C a n c e l B l o c k i n g C a l l的调用,造成了一次调用被强行中断。10009 —WSAEBADF文件句柄错误。该错误表明提供的文件句柄无效。在Microsoft Windows CE 下,s o c k e t函数可能返回这个错误,表明共享串口处于“忙”状态。转载 2013-04-11 17:19:05 · 1334 阅读 · 0 评论 -
在Visual Studio调试器中显示Unreal的数据类型的值
原文:http://blog.csdn.net/witton/article/details/5977766 在Unreal引擎中大量使用了自定义的数据类型如:FName,FString,TArray等等,对于这些自定义的数据类型,我们无法直接查看到这些数据的值,但是我们可以编写VS中的autoexp.dat文件中的脚本,来达到我们需要在调试器中显示的方式。 由转载 2013-09-13 23:11:16 · 1666 阅读 · 0 评论 -
windows 磁盘管理:简单卷、跨区卷、带区卷、镜像卷 和 RAID-5
Windows操作系统提供了灵活的磁盘管理方式,可以通过将基本磁盘升级为动态磁盘来提高服务器性能或加强容错性。很多企业通过使用Windows Server 2003,使用系统自带磁盘管理功能做到RAID0、RAID1和RAID5等阵列,也可通过将基本磁盘升级为动态磁盘使空间分配更加灵活。一、 动态磁盘与基本磁盘相比的优越性:磁盘的使用方式可以分为两类:一类是“基本磁盘”。基本磁盘非转载 2013-10-16 22:14:01 · 16967 阅读 · 0 评论 -
VC2005 warning C4819 消除方法
一、Warning C4819:The file contains a character that can ot be represented in the current code page(936). save the file in unicode format to prevent data loss. 中文意思是:该文件包含不能在当前代码页中表示的字符,请将文件转载 2013-11-16 22:44:42 · 830 阅读 · 0 评论 -
LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt
当安装vs2010时,可能会出现链接出错:LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt这个问题是因为vs2010RTM中发布了“错误”版本的cvtres.exe。(与.net framework中的cvtres.exe版本不一致)1. 最简原创 2015-02-17 15:24:32 · 1070 阅读 · 0 评论 -
Debugging WOW64
Debugging WOW64Applications running under WOW64 can be debugged two ways:Use an x86-hosted debugger such as NTSD, WinDbg, or Visual Studio. The 32-bit NTSD is installed to %systemroot%\sys转载 2014-03-01 15:18:16 · 1088 阅读 · 0 评论 -
First-chance exception at xxx RPC 服务器不可用
RPC:Remote Procedure Call是 Windows操作系统使用的一个协议,该程序可使用这种协议向网络中的另一台计算机上的程序请求服务。当您确认完权限后,还可以检查下您的人RPC服务是否有正常启动。点击开始→设置→控制面板→管理工具→服务中,找到"remote procedure call (rpc)",双击打开,在"启动类型"里选择"自动"后,点击确定;运行→MS转载 2014-01-25 00:03:31 · 1563 阅读 · 0 评论 -
将32位C++内嵌汇编迁移到64位
现在正在做的一个项目,是关于高密度计算的,由于计算量很大,从性能考虑,除了算法的优化外,其中的的核心代码是用汇编写的,也许有人说,现在还有用汇编的吗?编译器的优化已经很好了,性能已经非常接近于汇编了,有必要用汇编实现吗?呵呵,再好编译器的优化也没有人工优化好。是的,两者的性能相差不大,可是也有10%-20%的差距啊,尤其是作为核心代码,在一个典型过程中要执行400万到1000万次,那么性能相差是相转载 2014-01-15 23:37:13 · 5015 阅读 · 0 评论 -
64-bit Wireshark appears to hit 2-Gbyte memory limit
I said (There's a 2GB file size limit in 1.4.5 because, in all Ethereal/Wiresharkreleases prior to 1.5, and in the 1.5 (trunk) until recently, the calls used toseek into the capture file used a转载 2014-01-15 23:53:30 · 1146 阅读 · 0 评论 -
Windbg命令寻找高CPU占用线程
在一个任务中使用多线程编程,程序运行一段时间后就占满了CPU,严重拖慢系统运行速度。这里所说的高CPU,意思就是一个线程占用了一个CPU的大部分运行时间,如果是单核的CPU,表现为CPU占用近100%;相应的双核的话一个线程会占到50%的CPU。我的电脑是双核四线程的CPU,所以当一个线程死循环的时候会占用掉25%的CPU时间。具体表现为:运行程序的最开始表现正常,随后会看到CPU占用上升转载 2013-11-13 00:34:54 · 1999 阅读 · 0 评论 -
Using the Windows Headers
The header files for the Windows API enable you to create 32- and 64-bit applications. They include declarations for both Unicode and ANSI versions of the API. For more information, see Unicode in t转载 2013-11-20 13:24:39 · 341 阅读 · 0 评论 -
Virtual Studio C++ Version Macro - _MSC_VER
MSVC++ 12.0 _MSC_VER == 1800 (Visual Studio 2013)MSVC++ 11.0 _MSC_VER == 1700 (Visual Studio 2012)MSVC++ 10.0 _MSC_VER == 1600 (Visual Studio 2010)MSVC++ 9.0 _MSC_VER == 1500 (Visual Studio 2008)原创 2013-11-20 12:51:32 · 2281 阅读 · 0 评论 -
在 Visual Studio 2010 (vs)中启动 MPI 群集调试程序
在此操作实例中,您将了解如何在本地计算机和 Microsoft Windows HPC Server 2008 群集上设置和启动 MPI 群集调试程序会话。此操作实例包括使用消息传递界面 (MPI) 和打开多进程 (OpenMP) 应用程序编程界面 (API) 创建应用程序所需的步骤和示例代码。本指南内容:使用 MPI 群集调试程序的要求在 Visual Studio 20转载 2012-11-30 15:51:26 · 2921 阅读 · 0 评论 -
VS2010加速优化小方法
1)(在vs2010命令提示符下,执行devenv.exe /resetuserdata)2)服务里把 Microsoft .NET Framework NGEN v4.0.30319_X86 这个改成手动停止 或 禁用就可以(禁了这个服务,开发wcf 在调试的时候会出错)3)工具-》选项-》环境,视觉的选项都去掉4)工具-》选项-》文本编辑器-》C/C++转载 2012-11-29 19:43:46 · 1411 阅读 · 0 评论 -
Sequence Value Char What it does
Sequence Value Char What it does /a 0x07 BEL Audible bell /b 0x08 BS Backspace /f 0x0C FF Formfeed /n 0x0A LF Newline (linefeed) /r 0x0D CR Carriage return /t 0x09 HT Tab (h原创 2007-08-29 12:36:00 · 607 阅读 · 0 评论 -
ASCII码 和 Unicode
目前计算机中用得最广泛的字符集及其编码,是由美国国家标准局(ANSI)制定的ASCII码(American Standard Code for Information Interchange,美国标准信息交换码),它已被国际标准化组织(ISO)定为国际标准,称为ISO 646标准。适用于所有拉丁文字字母,ASCII码有7位码和8位码两种形式。 因为1位二进制数可以表示(21=)2种状态:0、1;而原创 2007-08-29 11:02:00 · 564 阅读 · 0 评论 -
C语言中对时间和日期的处理
C语言中对时间和日期的处理Chuck AllisonChuck Allison是盐湖城圣Latter Day教堂总部下耶稣教堂家族历史研究处的软件体系设计师。他拥有数学学士和数学硕士学位。他从1975年起开始编程,从1984年起他开始从事c语言的教学和开发。他目前的兴趣是面向对象的技术及其教育。他是X3J16,ANSI C ++标准化委员会的一员。发送e-mail到allison@转载 2007-08-20 11:18:00 · 1350 阅读 · 0 评论 -
进程相关API
OpenProcess TerminateProcessEnumProcesses 枚举找到进程,用 TerminateProcess 关闭之 程序方法应该是用TerminateProcess关闭它,不过侯捷在《深入浅出MFC》中说TerminateProcess太过毒辣!原创 2007-08-16 12:35:00 · 615 阅读 · 0 评论 -
CTime 使用总结
1.初始化 m_begintime=CTime(2004,1,1,0,0,0,-1);//参数依次为year,month,day,hour,minite,second m_endtime =CTime::GetCurrentTime();//当前时间2.日期比较 CTimeSpan span;span=time1-time2;得到两时间的间隔.可以取得s转载 2007-08-09 19:59:00 · 1066 阅读 · 0 评论 -
关于SendMessage
编译:snowapex本文是对MSDN中关于SendMessage的翻译与小结。SendMessage函数功能描述:将指定的消息发送到一个或多个窗口。此函数为指定的窗口调用窗口过程,直到窗口过程处理完消息后才返回。.函数原型:LRESULT SendMessage(HWND hWnd, // 目标窗口句柄UINT Msg, // 被发送的消息WPARAM wParam, // 第一个消息参转载 2007-08-09 19:46:00 · 1906 阅读 · 0 评论 -
Win32 API消息函数:PostMessage
函数功能:该函数将一个消息放入(寄送)到与指定窗口创建的线程相联系消息队列里,不等待线程处理消息就返回。消息队列里的消息通过调用GetMessage和PeekMessage取得。 函数原型:B00L PostMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam); 参数 hWnd:其窗口程序接收消息的窗口的句柄。可取转载 2007-08-08 16:17:00 · 948 阅读 · 0 评论 -
Windows API一日一练(9)WindowProc和DefWindowProc函数
在Windows操作系统里,当窗口显示之后,它就可以接收到系统源源不断地发过来的消息,然后窗口就需要处理这些消息,因此就需要一个函数来处理这些消息。在API里定义了一个函数为回调函数,当系统需要向窗口发送消息时,就会调用窗口给出的回调函数WindowProc,如果WindowProc函数不处理这个消息,就可以把它转向DefWindowProc函数来处理,这是系统的默认消息处理函数。当你按下菜单,或转载 2007-08-08 15:19:00 · 786 阅读 · 0 评论 -
API函数大全
1. API之网络函数 WNetAddConnection 创建同一个网络资源的永久性连接 WNetAddConnection2 创建同一个网络资源的连接 WNetAddConnection3 创建同一个网络资源的连接 WNetCancelConnection 结束一个网络连接 WNetCancelConnection2 结束一个网络连接 WNetCloseEnum 结束一次枚举操作 WNetCo转载 2007-08-30 13:11:00 · 672 阅读 · 0 评论 -
从“size_t”转换到“int”,可能丢失数据
e:/projects/winme/winme/win.cpp(63) : warning C4267: “参数”: 从“size_t”转换到“int”,可能丢失数据 e:/projects/winme/winme/win.cpp(70) : warning C4267: “参数”: 从“size_t”转换到“int”,可能丢失数据 这两个是什么意思? ----------------------原创 2007-09-18 09:27:00 · 26837 阅读 · 3 评论 -
How to Check .net framework version installed
<br />Method 1: <br /><br />1.) Under HKLM/SOFTWARE/Microsoft/.NETFramework/policy/ check to see if the version you want is installed (for example, look for the v1.1 folder and 4322 for the version number转载 2011-03-07 13:42:00 · 230 阅读 · 0 评论 -
VS2010 运行速度加快方法
VS2010 运行速度加快方法前段时间为了一个项目而把VS2008换成了VS2010,结果原本就不堪重负的本本跑起VS2010来那更是慢得没话说,于是看了遍VS2010选项,又从网上到处找资料找优化方法,总算使我的VS2010跑得快了些。一、VS2010选项视觉体验设置工具->选项->环境视觉体验的勾选都去掉。不解释,你懂得。二、禁用Inte转载 2012-11-29 20:49:17 · 7955 阅读 · 0 评论 -
VS2010中的Profile(性能剖析)
VS2010中的Profile(性能剖析)功能十分实用,它可以协助程序员迅速锁定当前程序的性能瓶颈,为程序的优化做准备。点击VS2010的Analyze菜单,选择Launch Performance Wizard,依照提示可以很方便地完成Profile的必需配置。可能你会碰到"Injection of runtime library failed"错误,这时就不要使用Wizard,而要选择转载 2012-11-29 20:51:34 · 8777 阅读 · 2 评论 -
磁盘映射
映射磁盘subset z: C:\test取消映射磁盘sbuset z: /D原创 2012-11-08 08:50:10 · 577 阅读 · 0 评论 -
Win32汇编教程十三 INI 文件的操作 选择自 ghj1976 的 Blog
概述在程序中经常要用到设置或者其他少量数据的存盘,以便程序在下一次执行的时候可以使用,比如说保存本次程序执行时窗口的位置、大小、一些用户设置的数据等等,在 Dos 下编程的时候,我们一般自己产生一个文件,由自己把这些数据写到文件中,然后在下一次执行的时候再读出来使用。在 Win32 编程中当然你也可以这样干,但 Windows 已经为我们提供了两种方便的办法,那就是使用注册表或者 ini原创 2007-08-08 12:31:00 · 784 阅读 · 0 评论 -
用API函数实现文件夹列表
用API函数实现文件夹列表 在安装软件等一些操作中,需要用户指定安装路径,现在软件的安装界面都是非常友好的,一般来说给出一个缺省路径,用户如不满意可以在文件夹列表中选择其他的路径。在WIN9X下,一般不再采用原来的先在驱动器列表框中选择驱动器再在相应的驱动器中选择相应文件夹的界面,而是采用的类似资源管理器中“所有文件夹”界面:最上层是“桌面”,然后是“我的电脑”、驱动器A、C、D...等转载 2007-08-08 10:13:00 · 806 阅读 · 0 评论 -
判断文件可写性
_access, _waccessRequirementsRoutineRequired headerOptional headersCompatibility_accessWin 98, Win Me, Win NT, Win 2000, Win XP_waccess or Win NT, Win 200转载 2007-08-17 13:01:00 · 870 阅读 · 0 评论 -
Windows平台开发-四种启动其它程序的方法
有时我们的程序需要启动其它程序,可能是为了利用它已有的功能,也可能是为了达到某种需要。那么怎样来启动我们需要的程序呢?我暂时知道有4种方法:1、调用API: int system( const char *command ); 你可以传入一命令,启动某个程序。如"ping www.vczx.com", "YourExe"等等 不过这里有几点要值得注意: (1)、他不会立即转载 2007-08-08 15:55:00 · 808 阅读 · 0 评论