随笔分类 -  C++

VS2008 C++ 项目怎样添加“依赖”、“库目录”和“包含目录”
摘要:1. 添加编译所需要(依赖)的 lib 文件 [解决方案资源管理器]“项目->属性->配置属性->连接器->输入->附加依赖项”里填写“winsock.lib”,多个 lib 以空格隔开。 (等同于“#pragma comment(lib, "winsock.lib") ”语句) 2. 添加库(L... 阅读全文

posted @ 2010-11-23 20:00 Livid 阅读(15858) 评论(0) 推荐(1)

链接错误 LINK : fatal error LNK1104: 无法打开文件“XX.obj”
摘要:注:转自CSDN其实你只要看一下Link命令行就知道了. 项目->属性->链接器->命令行. 在这里你会发现你前面设置的"附加依赖项"被IDE改写了. 例如你要加入一个ABC.lib的链接库,完整路径为"C:\Program Files\ABC.lib", 如果被IDE改写的话会变成"C:\Program" "Files\ABC.lib" 相应的命令行变成Link (...) "... 阅读全文

posted @ 2010-11-23 16:11 Livid 阅读(4758) 评论(0) 推荐(1)

转:回调函数
摘要:回调函数在看LWIP时,见到用回调函数,再看某老外公司OPC源代码时,见到用回调函数。看我国内某些代码(我公司软件等)时没用到。于是,我对回调函数产生了很大的好奇。以前,我写VC程序时用到过回调函数,但是没有用C语言来使用。最近,看到国外大量的经典代码中广泛使用了回调函数(LWIP、某两个公司的OPC程序等),都是C语言来实现的,而不是VC windows程序中别人实现自己使用的那种。为了弄明白这... 阅读全文

posted @ 2010-06-15 19:17 Livid 阅读(516) 评论(0) 推荐(0)

转:C++回调函数用法
摘要:一、回调函数我们经常在C++设计时通过使用回调函数可以使有些应用(如定时器事件回调处理、用回调函数记录某操作进度等)变得非常方便和符合逻辑,那么它的内在机制如何呢,怎么定义呢?它和其它函数(比如钩子函数)有何不同呢?使用回调函数实际上就是在调用某个函数(通常是API函数)时,将自己的一个函数(这个函数为回调函数)的地址作为参数传递给那个函数。而 那个函数在需要的时候,利用传递的地址调用回调函数,这... 阅读全文

posted @ 2010-06-15 19:14 Livid 阅读(438) 评论(0) 推荐(0)

转:同步/异步与阻塞/非阻塞的区别
摘要:同步/异步与阻塞/非阻塞的区别 我喜欢用自己的语言通过联系现实生活中的一些现象解释一些概念,当我能做到这一点时,说明我已经理解了这个概念.今天要解释的概念是:同步/异步与阻塞/非阻塞的区别.这两组概念常常让人迷惑,因为它们都是涉及到IO处理,同时又有着一些相类似的地方.首先来解释同步和异步的概念,这两个概念与消息的通知机制有关.举个例子,比如我去银行办理业务,可能选择排队等候,也可能取一个小纸条上... 阅读全文

posted @ 2010-06-15 15:01 Livid 阅读(305) 评论(0) 推荐(0)

转:同步、异步、阻塞和非阻塞
摘要:引自:http://blog.vckbase.com/arong/archive/2005/07/24/9970.html基本概念:同步、异步、阻塞和非阻塞在进行网络编程时,我们常常见到同步、异步、阻塞和非阻塞四种调用方式。这些方式彼此概念并不好理解。下面是我对这些术语的理解。同步所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。按照这个定义,其实绝大多数函数都是同步调用(例... 阅读全文

posted @ 2010-06-15 10:26 Livid 阅读(212) 评论(0) 推荐(0)

转:MFC中常用类,宏,函数介绍
摘要:常用类CRect:用来表示矩形的类,拥有四个成员变量:top left bottom right。分别表是左上角和右下角的坐标。可以通过以下的方法构造: CRect( int l, int t, int r, int b ); 指明四个坐标 CRect( const RECT& srcRect ); 由RECT结构构造 CRect( LPCRECT lpSrcRect ); 由RECT结构... 阅读全文

posted @ 2010-06-14 21:37 Livid 阅读(238) 评论(0) 推荐(0)

转:线程同步技术剖析
摘要:VC线程同步技术剖析作者:xuefeifei 来源:zz 发表时间:2006-12-09 摘要: 多线程同步技术是计算机软件开发的重要技术,本文对多线程的各种同步技术的原理和实现进行了初步探讨。关键词: VC++6.0; 线程同步;临界区;事件;互斥;信号量;正文 使线程同步  在程序中使用多线程时,一般很少有多个线程能在其生命期内进行完全独立的操作。更多的情况是一些线程进行某些处理操作,而其他的... 阅读全文

posted @ 2010-06-14 21:28 Livid 阅读(212) 评论(0) 推荐(0)

转:线程同步
摘要:线程同步线程的同步多线程的使用会产生一些新的问题,主要是如何保证线程的同步执行。多线程应用程序需要使用同步对象和等待函数来实现同步。12.2.1 为什么需要同步  由于同一进程的所有线程共享进程的虚拟地址空间,并且线程的中断是汇编语言级的,所以可能会发生两个线程同时访问同一个对象(包括全局变量、共享资源、API函数和MFC对象等)的情况,这有可能导致程序错误。例如,如果一个线程在未完成对某一大尺寸... 阅读全文

posted @ 2010-06-14 21:26 Livid 阅读(273) 评论(0) 推荐(0)

转:如何进行文件操作
摘要:如何进行文件操作 取得文件名 打开文件 移动文件指针 读写文件 关闭文件 取得文件名{ CString FilePathName; CFileDialog dlg(TRUE);///TRUE为OPEN对话框,FALSE为SAVE AS对话框 if(dlg.DoModal()==IDOK) FilePathName=dlg.GetPathName();} 相关信息:CFileDialog 用于取文... 阅读全文

posted @ 2010-06-14 21:21 Livid 阅读(205) 评论(0) 推荐(0)

转:UTF-8 and Unicode FAQ
摘要:UTF-8 and Unicode FAQby Markus Kuhn中国LINUX论坛翻译小组 xLoneStar[译] 2000年2月 这篇文章说明了在 POSIX 系统 (Linux,Unix) 上使用 Unicode/UTF-8 所需要的信息. 在将来不远的几年里, Unicode 已经很接近于取代 ASCII 与 Latin-1 编码的位置了. 它不仅允许你处理处理事实上存在于地球上的任... 阅读全文

posted @ 2010-06-14 21:20 Livid 阅读(229) 评论(0) 推荐(0)

转:UTF-8与GB2312之间的互换
摘要:UTF-8与GB2312之间的互换作者:吴康彬  相信一定有不少的程序开发人员时常会遇到字符编码的问题,而这个问题也是非常让人头痛的。因为这些都是潜在的错误,要找出这些错误也得要有这方面的开发经验才行。特别是在处理xml文档时 ,该问题的出现就更加的频繁了,有一次用java写服务器端程序,用vc写客户端与之交互。交互的协议都是用xml写的。结果在通讯时老是发现数据接受不正确。纳闷!于是用抓取网络数... 阅读全文

posted @ 2010-06-14 21:18 Livid 阅读(483) 评论(0) 推荐(1)

转:VC常见数据类型转换详解
摘要:VC常见数据类型转换详解我们先定义一些常见类型变量借以说明 int i = 100; long l = 2001; float f=300.2; double d=12345.119; char username[]="女侠程佩君"; char temp[200]; char *buf; CString str; _variant_t v1; _bstr_t v2; 一、其它数据类型转换为字符串 ... 阅读全文

posted @ 2010-06-14 21:08 Livid 阅读(551) 评论(0) 推荐(0)

转:STL提供了三个最基本的容器:vector,list,deque
摘要:vector和built-in数组类似,它拥有一段连续的内存空间,并且起始地址不变,因此它能非常好的支持随机存取,即[]操作符,但由于它的内存空间是连续的,所以在中间进行插入和删除会造成内存块的拷贝,另外,当该数组后的内存空间不够时,需要重新申请一块足够大的内存并进行内存的拷贝。这些都大大影响了vector的效率。 list就是数据结构中的双向链表(根据sgi stl源代码),因此它的内存空间可以... 阅读全文

posted @ 2010-06-14 21:06 Livid 阅读(1034) 评论(1) 推荐(0)

转: WaitForMultipleObjects用法探索
摘要:WaitForMultipleObjects用法探索WaitForMultipleObjects是Windows中的一个功能非常强大的函数,几乎可以等待Windows中的所有的内核对象(关于该函数的描述和例子见MSDN,).但同时该函数在用法上却需要一定的技巧.原型:DWORD WaitForMultipleObjects(DWORD nCount,const HANDLE* lpHandles,... 阅读全文

posted @ 2010-06-14 21:00 Livid 阅读(389) 评论(0) 推荐(0)

转:利用WinInet类进行TCP/IP通信内容
摘要:利用WinInet类进行TCP/IP通信内容: 摘 要:Winsock是Windows应用程序间TCP/IP通信的标准。以此为基础的Visual C++4.2以上版本提供的API—WinInet,使Internet程序开发变得快捷而方便。本文研究探讨了如何利用WinInet类实现TCP/IP通信。  关键词:Internet编程 Winsock类 TCP/IP FTP HTTP Gop... 阅读全文

posted @ 2010-06-11 22:21 Livid 阅读(619) 评论(0) 推荐(0)

转:HTTP协议基础(二)
摘要:HTTP协议基础(二)HTTP 协议定义服务器端和客户端之间文件传输的沟通方式。目前HTTP协议的版本是Http1.1。RFC 2616描述了HTTP协议的具体信息。 这个协议已经成为浏览器和Web站点之间的标准。当我上网的时候底层是如何进行交互的?当访问者点击一个超链接的时候,将会给浏览器提交一个URL地址。通过这个URL地址,浏览器便知道去链接那个网站并去取得具体的页面文件(也可能是一张图片,... 阅读全文

posted @ 2010-06-11 22:19 Livid 阅读(172) 评论(0) 推荐(0)

转: HTTP协议基础(一)
摘要:HTTP协议基础(一)HTTP (HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送WWW方式的数据,关于HTTP协议的详细内容请参考 RFC2616。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URI、协议版本、以及包含请求修饰符、客户信 息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,相应的内容包括消息... 阅读全文

posted @ 2010-06-11 22:18 Livid 阅读(215) 评论(0) 推荐(0)

LPCTSTR类型
摘要:引自:http://www.cnblogs.com/sunnyjones/archive/2009/02/24/1397538.html如何理解LPCTSTR类型?   L表示long指针 这是为了兼容Windows 3.1等16位操作系统遗留下来的,在win32中以及其他的32为操作系统中, long指针和near指针及far修饰符都是为了兼容的作用。没有实际意义。  P表示这是一个指针  C表... 阅读全文

posted @ 2010-06-09 20:45 Livid 阅读(201) 评论(0) 推荐(0)

VS2008编译的程序在某些机器上运行提示“由于应用程序配置不正确,应用程序未能启动”的问题(转)
摘要:VC9编译的程序在没有装过VC9(确切的说是.Net Framework3.5)的机器上运行时,如果提示“由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题。”这个错误,那么就说明该程序动态链接了VC9的运行时库,(如果还用到了MFC,那么可能动态链接了VC9的MFC库,同理还有ATL库),以及缺少对应的manifest文件,程序在目标机器上没有找... 阅读全文

posted @ 2010-05-31 12:01 Livid 阅读(503) 评论(0) 推荐(0)

导航