c c++
文章平均质量分 76
smilestone322
通过软考: 系统架构设计师和信息系统项目管理师考试
工业相机和DVR开发,熟悉windows驱动开发,camera sdk开发,3D摄像头sdk开发。
联系方式:smilestone322@sina.com
展开
-
SDK开发过程中如何将内部的C++类转换成C的接口
Sample如下:Here's a quick example of how you might go about wrapping a C++ class or API in a C-callable API that does little more than forward the C calls to the C++ object.Suppose you have a C++ library with the following interface:class stopwatch{原创 2021-09-08 21:39:07 · 1649 阅读 · 0 评论 -
翻转一个short 和int的整数;
static inline uint16_t bswap_16(uint16_t x){ return (x >> 8) | (x }static inline uint32_t bswap_32(uint32_t x){ x = ((x > 8) &0x00FF00FF); return (x >> 16) | (x }原创 2014-04-04 17:24:24 · 1207 阅读 · 0 评论 -
C++11标准后的C++阅读书目
http://blog.jobbole.com/47357/原创 2014-04-17 15:55:17 · 908 阅读 · 0 评论 -
C++ 继承 必须注意的地方
2)继承类构造函数的调用顺序,首先调用基类的构造函数,然后调用成员对象的构造函数,在调用自己的构造函数;成员对象的构造函数的调用顺序由成员对象在类中声明的次序决定;不受构造函数初始化表达中的次序影响; 3)命令隐藏 在没有虚函数的情况下,如果基类有2个重载函数,如果在派生类中重新定义了其中一个重载函数,那么另外的一个重载函数会被自动隐藏; 4原创 2014-04-17 13:59:51 · 1053 阅读 · 0 评论 -
虚继承与虚函数表
http://www.cnblogs.com/itech/archive/2009/02/27/1399996.html原创 2013-08-21 16:03:30 · 1518 阅读 · 4 评论 -
也谈C++拷贝构造函数和赋值操作符
如题:原创 2013-11-08 11:00:46 · 912 阅读 · 0 评论 -
流媒体软件工程师笔试题
1) 以下程序的abcLen=? 程序有什么问题?struct ABC { int aa; int bb;char cc[0];}; ABC abc;int abcLen=sizeof(abc); //abcLen=?abc.aa=11;abc.bb=12;memcpy(abc.cc,"aaaa",5); 答案:abcLen=8;原创 2013-11-12 17:41:33 · 2917 阅读 · 0 评论 -
char *转wchar_t之间的转换
http://blog.163.com/tianshi_17th/blog/static/4856418920085209414977/http://www.cnitblog.com/textbox/archive/2010/03/16/64672.aspx原创 2013-09-04 14:40:29 · 1211 阅读 · 0 评论 -
MFC 双击picture控件后弹出另外一个对话框,显示大图的策略
在做视频处理时候,有时候需要对图像进行缩放,还有时候又需要显示全屏图像,MFC 鼠标双击picture控件后弹出另外一个对话框,显示大图的策略如下: 1) 首先获取picture控件的size,然后获取鼠标的点击区域,判断是否在picture的区域里面,然后在触发弹出另外一个对话框的事件;BOOL CXXXDlg::PreTranslateMessage(MSG* pMsg){原创 2012-02-19 15:13:26 · 3316 阅读 · 3 评论 -
如何根据纬度,经度和日期判断太阳的日出和日落的时间
如题:日出时间计算公式:24*(180+时区*15-经度-ACOS(-TAN(-23.4*COS(360*(日期序列数+9)/365))*TAN(纬度))/360我国时区为东8区,时区=8经度、纬度采用角度制,东经、北纬为正,西经、南纬为负日期序列数为当天在这一年中的序列,如2月11日就是42因为计算机一般采用弧度制,上面公式可变化为:24*(180+时区*15原创 2013-01-30 16:20:32 · 6669 阅读 · 1 评论 -
C++回调函数
回调函数就好像是一个中断处理函数,系统在符合你设定的条件时自动调用。为此,你需要做三件事:1. 声明;2. 定义;3. 设置触发条件,就是在你的函数中把你的回调函数名称转化为地址作为一个参数,以便于系统调用。申明就是申明一个函数指针;定义就是实现回调函数;触发条件就是讲你定义的函数赋值给一个回调函数的指针,调用时,就用这个指针带上函数的参数调用原创 2013-01-01 13:58:41 · 1348 阅读 · 0 评论 -
阿里巴巴2013年校园招聘笔试题
程序设计题:一棵树,每个节点保存一个数字,找两个相同的节点(所谓相同的节点是指,两个节点的值相同,并且它们的子结构也要相同,就是以他俩为跟的那两颗子树也要一模一样。)一个平面,上有n个点,点与点之间可能有连接,判断这里是否有环路。 系统设计题:大图导航系统:(1)现有大图1W张,像素:1024*4096。系统可以增加或者删除图片。(2)手机屏幕分辨率240*3原创 2012-10-03 11:11:58 · 3426 阅读 · 2 评论 -
从boost看C++的私有继承;
如题:原创 2013-11-08 11:04:36 · 837 阅读 · 0 评论 -
(原创)一个超级对象池的实现
转自:http://www.cnblogs.com/qicosmos/p/3673723.html转载 2014-05-08 10:27:13 · 814 阅读 · 0 评论 -
C++ RAII 思想应用场合
C++中的RAII全称是“Resource acquisition is initialization”,直译为“资源获取就是初始化”。但是这翻译并没有显示出这个惯用法的真正内涵。RAII的好处在于它提供了一种资源自动管理的方式,当产生异常、回滚等现象时,RAII可以正确地释放掉资源。原创 2014-07-16 16:09:08 · 1328 阅读 · 0 评论 -
C++ 和java的不同点
1)类的静态成员变量访问问题c++ 非静态的成员函数不能访问静态成员,而java可以;静态变量和静态方法既可以在类的实例方法中使用,也可以在类的静态方法中使用;但是,实例变量和实例方法只能在实例方法中使用,不能在静态方法中使用;因为静态变量和静态方法不属于某个特定的对象。2)函数的参数传递函数形参和实参 怎么传递?java:当传递基本数据类型参数时,传递的实原创 2016-03-18 15:20:50 · 682 阅读 · 0 评论 -
2012年华为校园招聘电子科大面试题---之我的解法
@smilestone322以下是我的解法,写出来跟大家交流,欢迎大家讨论,呵呵:1 字串转换问题描述:将输入的字符串(字符串仅包含小写字母‘a’到‘z’),按照如下规则,循环转换后输出:a->b,b->c,…,y->z,z->a;若输入的字符串连续出现两个字母相同时,后一个字母需要连续转换2次。例如:aa 转换为 bc,zz 转换为 ab;当连续相同字母超过两个时,第三个出现原创 2012-09-16 18:56:43 · 1664 阅读 · 4 评论 -
句子翻转 如i am superman ---> superman am i
句子翻转i am superman ---> superman am i 这个题目比较简单:思路:(1)首先将原字符串分开成单词,然后将单词在反过来组成反的字符串;函数如下: #include "stdafx.h"#include "stdlib.h"#include #include using namespace std; bool原创 2012-10-03 11:06:38 · 1280 阅读 · 0 评论 -
RTTI C++ 运行时类型识别
RTTI C++ 运行时类型识别原创 2014-04-14 14:43:22 · 962 阅读 · 0 评论 -
C语言 2个不引人注意的细节
1)定义的结构体 不初始化;2)sprintf是不安全的; 如果不注意这两点,有可能对软件的健壮性有影响! 3)if(11) 4)memset(buffer,0,size) 应该改成memset(buffer,0,size*sizeof(Type)) ,比如int型和byte型是不同的,尤其在图像处理中将某一行置0的情况; 5)(25/31)*255原创 2011-12-02 09:35:33 · 1047 阅读 · 0 评论 -
C++的多态
如题:原创 2013-11-08 11:03:50 · 824 阅读 · 0 评论 -
C++和java多态的区别
转自: http://www.cnblogs.com/plmnko/archive/2010/10/19/1855760.html C++中,如果父类中的函数前边标有virtual,才显现出多态。如果父类func是virtual的,则Super *p =new Sub();p->func(); // 调用子类的func如果不是virtual的,p->func将调用父转载 2015-12-16 15:10:15 · 535 阅读 · 0 评论 -
RC522 读卡器和写卡器 读写测试程序----基于cc2530开发板
RC522 写卡器操作步骤:1)寻卡,2)防冲突;3)选卡;4)授权;5)写操作;6)读操作;具体步骤见源码,红色的部分是我增加的代码,其它的都是开发板自带的代码;/***************************************************************************** 文 件 名: main.c* 描 述: 读写RFID****原创 2015-12-29 23:39:54 · 14277 阅读 · 6 评论 -
字符串和16进制字符串的相互转化
转自:http://blog.chinaunix.net/uid-20680669-id-3157274.html我们在工作中,有时候会需要将字符串转化为16进制字符串给用户,因为ASCII中有些字符,当我们使用printf("%s",p_ch);输出时会杂乱无章,如果采用16进制,会好很多。因此编写程序,代码如下:1.#include 2.#include 3转载 2015-11-02 00:09:30 · 3209 阅读 · 0 评论 -
Mifare 卡之电子钱包
Mifare 卡之电子钱包;原创 2015-11-08 21:18:11 · 3480 阅读 · 0 评论 -
开源日志库log4c存在的一个bug,程序重启后,每次都重新写新的文件,不是接在在原来的文件中写;
开源日志库log4c存在的一个bug,程序重启后,每次都重新写新的文件,不是接在在原来的文件中写;这样在ARM中应用时,当应用重启了,但是log0还没有达到maxsize,就切换了一个新的文件,会造成空间浪费,网上查了好久,log4c没有提供这样的接口,维护别人的代码,用到了log4c这个库,只能修改log4c的源码了。源码修改的地方如下:static int get_file_size(原创 2015-09-30 11:28:30 · 3184 阅读 · 0 评论 -
memcpy 自身copy是不安全的
用memmove或memmove_s代替原创 2012-10-08 15:09:39 · 2731 阅读 · 0 评论 -
RGB bmp转jpeg的方法
RGB转jpeg的方法:先对图像进行预处理,然后DCT变换,量化,然后进行编码,huffman编码或其它编码,就可以转换成jpg了。下面主要讲解使用opencv保存jpg图像,或使用IJG库保存jpg图像,使用opencv保存jpg图像的函数如下: CVAPI(int) cvSaveImage( const char* filename, const CvArr* image,原创 2011-09-09 10:54:03 · 4373 阅读 · 1 评论 -
垂直滚动条拉到最下时,显示的图像和拉到最上时一样
MFC 对话框上添加滚动条后,显示图像时,发现垂直滚动条拉到最下时,显示的图像和拉到最上时一样,不知为什么?还有一个,就是垂直滚动条是反的,因为位图是从下往上显示的,所以要注意颠倒下,至于垂直滚动条拉到最大和最上显示的图像一样,比如说滚动条的范围是0-100,从0-99时,拉垂直滚动条是正确的,但是从99-100时,就突然跳到初始时,垂直滚动条为0时一样。原创 2012-03-21 22:37:41 · 1167 阅读 · 0 评论 -
指向函数的指针
指向函数的指针 函数指针 是指指向函数而非指向对象的指针,像其它指针一样,函数指针也指向某个特定的类型。函数指针的一个主要的应用就是回调函数,当我们编程时,尤其是在多线程编程经常遇到这样的情况,当调用和实现不是一个文件中时候,通过信号机制,比如Event不好给不在同一个文件中的调用的地方发送信号,那么怎么办呢,一个解决的办法就是使用回调函数,令一个解决的办法是使用消息函数,postMe原创 2011-11-05 21:54:18 · 651 阅读 · 0 评论 -
线程里面访问类的私有成员变量flag,不报错,诧异,求解!
// testflag11.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "windows.h"#include "process.h"class ExampleTask{public: ExampleTask(void) { flag=true; } static void taskmain(原创 2011-11-02 23:22:57 · 1064 阅读 · 0 评论 -
线程里面访问私有成员变量 ,ok
// testflag.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "Windows.h"#include "process.h" class CNullPointCall{public: CNullPointCall(void){ flag=true; }; static inline UI原创 2011-11-02 23:42:21 · 1111 阅读 · 0 评论 -
C++构造 函数,析构函数,拷贝构造函数,赋值构造函数,一个内存错误例子!
// pointer_control2.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"class U_Ptr { friend class HasPtr; int *ip; size_t use; U_Ptr(int *p): ip(p), use(1) { } ~U_Ptr() { delete ip; }};/* sm原创 2011-11-19 21:28:29 · 779 阅读 · 0 评论 -
&如何区分是引用还是取地址
区分的地方:1)引用在赋值=的左边,而取地址在赋值的右边,比如int a=3;int &b=a; //引用 int *p=&a; //取地址 2)和类型在一起的是引用,和变量在一起的是取址。 举例同样如上,还有下例:int function(int &i){} //引用 3)对于vector,上面2条同样适合vect原创 2011-11-15 23:36:29 · 2643 阅读 · 1 评论 -
线程的静态函数如何访问类的非静态成员函数或成员变量
在多线程程序中,无论我们使用AfxBeginThread ,CreateThread,_beginthread构造线程函数,因为线程函数只能是全局函数或静态函数,下面拿静态函数来举例说明,静态函数中可以直接访问静态成员,但是访问类的非静态函数或成员变量就必须做一个适配器,代码如下:class CStaticThread{public: static int Threa原创 2011-11-15 23:16:22 · 4405 阅读 · 0 评论 -
C++类使用构造函数初始化类表和构造函数函数体中赋值的区别
C++ primer 上面的一个例子: // constRef.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"class constRef{public: constRef(int ii); int i; const int ci; int &ri;};constRef::constRef(int ii){原创 2011-11-15 20:13:56 · 3554 阅读 · 3 评论 -
类的作用域问题,形参表函数体处在作用域中,而函数返回类型不一定在作用域中
// Class_return.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"class class_return{public: struct A{ int a; int b; }; typedef struct A A; A aaa;public: A getA()const; void SetA(原创 2011-11-15 19:46:52 · 1148 阅读 · 0 评论 -
public protected private 成员函数和成员变量在public protected private 继承后访问权限问题
第一:private, public, protected 访问标号的访问范围。private:只能由1.该类中的函数、2.其友元函数访问。不能被任何其他访问,该类的对象也不能访问。举例如下:// public_protect_private.cpp : 定义控制台应用程序的入口点。// #include "stdafx.h"#include using nam原创 2011-11-13 22:18:04 · 4170 阅读 · 0 评论 -
invalidate和状态栏的SetText函数发生死锁了!
问题如下: 一个线程用于显示图像,在这个线程中调用了回调函数,该回调函数使用了MFC的Picture显示图像,在显示图像时使用invalidate 刷新窗口,而该回调函数里面又用了状态栏,用于显示图像的信息,即调用了状态栏的SetText函数,这时发生死锁了,调试发现死锁在原创 2011-09-25 09:49:37 · 967 阅读 · 2 评论 -
c++ 几点经验
对比于C语言的函数,C++增加了重载(overloaded)、内联(inline)、const和virtual四种新机制。其中重载和内联机制既可用于全局函数也可用于类的成员函数,const与virtual机制仅用于类的成员函数。 函数重载(overloaded):原创 2011-08-19 09:05:48 · 1054 阅读 · 1 评论