- 博客(46)
- 资源 (2)
- 收藏
- 关注
原创 简单易记的软件七大设计原则表述
开闭原则是总纲,它告诉我们要对扩展开放,对修改关闭;里氏替换原则告诉我们不要破坏继承体系;依赖倒置原则告诉我们要面向接口编程;单一职责原则告诉我们实现类要职责单一;接口隔离原则告诉我们在设计接口的时候要精简单一;迪米特法则告诉我们要降低耦合度;合成复用原则告诉我们要优先使用组合或者聚合关系复用,少用继承关系复用。...
2020-06-30 09:35:14 150
原创 谷歌浏览器的开源代码(M84版本)
准备工作1、开发工具:需要安装 VS20172、SDK: 需要 win10 sdk 18362版本3、固态硬盘:编译程序需要 90G 空间,编译时间约4个小时解压代码1、下载repo.7z, 解压到固态硬盘的根目录2、进入解压后的 repo 目录,可以查看文件编译步骤1、双击运行 env.bat,弹出命令行窗口2、生成gn工程gn gen out/Default --args="enable_nacl=false"3、生成VS解决方案文件gn...
2020-09-17 11:24:27 2390
原创 使用windbg进行dump分析基本使用和命令
1、启动windbg"C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\windbg.exe" -y cache*g:\dump;srv*http://msdl.microsoft.com/download/symbols;g:\dump\19942 -srcpath G:\V68_45_new\srcdump分析常用指令dump分为:崩溃dump和运行dump分别如何查看?运行指令 .ecxr 崩溃dump查看崩溃点看堆栈 ...
2020-06-10 14:21:06 1422
原创 vs断点不生效原因和处理方案
一般原因:代码对应的符号不对应1、重新编译2、关闭设置端点的文件,重新打开3、重启vs4、查看对应符号设置确认你使用的是debug还是release,确保符号是正确的
2020-06-10 14:11:33 5814
转载 单例模式的写法和应用
众多设计模式中,单例模式比较常见的一种,面试和工作中也会经常接触到。本文以一个C++开发者的角度来探讨单例模式几种典型实现。设计模式经典GoF定义的单例模式需要满足以下两个条件:1. 保证一个类只创建一个实例。2. 提供对该实例的全局访问点。如果系统有类似的实体(有且只有一个,且需要全局访问),那么就可以将其实现为一个单例。实际工作中常见的应用举例日志类,一个应用往往只
2016-04-08 14:57:39 581
转载 C++中new 一个对象的时候加括号和不加括号的区别
先把结论放上来: 加括号调用没有参数的构造函数,不加括号调用默认构造函数或唯一的构造函数,看需求 C++在new时的初始化的规律可能为:对于有构造函数的类,不论有没有括号,都用构造函数进行初始化;如果没有构造函数,则不加括号的new只分配内存空间,不进行内存的初始化,而加了括号的new会在分配内存的同时初始化为0。 以下代码:#include
2016-04-08 14:32:42 15400 6
转载 sockaddr与sockaddr_in结构体简介
struct sockaddr {unsigned short sa_family; /* address family, AF_xxx */char sa_data[14]; /* 14 bytes of protocol address */};sa_family是地址家族,一般都是“AF_xxx”的形式。好像通常大多用的是都是AF
2016-03-15 10:07:13 406
转载 select的基本学习
Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞(所谓非阻塞方式
2016-03-09 10:07:43 386
转载 最基本的linux线程编写和锁的使用
#include #include #include #include #include int g_flag = 0;static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;static pthread_cond_t cond = PTHREAD_COND_INITIALIZER;void* thr
2016-03-04 15:36:32 299
转载 信号量的PV操作
进程通常分为就绪、运行和阻塞三个工作状态。三种状态在某些条件下可以转换,三者之间的转换关系如下: 进程三个状态之间的转换就是靠PV操作来控制的。PV操作主要就是P操作、V操作和信号量。其中信号量起到了至关重要的作用。 信号量信号量是最早出现的用来解决进程同步与互斥问题的机制。 信号量(Saphore)由一个值和一个指针组成,指针指向等待该信号量的进程。信号量的值表示
2015-04-15 15:22:24 730
转载 类在内存中的分配问题
一个类,有成员变量:静态与非静态之分;而成员函数有三种:静态的、非静态的、虚的。那么这些个东西在内存中到底是如何分配的呢?以一个例子来说明:[cpp] view plaincopy"font-size:16px;"> class CObject{public:static int a;CObject();
2015-03-17 16:25:00 430
转载 struct和typedef struct
1 首先://注意在C和C++里不同 在C中定义一个结构体类型要用typedef: typedef struct Student { int a; }Stu; 于是在声明变量的时候就可:Stu stu1;(如果没有typedef就必须用struct Student stu1;来声明) 这里的Stu实际上就是struct Stud
2015-03-17 15:49:18 374
转载 c++中new和delete的使用方法
new和delete运算符用于动态分配和撤销内存的运算符new用法: 1. 开辟单变量地址空间 1)new int; //开辟一个存放数组的存储空间,返回一个指向该存储空间的地址.int *a = new int 即为将一个int类型的地址赋值给整型指针a. 2)int *a = new int(
2015-03-17 10:46:17 407
转载 用户级线程和内核级线程的区别
转载于http://col1.blog.163.com/blog/static/1909775192012719114033352/1 .内核级线程:切换由内核控制,当线程进行切换的时候,由用户态转化为内核态。切换完毕要从内核态返回用户态;可以很好的利用smp,即利用多核cpu。windows线程就是这样的。 2. 用户级线程内核的切换由用户态程序自己控制内核切换,不需要内核干涉,
2015-03-17 10:25:23 542
转载 关于C++ const 的全面总结
C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结如下,期望对朋友们有所帮助。Const 是C++中常用的类型修饰符,常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。一、Const作用 如下表所示:No.作用说明参考代码
2015-03-16 13:46:45 337
转载 RTP/RTCP协议介绍
1流媒体协议 当前在Internet上传输音频和视频等信息主要有两种方式:下载和流式传输。下载情况下,用户需要先下载整个媒体文件到本地,然后才能播放媒体文件。流式传输是指传输之前首先对多媒体进行预处理(降低质量和高效压缩),然后使用缓存系统来保证数据连续正确地进行传输。使用流式传输可以边下载边观看流媒体节目,可以实现网上直播、视频会议等。目前,支持流媒体
2014-11-21 14:12:41 546
原创 1106问题记录
1、CTpUmsServer,为什么要加Tp,代表什么意思?代表网呈 ,mt终端2、关于打印级别以及类型怎么区分?根据情况打印级别分为:enLoglowDetail = LOG_LVL_DETAIL,enLogLowest = LOG_LVL_KEYSTATUS,enLogHint = LOG_LVL_WARNING,enLogError = LOG_LVL_ERROR,
2014-11-07 13:35:21 652
转载 在C++中子类继承和调用父类的构造函数方法
在C++中子类继承和调用父类的构造函数方法 构造方法用来初始化类的对象,与父类的其它成员不同,它不能被子类继承(子类可以继承父类所有的成员变量和成员方法,但不继承父类的构造方法)。因此,在创建子类对象时,为了初始化从父类继承来的数据成员,系统需要调用其父类的构造方法。 如果没有显式的构造函数,编译器会给一个默认的构造函数,并且该默认的构造函数仅仅在没有显式地声明
2014-11-07 10:34:02 473
转载 xml的作用:
意见1:其实数年前已经不建议使用DTD了吧。而是推荐XML schema。XSL是转换XML文档用的。其实XML主要的用途就是分离数据和使用数据的应用程序。专注于对数据本身的描述,不涉及数据如何使用的信息,如表示格式的说明。文件本身的格式是自说明的。于是XML数据文件就很通用,各种语言都可以实现其PARSER。跨平台加标准的PARSER,相当适合平台/应用间交换数据之用。过去我们搞过EDI,用UN
2014-11-06 13:32:43 497
转载 const的用法
Const 作用1. const类型定义:指明变量或对象的值是不能被更新,引入目的是为了取代预编译指令2. 可以保护被修饰的东西,防止意外的修改,增强程序的健壮性;3. 编译器通常不为普通const常量分配存储空间,而是将它们保存在符号表中,这使得它成为一个编译期间的常量,没有了存储与读内存的操作,使得它的效率也很高。4. 可以节省空间,避免不必要
2014-11-03 09:20:18 630
转载 实实在在说多态(C++篇)
实实在在说多态(C++篇)1. 什么是多态2. 多态带来的好处3. C++中实现多态的方式4. 细说用函数重载实现的多态5. 细说用模板函数实现的多态6. 小结7. 细说用虚函数实现的多态7.1. 虚函数是怎么回事7.2. 向上转型7.3. 为什么要用指
2014-10-31 15:51:24 431
原创 static在C++中的应用
1 案例描述22 Static语法特性简介22.1修饰变量22.1.1静态全局变量22.1.2静态局部变量22.1.3静态数据成员22.2修饰函数22.2.1静态函数22.2.2静态成员函数33 应用场合33.1将变量/函数的作用域限定在本源文件中33.2保存函数的运行时信息33.3保存类对象共有的
2014-10-23 19:46:04 635
转载 类与类之间的几种关系
类与类之间的几种关系一、继承关系 继承指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力。在Java中继承关系通过关键字extends明确标识,在设计时一般没有争议性。在UML类图设计中,继承用一条带空心三角箭头的实线表示,从子类指向父类,或者子接口指向父接口。 二、实现关系 实现指的是一个class类实现
2014-10-20 16:28:42 443
转载 多态的概念和作用
多态是面向对象的重要特性,简单点说:“一个接口,多种实现”,就是同一种事物表现出的多种形态。编程其实就是一个将具体世界进行抽象化的过程,多态就是抽象化的一种体现,把一系列具体事物的共同点抽象出来, 再通过这个抽象的事物,与不同的具体事物进行对话。对不同类的对象发出相同的消息将会有不同的行为。比如,你的老板让所有员工在九点钟开始工作,他只要在九点钟的时候说:“开始工作”即可,而不需要对销售人
2014-10-20 13:54:24 724
转载 C++中public,protected,private访问
C++中public,protected,private访问第一:private, public, protected 访问标号的访问范围。private:只能由1.该类中的函数、2.其友元函数访问。不能被任何其他访问,该类的对象也不能访问。protected:可以被1.该类中的函数、2.子类的函数、以及3.其友元函数访问。但不能被该类的对象访问。public:
2014-10-16 19:23:07 328
转载 C++编程学习50个经典网站 强力推荐
C/C++是最主要的编程语言。这里列出了50名优秀网站和网页清单,这些网站提供c/c++源代码。这份清单提供了源代码的链接以及它们的小说明。我已尽力包括最佳的C/C++源代码的网站。这不是一个完整的清单,您有建议可以联系我,我将欢迎您的建议,以进一步加强这方面的清单。1、http://snippets.dzone.com/tag/c/ --数以千计的有用的C语言源代码片段2、http://
2014-10-15 13:37:37 666
原创 银河面试总结
面试官很和蔼,本来面试前有点紧张地,当见到面试官后坐下来简单的聊了2句家常,就很是放松!然后做个简单的自我介绍,根据简历上的项目经验让我介绍了智能小车项目以及责任描述,自己做的项目还是很容易说的;下面聊得时候我说我对linux c和TCP/IP网络编程很熟悉,然后他就让我说一下客户端如何创建,然后她们用到了什么函数,这个问题没有回答完整,先创建socket binding 绑定 conne
2013-11-25 21:22:45 1411
原创 电梯调度问题
电梯调度问题实际需求是这样的,电梯之前是在一楼,然后跑来一波研究僧,分别是到达不同的实验室。实验室分别是坐落在2楼至5楼。假设电梯是个巨无霸,容量是无穷的(实际上老逸夫楼那个估计已经年久失修,已经扛不住多少人了),然后某天,就假设是苦逼的星期一吧,依旧是一波研究僧要乘坐电梯,但是电梯星期一都是比较古怪的(只限于星期一),它只在其中的一层停下来,然后各层的研究僧只能下电梯,然后爬
2013-11-19 14:28:27 1463
转载 ZigBee基础概念和知识点
zigbeeZigbee是基于IEEE802.15.4标准的低功耗个域网协议根据这个协议规定的技术是一种短距离、低功耗的无线通信技术主要适合用于自动控制和远程控制领域,可以嵌入各种设备。简而言之,ZigBee就是一种便宜的,低功耗的近距离无线组网通讯技术。ZigBee协议从下到上分别为物理层(PHY)、媒体访问控制层(MAC)、传输层(TL)、网络层(NWK)、应用层(APL)等
2013-11-18 15:46:18 2428
转载 一个简单的makefile示例及其注释
一个简单的makefile示例及其注释 相信在unix下编程的没有不知道makefile的,刚开始学习unix平台下的东西,了解了下makefile的制作,觉得有点东西可以记录下。 下面是一个极其简单的例子:现在我要编译一个Hello world,需要如下三个文件: 1. print.h #include void printh
2013-11-15 13:50:07 513
转载 linux下文件操作函数
Linux的文件操作API涉及到创建、打开、读写和关闭文件。1.linux API 创建int creat(const char *filename, mode_t mode); 参数mode指定新建文件的存取权限,它同umask一起决定文件的最终权限(mode&umask),其中umask代表了文件在创建时需要去掉的一些存取权限。u
2013-11-15 10:55:35 951
原创 南大奥拓笔试
南大奥拓笔试:软件滤波的方法?PLC的概念?和作用?中断的基本知识点?递归的算法: 实现N!的阶乘?题目很基本,其中一个编程题N!的阶乘编写的不全面,他应该考虑到输入负数输入浮点数以及阶乘的数字很大溢出等问题,记住0!= 1 嵌入式核心板(arm)以及他们用的操作系统和主要作用?ARM嵌入式系统和作用这个做硬件应该知道的,但是当时就没有答出来? 关于一个19
2013-11-12 21:11:41 2743
原创 10.10-11.8号笔试面试总结
富士通笔试题:第一次笔试:其中有很多C的基础题目都不会1、 黑盒测试和白盒测试黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。白盒测试:已知产品的内部工作过程,可以进行测试证明每种内部操作是否符合设计规格要求,所有内部成分是否经过检查。 2、 哈希表的填空题3、 数列菲普那锲数列的递归和非递归实现4、 链表的逆序编程题没有
2013-11-08 19:13:51 1152
寝室智能系统下位机51代码
2012-11-09
智能避障寻迹小车完整程序
2012-11-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人