C++
weiling_shen
希望和大家一起努力进步
展开
-
already defined in *.obj“符号已定义”问题原理及解决方案
<br />VC6如果想在stdafx.h中定义全局变量,由于该头文件会被include多次,所以,经常会出现以下经典的错误:already defined in StdAfx.obj。<br />解决方法:把该变量的定义int g_flag放到stdafx.cpp中,然后在使用的地方extern一下。假如你在CAADlg.cpp中使用了该变量g_flag,那么就在CAADlg.cpp的首部,构造函数的定义之外,添加上 extern int g_flag;<br />许多Visual C++的使用者都碰到过转载 2010-12-10 16:17:00 · 982 阅读 · 0 评论 -
socket编程-- 基于TCP协议的网络程序
下图是基于TCP协议的客户端/服务器程序的一般流程:TCP协议通讯流程服务器调用socket()、bind()、listen()完成初始化后,调用accept()阻塞等待,处于监听端口的状态,客户端调用socket()初始化后,调用connect()发出SYN段并阻塞等待服务器应答,服务器应答一转载 2015-11-10 17:02:55 · 1039 阅读 · 0 评论 -
Eclipse插件的安装方法
1、在eclipse的主目录(ECLIPSE_HOME, 比如在我的机器上安装的目录是:D:\eclipse)有一个plugins的目录,这种方法的插件安装非常简单,只要将插件copy到这个目录下就可以 了。比如我有一个weblogic的插件(bea站点上可以下载),解压缩之后得到得到一个目录: 【com.bea.eclipse.weblogic_1.1.1】,我就将这个目录直接放到%ECLI转载 2015-05-19 11:14:25 · 357 阅读 · 0 评论 -
Libcurl 简明使用指南
Libcurl为一个免费开源的,客户端url传输库,支持FTP,FTPS,TFTP,HTTP,HTTPS,GOPHER,TELNET,DICT,FILE和LDAP,跨平台,支持Windows,Unix,Linux等,线程安全,支持Ipv6。并且易于使用。http://curl.haxx.se/libcurl/ 从http://curl.haxx.se/libcurl/下载一个稳定的转载 2012-05-31 16:44:42 · 803 阅读 · 0 评论 -
va_start va_end 的使用和原理
1:当无法列出传递函数的所有实参的类型和数目时,可用省略号指定参数表voidfoo(...);void foo(parm_list,...);2:函数参数的传递原理函数参数是以数据结构:栈的形式存取,从右至左入栈.eg:先介绍一下可变参数表的调用形式以及原理:转载 2011-08-18 00:38:34 · 602 阅读 · 0 评论 -
C++中L和_T()之区别
字符串前面加L表示该字符串是Unicode字符串。_T是一个宏,如果项目使用了Unicode字符集(定义了UNICODE宏),则自动在字符串前面加上L,否则字符串不变。因此,VisualC++里边定义字符串的时候,用_T来保证兼容性。VC支持ascii和unicode两种字符转载 2011-08-17 15:30:34 · 766 阅读 · 0 评论 -
动态链接库(Dynamic Link Library)学习笔记
作者:EricYou 转载请注明出处 注:本文所写的动态链接库指传统的DLL,并非是.NET中的Assembly. 我对动态链接和动态链接库的概念并不陌,但一直以来就停留在概念的层面上,没有更深入的了解。今天抽空看了一下有关动态转载 2011-09-10 21:57:11 · 1105 阅读 · 0 评论 -
C++ 虚函数表解析
<br />C++ 虚函数表解析<br /> <br />陈皓<br />http://blog.csdn.net/haoel<br /> <br /> <br />前言<br /> <br />C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做转载 2011-04-13 17:04:00 · 365 阅读 · 0 评论 -
C++箴言:理解typename的两个含义
<br />问题:在下面的 template declarations(模板声明)中 class 和 typename 有什么不同? <br />template<class T> class Widget; // uses "class"<br />template<typename T> class Widget; // uses "typename"<br /><br /> 答案:没什么不同。在声明一个 template type parameter(模板类型参数)的时候,class 和 typen转载 2011-04-03 23:29:00 · 348 阅读 · 0 评论 -
VC6与Microsoft Office Visio冲突解决方法
<br />研发任务正紧,老朋友VC6突然罢工,难道是与刚安装不久的Microsoft Visual Studio 2008冲突?重新安装了VC6,可每次按Ctrl+O打开外部文件的时候,依然弹出如下的错误提示,查看详细信息,发现是DEVSHL.DLL出了问题。没有办法,只能采用拖曳的方法打开文件。自诩键盘狂人的我,实在无法忍受让鼠标成为快速编码的瓶颈。<br /> 在网上搜索了一下,原来错误原因竟然是VC6与Visio这对好兄弟暗中不睦,按照网上提供的思路,从http://support.micro转载 2011-03-28 11:18:00 · 1789 阅读 · 0 评论 -
(转) Rose与PowerDesigner:两款建模工具对比分析比较
<br />一、 二者的出身 <br /><br /> 作为世界最著名的两大CASE工具,Rational Rose和PowerDesigner的名声可谓如雷贯耳。Rose是当时全球最大的CASE工具提供商Rational的拳头产品,UML建模语言就是由Rational公司的三位巨头Booch、Rumbaugh和Jacobson发明的,后来Rational被IBM收购,所以Rose 可谓出身名门,嫁入豪族。而PowerDesigner也有一段好玩的历史,作者王晓昀是一位中国人,在法国SDP软件公司工转载 2011-02-15 16:22:00 · 720 阅读 · 0 评论 -
Active UNIX domain Sockets--------由netstat想到的
UNIX Domain Socket IPCsocket API原本是为网络通讯设计的,但后来在socket的框架上发展出一种IPC机制,就是UNIX Domain Socket。虽然网络socket也可用于同一台主机的进程间通讯(通过loopback地址127.0.0.1),但是UNIX Domain Socket用于IPC更有效率:不需要经过网络协议栈,不需要打包拆包、计算校验和、维护转载 2015-11-11 09:03:52 · 376 阅读 · 0 评论