
编程
zhangatm
这个作者很懒,什么都没留下…
展开
-
Debug和Release区别
VC下Debug和Release区别最近写代码过程中,发现 Debug 下运行正常,Release 下就会出现问题,百思不得其解,而Release下又无法进行调试,于是只能采用printf方式逐步定位到问题所在处,才发现原来是给定的一个数组未初始化,导致后面处理异常。网上查找了些资料,在这罗列汇总下,做为备忘~ 一、Debug 和 Release 的区别 Debug 通原创 2017-09-11 17:58:59 · 231 阅读 · 0 评论 -
网关(转载)
感觉这样来形容网关,挺合适的,所以拿来与大家分享一下..... 计算机主机网关的作用是什么? 假设你的名字叫小不点,你住在一个大院子里,你的邻居有很多小伙伴,在门口传达室还有个看大门的李大爷,李大爷就是你的网关。当你想跟院子里的某个小伙伴玩,只要你在院子里大喊一声他的名字,他听到了就会回应你,并且跑出来跟你玩。 但是你不被允许走出大门,你想与外界发生的一切联系,都必须由门口的李原创 2017-09-11 17:59:02 · 241 阅读 · 0 评论 -
Windows Socket API 使用小结(转载…
一、WSAStartup函数 int WSAStartup( WORD wVersionRequested, LPWSADATA lpWSAData ); 使用Socket的程序在使用Socket之前必须调用WSAStartup函数。该函数的第一个参数指明程序请求使用的Socket版本,其中高位字节指明副版本、低位字节指明主版本;操作系统利用第二原创 2017-09-11 17:59:05 · 221 阅读 · 0 评论 -
网络编程基础名词
Socket每一个Socket都可以描述为:(协议,本地地址,本地端口)。一个完整的socket有一个本地唯一的socket号,由操作系统分配。socket是面向C/S模型设计的,针对客户和服务器提供不同的socket系统调用。客户随机申请一个socket,系统为之分配一个socket号;服务器拥有全局公认的socket,任何客户都可以向它发出连接请求和信息请求。(相当于一个想打电话的人可原创 2017-09-11 17:59:08 · 623 阅读 · 0 评论 -
WinSocket模型浅谈(转载)
SOCKET有两种模式——阻塞和非阻塞。如果使用了阻塞,在某个时间点如果出现了网络问题,一边调用recv接收不到数据的时候,那就会导致程序挂在那里!对于这个问题有两种解决的方法:一是保证使用的环境永远不会出现这种情况,二是使用多线程(就算出现了阻塞的情况也就是线程挂了,主线程还是生龙活虎的)。如果使用非阻塞的SOCKET,我们需要不断的去轮询看recv/send函数是否成功,如果不成功,我原创 2017-09-11 17:59:11 · 313 阅读 · 0 评论 -
程序员怎样学数学
原作者: SteveYegge 译者: puto自从我读了Johnnyvon Neumann的传记,我已经为弥补我糟糕的数学技能花了15个月了.读了大量的数学书籍,不过呢,似乎我还有更多没有读.当然我会接着做的.现在我就来告诉你这些.这并不包括传统的智慧首先:程序员不认为他们需要了解数学.我常常听到这样的话;我不知道还有会不同意这个的.甚至于以前是主修数学的程序员原创 2017-09-11 17:59:14 · 563 阅读 · 0 评论 -
socket基本使用方法(转载)
一、客户机/服务器模式 在TCP/IP网络中两个进程间的相互作用的主机模式是客户机/服务器模式(Client/Servermodel)。该模式的建立基于以下两点:1、非对等作用;2、通信完全是异步的。客户机/服务器模式在操作过程中采取的是主动请示方式:首先服务器方要先启动,并根据请示提供应服务:(过程如下) 1、打开一通信通道并告知本地主机,它愿意在某一个公认地址上接原创 2017-09-11 17:59:16 · 7350 阅读 · 0 评论 -
WinSocket模型
上面这些模型区别主要是一下几个方面 如何监控socket的变化 如何通知socket的变化 1.select : 应用场合:主要面向的是某些使用U n i x操作系统的计算机,它们采用的是B e r k e l e y套接字方案。s e l e ct模型已集成到Winsock1.1中,它使那些想避免在套接字调用过程中被无辜“锁定”的应用程序,采取一种有序的方式,同时进原创 2017-09-11 17:59:19 · 238 阅读 · 0 评论 -
简单的Socket示例
命令行参数:Server.exePortNumber,例如Server 8000Client.exe IPAddress PortNumber,例如Client 127.0.0.1 8000然后在客户端的命令行输入字符串并回车,客户端将会把消息发送到服务器。服务器再把消息传回客户端。服务器端,Server.cpp:#include #include #include原创 2017-09-11 17:59:22 · 198 阅读 · 0 评论 -
双线程卖火车票
在无锡学过的代码,如今再拿起来看。VS2005 SP1下编译运行无压力。//2个线程模拟卖火车票的小程序#include #include using namespace std;DWORD WINAPI Fun1Proc(LPVOID lpParameter);//thread dataDWORD WINAPI Fun2Proc(LPVOID lpParameter);/原创 2017-09-11 17:59:25 · 295 阅读 · 0 评论 -
实句柄和伪句柄
Window中为什么会有句柄的概念:从VisualC++的头文件来看,HANDLE被typedef为void的指针,那是指向未确定数据结构的指针:typedef void*HANDLE; 但是这并不说明任何问题,因为句柄远远不只是指向任意数据类型的指针。它是指向数据对象指针的指针。句柄的使用来源于早期的Windows,当时它只能在有限内存的机器中允许(因为当时内存昂贵也存储小)。为了留出足原创 2017-09-11 17:59:28 · 299 阅读 · 0 评论 -
《Windows核心编程》1-8章浅读笔记
第一部分程序员必读第一章 对程序错误的处理当一个Windows函数检测到一个错误时,它会使用一个称为线程本地存储器的机制,将相应的错误代码号码与调用的线程关联起来。当函数返回时,它的返回值就能指明一个错误已经发生。若要确定这是个什么错误,使用GetLastError函数。使用VOID SetLastError(DWORD dwErrCode ); 函数传递自己认为合适的任原创 2017-09-11 17:59:31 · 268 阅读 · 0 评论 -
函数指针和函数引用(转载)
① 函数指针的例子#include void print(int i){ std::cout<< i <<std::endl;} void multiply(int& nDest, int nBy){ nDest *=nBy;} void print_something(){ std::cout<< "something"} int s原创 2017-09-11 17:59:34 · 368 阅读 · 0 评论 -
同步与异步
同步所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。按照这个定义,其实绝大多数函数都是同步调用(例如sin,isdigit等)。但是一般而言,我们在说同步、异步的时候,特指那些需要其他部件协作或者需要一定时间完成的任务。最常见的例子就是SendMessage。该函数发送一个消息给某个窗口,在对方处理完消息之前,这个函数不返回。当对方处理完毕以后,该函数才把消息处理函数原创 2017-09-11 17:59:36 · 224 阅读 · 0 评论 -
本地IP路由表route命令
Route在本地 IP路由表中显示和修改条目。使用不带参数的 route 可以显示帮助。语法route [-f] [-p] [Command [Destination] [mask Netmask] [Gateway] [metric Metric]] [if Interface]]参数-f清除所有不是主路由(网掩码为 255.255.255.255 的路由)、环回网络路由(目原创 2017-09-11 17:59:39 · 9320 阅读 · 0 评论 -
DLL的Hello world
HelloWorld示例 DLL 和应用程序XXXXXXXX 在Microsoft VisualC++ 6.0中,可以通过选择“Win32 动态链接库”项目类型或“MFC应用程序向导 (dll)”来创建 DLL。下面的代码是一个在 Visual C++ 中通过使用“Win32 动态链接库”项目类型创建的DLL 的示例。 /////////////////////////////////原创 2017-09-11 17:59:42 · 1326 阅读 · 0 评论 -
同步 异步 阻塞 非阻塞 (转载)
同步:函数没有执行完不返回,线程被挂起阻塞:没有收完数据函数不返回,线程也被挂起异步:函数立即返回,通过事件或是信号通知调用者非阻塞:函数立即返回,通过select通知调用者--------------------------------------------------------------------------------------------------同步原创 2017-09-11 17:59:45 · 167 阅读 · 0 评论 -
SELECT模型
WinSock提供的I/O模型一共有五种:select,WSAAsyncSelect,WSAEventSelect,Overlapped,Completion。select模型(选择模型)先看一下下面的这句代码:int iResult=recv(s,buffer,1024);这是用来接收数据的,在默认的阻塞模式下的套接字里,recv会阻塞在那里,直到套接字连接上有数据可读,把数据原创 2017-09-11 17:59:48 · 220 阅读 · 0 评论 -
网络字节序与主机字节序
不同的CPU有不同的字节序类型 这些字节序是指整数在内存中保存的顺序这个叫做主机序 最常见的有两种1. Little endian:将低序字节存储在起始地址2. Big endian:将高序字节存储在起始地址LE little-endian 最符合人的思维的字节序 地址低位存储值的低位 地址高位存储值的高位 怎么讲是最符合人的思维的字节序,是因为从人的第一观感来说 低位值小,原创 2017-09-11 17:59:50 · 188 阅读 · 0 评论 -
服务器端编程部分概念理解(转载)
这篇文章对于高手跳过,内容比较初级。有几个概念在服务器端编程时我会经常混淆,估计有些朋友也和我一样。它们是请求(对应响应),连接,线程。这篇短文主要是对这几个概念作了一定的解释,当你理清这些概念以后,就不会习惯性的认为一个请求必须由一个线程处理了,它们之间并没有这种必然的联系。 请求Request 我们经常提到的Request实际上是指客户端发过来的用于对某些资源的访问申请或将一些客户端的原创 2017-09-11 17:59:53 · 274 阅读 · 0 评论 -
CreateIoCompletionPort和完成端口
摘自《Networking Programming for Microsoft Windows》第八章“完成端口”模型是迄今为止最为复杂的一种I/O模型。然而,假若一个应用程序同时需要管理为数众多的套接字,那么采用这种模型,往往可以达到最佳的系统性能!从本质上说,完成端口模型要求我们创建一个Win32完成端口对象,通过指定数量的线程,对重叠I/O请求进行管理,以便为已经完成的重叠I/O原创 2017-09-11 17:59:56 · 310 阅读 · 0 评论 -
直接通过ADO操作Access数据库(转载…
让我们看看ADO数据库访问技术使用的基本步骤及方法: 首先,要用#import语句来引用支持ADO的组件类型库(*.tlb),其中类型库可以作为可执行程序(DLL、EXE等)的一部分被定位在其自身程序中的附属资源里,如:被定位在msado15.dll的附属资源中,只需要直接用#import引用它既可。可以直接在Stdafx.h文件中加入下面语句来实现:#import "c:\progr原创 2017-09-11 17:59:59 · 484 阅读 · 0 评论 -
用C++访问SQL Server 2000
#import "c:\Program Files\Common Files\System\ADO\msado15.dll"\ no_namespace rename("EOF","EndOfFile") #include <iostream> #include <iomanip> //for setw() using namespace std; class STU { pu原创 2017-09-11 18:00:01 · 287 阅读 · 0 评论 -
Does Windows have a limit of 200…
Often I see people asking why they can't create more thanaround 2000 threads in a process. The reason is not that there isany particular limit inherent in Windows. Rather, the programmerfailed to t原创 2017-09-11 18:00:04 · 391 阅读 · 0 评论 -
几个数据库基础名词解释
DBMS : 数据库管理系统数据库管理系统(database managementsystem)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称dbms。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过dbms访问数据库中的数据,数据库管理员也通过dbms进行数据库的维护工作。它可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。原创 2017-09-11 18:00:07 · 589 阅读 · 0 评论 -
_RecordsetPtr使用方法
_variant_t vUsername,vID,vname; //变量声明_RecordsetPtr m_pRecordset; //记录集CString strid;_ConnectionPtr connection;m_pRecordset.CreateInstance(__原创 2017-09-11 18:00:10 · 1670 阅读 · 0 评论 -
讲解SQL Server定时作业job的设置…
来源:赛迪网 如果在SQL Server里需要定时或者每隔一段时间执行某个存储过程或3200字符以内的SQL语句时,可以用管理->SQLServer代理->作业来实现。 1、管理->SQLServer代理->作业(按鼠标右键)->新建作业-> 2、新建作业属性(常规)->名称[自定义本次作业的名称]->启用的方框内是勾号-> 分类处可选择也可用默认原创 2017-09-11 18:00:13 · 692 阅读 · 0 评论 -
SQL Server触发器创建、删除、修改…
一﹕触发器是一种特殊的存储过程﹐它不能被显式地调用﹐而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活。所以触发器可以用来实现对表实施复杂的完整性约`束。 二﹕ SQLServer为每个触发器都创建了两个专用表﹕Inserted表和Deleted表。这两个表由系统来维护﹐它们存在于内存中而不是在数据库中。这两个表的结构总是与被该触发器作用的表的结构相同。触发器执行原创 2017-09-11 18:00:16 · 567 阅读 · 0 评论 -
UML设计的九种图例(转)
对UML不是很了解,简单得了解一下UML设计中有的图例及基本作用。首先对UML中的各个图的功用做一个简单介绍: 1、用例图 说明的是谁要使用系统,以及他们使用该系统可以做些什么。一个用例图包含了多个模型元素,如系统、参与者和用例,并且显示了这些元素之间的各种关系,如泛化、关联和依赖。 2、类图 能够让我们在正确编写代码以前对系统有一个全面的认识。类图原创 2017-09-11 18:00:18 · 358 阅读 · 0 评论 -
C++ 运算符优先级列表
PrecedenceOperatorDescriptionExampleAssociativity1()[]->.::++--GroupingoperatorArray accessMember access from a pointerMember access from an objectScoping operatorPost-incrementP原创 2017-09-11 18:00:21 · 226 阅读 · 0 评论 -
数据库名词解释
◆DB:数据库(Database),DB是统一管理的相关数据的集合。DB能为各种用户共享,具有最小冗余度,数据间联系密切,而又有较高的数据独立性。 ◆ DBMS:数据库管理系统(Database ManagementSystem),DBMS是位于用户与操作系统之间的一层数据管理软件,为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。DBMS总是基于某种数据模型原创 2017-09-11 18:00:24 · 3653 阅读 · 0 评论 -
【VS2005】“由于应用程序的配置不…
转自:http://www.cnblogs.com/lne818/archive/2008/11/07/1328845.html今天在准备发布用VS2005写的那个程序时,拷贝到我同事机器上,双击突然出现了“由于应用程序的配置不正确,应用程序未能启动,重新安装应用程序可能会纠正这个问题“,这个问题很让我意外,以前只出现过缺少DLL的情况,而这次出现这个问题,让我一时没办法。想想,无非是两个原创 2017-09-11 18:00:27 · 204 阅读 · 0 评论 -
HTTP POST GET 本质区别详解(转自C…
原帖地址:http://blog.youkuaiyun.com/gideal_wang/article/details/4316691一 原理区别 一般在浏览器中输入网址访问资源都是通过GET方式;在FORM提交中,可以通过Method指定提交方式为GET或者POST,默认为GET提交Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETEUR原创 2017-09-11 18:00:30 · 472 阅读 · 0 评论 -
C++模板元编程
C++模板元编程作者:荣耀原文出处:http://www.royaloo.com/articles/articles_2003/Metaprogramming.htm摘要本文描述了模板元编程技术的起源、概念和机制,并介绍了模板元编程技术在Blitz++和Loki程序库中的应用。 关键字编译期计算 模板元编程 Blitz++ Loki原创 2017-09-11 18:00:32 · 357 阅读 · 0 评论 -
设计模式
1、ABSTRACTFACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:原创 2017-09-11 18:00:35 · 173 阅读 · 0 评论 -
Windows错误代码全表
代码 错误信息解释 0 操作成功完成。 1 函数不正确。 2 系统找不到指定的文件。 3 系统找不到指定的路径。 4 系统无法打开文件。 5 拒绝访问。 6 句柄无效。 7 存储控制块被损坏。 8 存储空间不足,无法处理此命令。 9 存储控制块地址无效。 10 环境不正确。 11 试图加载格式不正确的程序。 12 访问码无效。 13 数据无效。 14 存储空间不足,无原创 2017-09-11 18:00:38 · 9757 阅读 · 0 评论 -
IO模型
网络程序入门后的第一件是就是学会选择合适的io模型,这对于一个网络程序来说非常重要,特别是性能。当前Windows支持的各种SocketI/O模型如下: select模型 WSAAsyncSelect模型 WSAEventSelect模型 Overlapped I/O 事件通知模型 Overlapped I/O 完成例程模型 IOCP模型 (这里原创 2017-09-11 18:00:41 · 199 阅读 · 0 评论 -
完成端口(IOCP – I/O Compl…
原文地址:http://hi.baidu.com/icelphi/blog/item/48cdaef4dfb09ff17609d7c8.html对于开发一个不考虑跨平台,只在 Windows Server 环境下运行的高性能服务器来说,IOCP无疑是一个最优的解决方案。最近一个项目要用到 IOCP,特地找了些资料。网上的资料很多,但很多都是以基础性的介绍为主,代码也是些经典书籍上的标准代码原创 2017-09-11 18:00:44 · 375 阅读 · 0 评论 -
MFC表格控件的简单使用(转)
一、VS2008建立基于对话框的MFC程序,添加List控件,添加控件变量m_List,CListCtrl型二、设置格式 view plainm_List.ModifyStyle( 0, LVS_REPORT ); // 报表模式 m_List.SetExtendedStyle(m_List.GetExtendedStyle() |原创 2017-09-11 18:00:47 · 6639 阅读 · 0 评论 -
字符串各种转换
《C++标准函数库》中说的 有三个函数可以将字符串的内容转换为字符数组和C—string 1.data(),返回没有”\0“的字符串数组 2,c_str(),返回有”\0“的字符串数组 3,copy() .................................................................int 转 CString:CString原创 2017-09-11 18:00:50 · 295 阅读 · 0 评论