- 博客(33)
- 资源 (2)
- 收藏
- 关注
转载 动态加载DLL实现不同DLL的相同导出函数调用问题
假设这样的情景: 一个exe加载了两个dll(dll1和dll2,并使用隐式加载)。dll和dll2都同时向外导出一个函数: int add(int a, int b); 如果在exe中调用了add函数,那么它调用的会是哪个dll的add函数呢? 为了验证这个结果,写了一个测试的例子。两个dll(win32的d
2012-04-16 16:49:12
3545
原创 类的静态成员与静态成员函数
1 类的静态成员函数只能访问类的静态成员(若想访问非静态成员,可考虑将类的this指针作为函数的参数传入)2 类的静态成员函数不能声明为const函数3类的静态成员函数不能使虚函数1类的静态成员在类外定义,类内声明,声明使用static关键字,定义不用。2通常在定义时就初始化,也可以在构造 函数初始化,语法上可以,但一般意义不大。3 不能在类的定义体中初始化,这与其他类
2012-04-12 09:24:03
518
转载 虚函数的动态绑定
直接看这段代码 [cpp] view plaincopyclass CBase { public: virtual int func(int num=1) const //虚函数 { cout"CBase function! " return 0;
2012-04-11 11:14:59
675
转载 堆和栈的区别
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两
2012-04-11 11:14:05
352
转载 warning C4018: “<”: 有符号/无符号不匹配
warning C4018: “出错代码 for(int j=0;j出错原因分析: detector 是一个Vector容器 ,detecot.size() 在容器说明中 被定义为: unsigned int 类型, 而j是int 类型 所以会出现: 有符号/无符号不匹配 警告 错误改正 : 定义j为unsigned 类型后就可以了 即: f
2012-03-23 10:59:43
3212
转载 回车与换行
回车和换行 今天,我总算搞清楚“回车”(carriage return)和“换行”(line feed)这两个概念的来历和区别了。 在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。
2012-03-19 09:43:43
319
转载 LNK2001
一.由于编码错误导致的LNK2001。 1.不相匹配的程序代码或模块定义(.DEF)文件能导致LNK2001。例如, 如果在C++ 源文件内声明了一变量“var1”,却试图在另一文件内以变量 “VAR1”访问该变量,将发生该错误。 2.如果使用的内联函数是在.CPP文件内定义的,而不是在头文件内定 义将导致LNK2001错误。 3.调用函数时如果所用的参
2012-03-18 16:30:13
383
转载 LNK2005
编程中经常能遇到LNK2005错误——重复定义错误,其实LNK2005错误并不是一个很难解决的错误。弄清楚它形成的原因,就可以轻松解决它了。 造成LNK2005错误主要有以下几种情况: 1.重复定义全局变量。可能存在两种情况: A、对于一些初学编程的程序员,有时候会以为需要使用全局变量的地方就可以使用定义申明一下。其实这是错误的,全局变量是针对整个工程的。正确的应该是在一个CPP文
2012-03-18 16:28:56
523
转载 win32程序窗口的创建
尽管Windows应用程序千变万化,令人眼花缭乱,但,消息机制和窗口过程却始终它们的基础,掌握了这两项技术,也就相当于把握住了问题的关键。 如果你以前是C程序员或是MFC的忠实用户,只要你学习过C语言的语法,自己亲手编过一些简短的C程序,理解以下的Win32编程基础也不是一件困难的事。 一个最简单的Win32程序 在以前的C语言编程中,一个最简单的程序可以只有两行。
2011-11-18 15:21:15
17904
转载 关于字符编码,你所需要知道的(ASCII,Unicode,Utf-8,GB2312…)
字符编码的问题看似很小,经常被技术人员忽视,但是很容易导致一些莫名其妙的问题。这里总结了一下字符编码的一些普及性的知识,希望对大家有所帮助。还是得从ASCII码说起说到字符编码,不得不说ASCII码的简史。计算机一开始发明的时候是用来解决数字计算的问题,后来人们发现,计算机还可以做更多的事,例如文本处理。但由于计算机只识“数”,因此人们必须告诉计算机哪个数字来代表哪个特定字符,例如
2011-11-17 16:49:54
921
转载 句 柄
句 柄出处: 方塘2003.9.22 整理,之所以前面引用了 贾旭滨 先生的这段描述,因为他写的是在精彩!=== 重庆大学光电工程学院 贾旭滨 对句柄有下面的描述: 句柄概念在WINDOWS编程中是一个很重要的概念,在许多地方都扮演着重要的角色。但由此而产生的句柄概念也大同小异,比如:>(Microsoft Press,by Richard Wilton)一书中
2011-11-17 15:28:04
449
转载 VS2005例子中编译时出现"已跳过生成: 项目", 不编译, 也不报错
最好的解决办法:查下“生成”-> “配置管理器”-> “活动解决方案平台”是否选择的“win32”?
2011-11-09 16:07:08
971
原创 菜鸟的串口通信开发1
项目调试要采用串口通讯的方式,但是以前的知识仅仅停留在单薄的概念上。于是搭建一个实际的串口通讯调试环境就费了很多力气。1首先,重新认识串口和并口,在我的电脑->属性->硬件->设备管理器中的端口(COM和LPT)中看到我的主机有两个串口和一个并口,搬开机箱看了一下,只找到一个
2011-10-08 15:16:33
589
原创 默认实参与显示实参
默认实参是函数缺省设置的参数值,当未对参数传递任何实参时将使用默认实参,若传递了参数,则使用传递的参数,该参数为显式实参。如class Sales_item{public:Sales_item(const std:: string &book=" "): isbn
2011-09-16 10:50:36
450
转载 inline函数
我们看下面的函数,函数体中只有一行语句: double Average(double total, int number){ return total/number; } 定义这么简单的函数有必要吗?实际上,它还是有一些优点的:第一,
2011-09-15 15:42:50
344
原创 size_type
vector::size_type A type that counts the number of elements in a vector.basic_string::size_type n unsigned integer type that
2011-09-15 10:33:20
551
原创 Ice开发初步——HelloWorld的实现
初识ICE,试着使用slice语言在vs2010下编写HelloWorld程序,参考了官网http://www.zeroc.com/index.html及网络帖子上的思路,终成。现在记录一下。1.在官网上下载最新版本的ice开发包http://www.zeroc.com/do
2011-09-14 14:56:07
7630
3
转载 写给想当程序员的朋友
谨以此文献给所有想当程序员的朋友 (一) 文章由来及个人经历 我是一名计算机专业的本科毕业生,毕业已经1年多了。毕业后从事的是软件编程工作,经常有其他专业的朋友想从事软件编程工作,向我请教如何,因为我自觉涉行不深,不敢信口开河,无奈朋友信任
2011-09-14 11:17:57
580
原创 atal error C1088: 无法刷新编译器中间文件:“C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\_CL_ae41746agl”
关于fatal error C1088: 无法刷新编译器中间文件:“C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\_CL_ae41746agl”: No space left on device报错的原因是:C盘空间不足造成的。
2011-09-09 10:25:04
8031
转载 使用const提高函数的健壮性
使用const提高函数的健壮性看到const关键字,C++程序员首先想到的可能是const常量。这可不是良好的条件反射。如果只知道用const定义常量,那么相当于把火药仅用于制作鞭炮。const更大的魅力是它可以修饰函数的参数、返回值,甚至函数的定义体。const是c
2011-09-08 17:11:50
612
转载 虚函数与纯虚函数
.首先:强调一个概念 定义一个函数为虚函数,不代表函数为不被实现的函数。定义他为虚函数是为了允许用基类的指针来调用子类的这个函数。 定义一个函数为纯虚函数,才代表函数没有被实现。定义他是为了实现一个接口,起到一个规范的作用,规范继承这个。类的程序
2011-09-05 16:46:03
196
转载 析构函数一般在什么情况下会被定义成虚函数
1.首先看一下这段代码吧:#includeusing namespace std;class ClxBase{public: ClxBase() {}; ~ClxBase() {cout void DoSomething() { co
2011-09-05 10:12:04
380
转载 __declspec(dllexport)和__declspec(dllimport)
_declspec(dllexport) 声明一个导出函数,是说这个函数要从本DLL导出。我要给别人用。一般用于dll中 。省掉在DEF文件中手工定义导出哪些函数的一个方法。当然,如果你的DLL里全是C++的类的话,你无法在DEF里指定导出的函数,只能用__decls
2011-08-31 10:39:04
1162
原创 嵌入式linux的学习步骤
嵌入式linux的学习步骤: 1、Linux 基础 安装Linux操作系统 Linux文件系统 Linux常用命令 Linux启动过程详解 熟悉Linux服务能够独立安装Linux操作系统 能够熟练使用Linux系统的基本命令 认识Linux系统的常用服务安装Linux操作系统 Linux基本命令实践 设置Linux环境变量 定制Linux的服务 Shell 编程基础使用vi编辑文件 使用Emacs编辑文件 使用其他编辑器
2011-06-02 09:43:00
498
原创 Debug和Release区别
VC下Debug和Release区别 最近写代码过程中,发现 Debug 下运行正常,Release 下就会出现问题,百思不得其解,而Release 下又无法进行调试,于是只能采用printf方式逐步定位到问题所在处,才发现原来是给定的一个数组未初始化,导致后面处理异常。网上查找了些资料,在这 罗列汇总下,做为备忘~ 一、Debug 和 Release 的区别 Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release 称为发布版本,它
2011-05-25 17:11:00
455
原创 warning LNK4099 未找到 PDB“vc90.pdb”……
帖子链接: http://topic.youkuaiyun.com/u/20070604/11/7dfb11ac-768f-4049-b75e-8dc572e77c9d.html 警告: Linking with DDK linker... libcid.lib(streamb.obj) : warning LNK4099: PDB 'libcid.pdb' was not found with 'D:/Program Files/WINDDK/2600/lib/wxp/i386/libcid.lib' or
2011-05-25 15:56:00
5052
原创 (转)Visual 2008中 warning C4996的解决方法
我们在用Visual 2008编程时可能经常遇到类似下面的警告: warning C4996: “sprintf”被声明为否决的 c:/program files/microsoft visual studio 8/vc/include/stdio.h(345) : 参见“sprintf”的声明 消息:“This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation,
2011-05-25 15:41:00
1529
转载 R6034错误的解决(转)
<br />1)可以先将"清单工具"中的嵌入清单设成否,编译,然后再改成"是",重新编译,运行试试,<br />2)或者干脆彻底地,把生成的清单文件删除,再重新编译,100%ok.<br /> R6034 错误的解决之道--仅限于原来可以正常运行的情况下。
2011-05-24 09:20:00
1425
原创 snmp变量类型对应的代码
类型变量: SNMP_SYNTAX_INT:2 SNMP_SYNTAX_UINT32 :71 SNMP_SYNTAX_CNTR32:65 SNMP_SYNTAX_GAUGE32:66 SNMP_SYNTAX_TIMETICKS:67 SNMP_SYNTAX_CNTR64:70 SNMP_SYNTAX_OCTETS:4 SNMP_SYNTAX_OPAQUE:68 SNMP_SYNTAX_NSAPADDR:69 SNMP_SYNTAX_IPADDR:64
2011-05-19 08:45:00
3318
原创 将字符串变成浮点数或整型的函数
http://www.cplusplus.com/reference/clibrary/cstdlib/atof/ double atof(const char *nptr)函数可以将一个字符串变成浮点数。 #include using namespace std; int main() { double f; char*str=”123.456”; f=atof(str); cout
2011-05-16 16:39:00
1197
原创 snmp++开发包开发基于snmp的ups监控程序
受老师之命开发一个基于snmp的网络监控程序。作为snmp的初学者,在完成的过程中参考了很多前人的经验,也走了一些弯路。在此将学习过程记录下来。 1.基于snmp的开发包有net-snmp和snmp++、agent++等,在此使用snmp++开发。首先编译snmp++的开发包。生成它的.lib文件。 首先从官网(http://www.agentpp.com/snmp_pp3_x/download_snmp_ppv3/download_snmp_ppv3.html) LIBDES-l-
2011-05-15 20:22:00
4316
4
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人