
VC++
ljg888
这个作者很懒,什么都没留下…
展开
-
C++和C#编写调用COM组件
<br />摘要:现在COM组件的使用越来越广泛,在各个程序中调用COM组件我想大家都遇到过,这篇文章就是关于COM组件的编写和调用的,主要包含了使用VC6.0编写和调用COM组件,VS2005中使用C#编写和调用COM组件,以及在VC6.0和VS2005之间互相调用COM组件。<br /><br />关键字:VC6.0编写调用COM VS2005中C#编写和调用COM VC6.0和VS2005之间互相调用COM<br /><br />正文:<br /><br />前一阵在工作中做项目的时候,遇到了COM组转载 2011-05-24 19:31:00 · 1055 阅读 · 0 评论 -
标准C语言<string.h>中的strlen() 与 VC++ 6.0 中的strlen()
标准C语言中的中的strlen()返回值为unsigned int型: size_t strlen(chonst char* p);//p 的长度不计结束符。typedef unsigned int size_t; 也就是说size_t 就是unsigned int 类型。 而VC++6.0 中的strlen()返回值为int型: 用VC++ 6.0 编程时,如果加了#原创 2012-09-30 14:22:14 · 4248 阅读 · 0 评论 -
判断C语言中int 与 unsigned 乘法是否会溢出
在C语言中,int 与 unsigned 乘法被定义为产生w(w为机器字长)位的值。如果乘积超过w位,所产生乘积的高位将被舍弃。 下面这段代码用来判断整数乘法会不会溢出: /*练习题2.36*/ /*开发环境VC++ 6.0*/ #include void main(){ unsigned x = 4294967295; unsigned y = 8; unsigned mul原创 2012-10-02 10:09:12 · 6588 阅读 · 0 评论 -
判断两个整数相加会不会溢出
实际上,大多数电脑中,整数都是用补码来表示的。发生溢出不会报警,只是将最高位直接截断。 /*习题2.30 C语言 开发环境VC++6.0*/ #include int taddOK(int, int); void main(){ int x, y; printf("Input two integers:\n"); scanf("%d %d",&x, &y); pri原创 2012-10-01 15:22:55 · 4430 阅读 · 3 评论 -
C语言中除以2的幂
在大多数机器上,除法要比乘法(乘法需要10个或更多时钟周期)更慢,需要30个或更多的时钟周期。除以2的幂可以用移位运算来实现,只需要一个时钟周期。 无符号和补码数分别使用逻辑移位和算术移位来达到目的。 整数除法总是舍入到零。对于使用算术右移的补码机器,C表达式:x / y = ( x > k。(其中,y = 2k ) 下面是x/16的C语言实现: /* 习题2.42 开发环境VC++6原创 2012-10-02 22:11:49 · 3458 阅读 · 0 评论 -
判断两个整数相减会不会溢出
需要注意的是一个特殊情况:当减数是机器所能表示的最小负数时。 /*练习题2.32 开发环境VC++6.0*/ #include int taddOK(int, int); int tsubOK_Buggy(int x,int y); int tsubOK(int x,int y); void main(){ int x = 0; int y = -2147483648;//-原创 2012-10-01 16:22:42 · 4762 阅读 · 1 评论 -
C语言运算符优先级 详细列表
文章作者:姜南(Slyar) 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。 恩,问这个问题的人太多了,懒得继续回答,直接贴上来自己看。。。 优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式]转载 2012-11-02 21:13:42 · 748 阅读 · 0 评论 -
C++ TCP Client
C++ TCP Client 2008年11月7日 邵盛松 #include #include #pragma comment(lib,"ws2_32.lib") using namespace std; int main() { WSADATA wsaData; if( WSAStartup(MAKEWORD(2,2) , &wsaData )!=0)//0表示初始化转载 2013-04-14 10:36:30 · 1338 阅读 · 0 评论 -
C++ TCP Server
C++ TCP Server 用C++写网络程序需要winsock2.h这个头文件,还有添加一个ws2_32.lib的lib库. VC++2005添加Lib库的方法 1 项目- Server属性- 配置属性- 连接器- 附加依赖项 2 #pragma comment(lib,"ws2_32.lib") 3 查找ws2_32.lib文件项目- 添加现有项,将ws2_32.lib作为文转载 2013-04-14 10:35:26 · 1111 阅读 · 0 评论 -
mysql 连接数较大时提示连接不成功 修改mysql最大连接数
我的程序是100个线程,每个线程向MySql插入2条数据,运行过程中大概运行到第60号线程时提示连接失败,等程序运行完毕,查看MySql数据表,发现插入了98条数据。 解决办法: 在MySql安装目录中找到my.ini,将其中的max_connections=100改为max_connections=10000 按理说,100线程应该是够用的,后来发现自己的代码有问题,每次插入数据后原创 2013-07-19 11:04:34 · 1976 阅读 · 0 评论 -
C语言中的无符号数与有符号数混合运算时隐含转换问题
//开发平台VC++6.0 #include #include int strLonger(char*,char*); void main(){ char *s = "d"; char *t = "Id"; printf("%d\n",strLonger(s,t)); } int strLonger(char *s, char *t){ return strlen(s) - str原创 2012-09-30 14:46:25 · 1876 阅读 · 0 评论 -
C语言中无符号数运算判断溢出
对于无符号加法运算,当执行C程序时,不会将溢出作为错误而发信号。例如要计算s = x + y;如果溢出则会得到结果s = (x + y) %2w或者s = x + y - 2w(w 是机器中无符号的最大二进制位数)。又因为x w且y w,所以可以用if(s原创 2012-10-01 10:16:43 · 8654 阅读 · 0 评论 -
corba 的c++实现(vs2005)
配置corba和vs2005结合的环境一、下载OmniORBhttp://sourceforge.net/projects/omniorb/files/VS2005下载omniORB-4.1.4-x86_win32-vs8.zip,VS2008下载omniORB-4.1.4-x86_win32-vs9.zip下载后解压到任意目录即可,本人解压后为D:/DevAssist/omniORB-4.1.4二、配置环境变量计算机右键单击属性->高级环境系统设置->系统环境变量Path后面加上 omniORB路径/bi转载 2011-05-31 15:47:00 · 5195 阅读 · 0 评论 -
CORBA OmniORB 使用NameService时抛异常
在使用NameService时抛异常。即在执行myserver.cpp中的 //Get a reference to the Naming Service root_context CORBA::Object_var rootContextObj = orb->resolve_initial_references("NameService"); //Narrow t原创 2011-06-03 11:02:00 · 1777 阅读 · 0 评论 -
VS2005 C++ OmniORB 使用NameService方式 实现CORBA
配置corba和vs2005结合的环境一、下载OmniORBhttp://sourceforge.net/projects/omniorb/files/VS2005下载omniORB-4.1.4-x86_win32-vs8.zip,VS2008下载omniORB-4.1.4-x86_win32-vs9.zip下载后解压到任意目录即可,本人解压后为E:/CORBA/omniORB-4.1原创 2011-06-03 15:08:00 · 2442 阅读 · 0 评论 -
C++动态分配内存可以用不同的指针来释放
关于C++中动态分配内存的释放问题,我做了个小小试验。如下代码中,动态分配内存时用name指针,而释放时用p指针,这是完全可以的。以前对此不太清楚,所以做了小试验。 char* p, *name = new char[2]; name[0] = A; name[1] = B; p = name; delete[] p; 结论:只要指针指向的地址是分配内存时原创 2011-06-04 16:03:00 · 815 阅读 · 0 评论 -
VS2005 C++ 中内存泄漏检测
开发工具:VS2005。(在VC++6.0中好像也可以这么用)目的:检测C++代码中有无内存泄漏(即动态分配了内存,而没有正确释放)。操作步骤:一、把以下debug_new.h和debug_new.cpp文件加入项目中。debug_new.h/********************************************************************原创 2011-06-04 16:28:00 · 2992 阅读 · 2 评论 -
VC++6.0中内存泄漏检测
对C++代码而言,内存泄漏问题虽然有诸多方法避免,但实际代码编写的时候,或出于自信或出于复杂性的考虑,常常还会用到原始的operator new,这不可避免的会带来内存泄漏的可能,不久前本人因为违反了"可用于被多态继承的基类其析构函数应当有virtual修饰"的法则,导致了内存泄漏,因此我觉得出于安全考虑,在代码中加入内存泄漏检查机制还是很必要的,也因为这次的内存泄漏事件促使我写出这一篇文章.转载 2011-06-04 16:29:00 · 774 阅读 · 0 评论 -
一个简单的ATL的例子
很不错的ATL入门级别的文章: 本文的对象是COM编程初学者,其目的旨在描述如何用ATL创建COM服务器,以及如何在VC或VB编写的客户端应用程序中调用COM服务器。为了不给初学者增加负担,本文不打算深入讨论COM和IDL的细节,而是展示用ATL创建简单的COM对象所需要的步骤。希望通过这篇文章能刺激你学习COM编程的欲望。第一步:运行ATL COM向导(参见图一) 你要做的第一件事情是启动VC创建一个新的工程。选择“ATL COM AppWizard”。注意这个向导创建的工程并没有包含任何初始的C转载 2011-04-29 14:39:00 · 1232 阅读 · 0 评论 -
fatal error C1083: Cannot open include file: 'htmlhelp.h': No such file or directory 解决办法
在用VC++6.0编译飞鸽源码时出现fatal error C1083: Cannot open include file: htmlhelp.h: No such file or directory,解决办法是:把C:/Program Files/HTML Help Workshop/lib/htmlhelp.lib和hhctrl.lib(如果找不到此目录,在VS6的安装盘中找到html原创 2011-06-30 16:19:00 · 6553 阅读 · 0 评论 -
VC6 winpcap编程 missing ';' before type 'unsigned int' 解决办法
1.将错误所在行的 _w64去掉.(实验通过)。 2.安装psdk.原创 2011-12-09 16:02:56 · 3153 阅读 · 1 评论 -
Cannot open precompiled header file: 'Release/BeastScaner.pch' 解决办法
这是因为编译时光标所在的文件为.h文件。把光标移到.cpp文件再开始编译就不会出现这个提示了。原创 2011-12-09 15:35:49 · 921 阅读 · 0 评论 -
完成端口(CompletionPort)详解 - 手把手教你玩转网络编程系列之三
手把手叫你玩转网络编程系列之三 完成端口(Completion Port)详解 ----- By PiggyXP(小猪) 前 言 本系列里完成端口的代码在两年前就已经写好了,但是由于许久没有写东西了,不知该如何提笔,所以这篇文档总是在酝酿转载 2013-07-22 11:01:49 · 1858 阅读 · 0 评论