<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Jeffery]]></title><description><![CDATA[C++狂汗者]]></description><link>https://blog.youkuaiyun.com/liangminghui</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; liangminghui]]></copyright><item><title><![CDATA[比物理线程都好用的C++20的协程，在事件驱动代码中的应用解析]]></title><link>https://blog.youkuaiyun.com/liangminghui/article/details/122434676</link><guid>https://blog.youkuaiyun.com/liangminghui/article/details/122434676</guid><author>liangminghui</author><pubDate>Tue, 11 Jan 2022 16:01:12 +0800</pubDate><description><![CDATA[文章的来源（华为云社区）：飞得乐发表于 2021/05/13 20:07:012021/05/13

嵌入式事件驱动代码的难题事件驱动（event driven）是一种常见的代码模型，其通常会有一个主循环（mainloop）不断的从队列中接收事件，然后分发给相应的函数/模块处理。常见使用事件驱动模型的软件包括图形用户界面（GUI），嵌入式设备软件，网络服务端等。本文以一个高度简化的嵌入式处理模块做为事件驱动代码的例子：假设该模块需要处理用户命令、外部消息、告警等各种事件，并在主循环中进行分发...

嵌..]]></description><category></category></item><item><title><![CDATA[C++中内存泄漏的检测方法介绍]]></title><link>https://blog.youkuaiyun.com/liangminghui/article/details/8487692</link><guid>https://blog.youkuaiyun.com/liangminghui/article/details/8487692</guid><author>liangminghui</author><pubDate>Wed, 09 Jan 2013 22:45:32 +0800</pubDate><description><![CDATA[首先我们需要知道程序有没有内存泄露，然后定位到底是哪行代码出现内存泄露了，这样才能将其修复。

　　最简单的方法当然是借助于专业的检测工具，比较有名如BoundsCheck，功能非常强大，相信做C++开发的人都离不开它。此外就是不使用任何工具，而是自己来实现对内存泄露的监控，分如下两种情况：

　　一. 在 MFC 中检测内存泄漏

　　假如是用MFC的程序的话，很简单。默认的就有内存]]></description><category></category></item><item><title><![CDATA[关于ModifyStyle ModifyStyleEx修改自定义控件的问题]]></title><link>https://blog.youkuaiyun.com/liangminghui/article/details/5895802</link><guid>https://blog.youkuaiyun.com/liangminghui/article/details/5895802</guid><author>liangminghui</author><pubDate>Mon, 20 Sep 2010 00:16:00 +0800</pubDate><description><![CDATA[继承与MFC控件，比如CStatic CEdit等等，在自定义代码中许多人反映无法更改控件的外观属相，这是因为大部分人没有通知主窗体自定义控件的外观更改了，可以使用下列代码进行更改： ModifyStyle(WS_BORDER,0,SWP_DRAWFRAME); ModifyStyleEx(WS_EX_STATICEDGE|WS_EX_WINDOWEDGE|WS_EX_DLGMODALFRAME,                        WS_EX_CLIENTEDGE,SWP_DRAWFRAME);]]></description><category></category></item><item><title><![CDATA[面向对象设计中的相关设计准则]]></title><link>https://blog.youkuaiyun.com/liangminghui/article/details/5134901</link><guid>https://blog.youkuaiyun.com/liangminghui/article/details/5134901</guid><author>liangminghui</author><pubDate>Tue, 05 Jan 2010 13:27:00 +0800</pubDate><description><![CDATA[(1)所有数据都应该隐藏在所在的类的内部。(2)类的使用者必须依赖类的共有接口，但类不能依赖它的使用者。(3)尽量减少类的协议中的消息。(4)实现所有类都理解的最基本公有接口[例如，拷贝操作(深拷贝和浅拷贝)、相等性判断、正确输出内容、从ASCII描述解析等等]。(5)不要把实现细节(例如放置共用代码的私有函数)放到类的公有接口中。如果类的两个方法有一段公共代码，那么就可以创建一个]]></description><category></category></item><item><title><![CDATA[脚跟脚设计单件模式—第二脚]]></title><link>https://blog.youkuaiyun.com/liangminghui/article/details/4267031</link><guid>https://blog.youkuaiyun.com/liangminghui/article/details/4267031</guid><author>liangminghui</author><pubDate>Sat, 13 Jun 2009 21:24:00 +0800</pubDate><description><![CDATA[将Parameters设计成单件模式class Parameters{public:	//Parameters类的全局唯一访问点	static Parameters* Instance()	{		if (!instance)		{			instance = new Parameter();				}				return instance;	}]]></description><category></category></item><item><title><![CDATA[脚跟脚设计单件模式—第一脚]]></title><link>https://blog.youkuaiyun.com/liangminghui/article/details/4266748</link><guid>https://blog.youkuaiyun.com/liangminghui/article/details/4266748</guid><author>liangminghui</author><pubDate>Sat, 13 Jun 2009 18:24:00 +0800</pubDate><description><![CDATA[单件模式概述四人帮在设计模式中对单件（singleton）的描述是：设计一个只存在一个实体的类，并为它提供一个全局访问点。这个类似中国社会主义初级阶段基本国策，一对夫妇“只要一个孩”，只要一个孩子好保证（狂罚款呗），要上全世界都能够看到他，是比较难的。所以单件模式设计一个全局访问点是其核心内容。单件类的实体（单件对象）是个完全自负责的对象，生命的周期完全自控，自己负责对像自身的产生和销毁，]]></description><category></category></item><item><title><![CDATA[WCF编写规范]]></title><link>https://blog.youkuaiyun.com/liangminghui/article/details/4260433</link><guid>https://blog.youkuaiyun.com/liangminghui/article/details/4260433</guid><author>liangminghui</author><pubDate>Thu, 11 Jun 2009 14:15:00 +0800</pubDate><description><![CDATA[本文转自 http://blog.youkuaiyun.com/dotnetsong博客空间，只是用于整理 通用设计指南1、所有的服务必须遵循以下原则：a、服务是安全的b、服务在系统中应保持状态一致c、服务是线程安全的d、服务可以被并发客户端访问e、服务是可靠的f、服务是健壮的 2、服务应该遵循以下可选原则：a、服务是可互操作的b、服务的规模是不变的c、服务是可用的d、服务是及时响应的e、服务是受限的]]></description><category></category></item><item><title><![CDATA[使用Visual Studio 2008编译Openssl]]></title><link>https://blog.youkuaiyun.com/liangminghui/article/details/4236355</link><guid>https://blog.youkuaiyun.com/liangminghui/article/details/4236355</guid><author>liangminghui</author><pubDate>Tue, 02 Jun 2009 16:11:00 +0800</pubDate><description><![CDATA[Openssl概述：OpenSSL是一个强大的安全套接字层密码库，Apache使用它加密HTTPS，OpenSSH使用它加密SSH，但是，你不应该只将其作为一个库来使用，它还是一个多用途的、跨平台的密码工具。 OpenSSL有许多的特征，除了具有SSL客户端和服务端特征，OpenSSL还有： ◆美国联邦政府NIST FIPS 140-2一级评估确认 ◆TLS，下一代SSL协议 ◆X.5]]></description><category></category></item><item><title><![CDATA[Openssl生成导入X509证书]]></title><link>https://blog.youkuaiyun.com/liangminghui/article/details/4236329</link><guid>https://blog.youkuaiyun.com/liangminghui/article/details/4236329</guid><author>liangminghui</author><pubDate>Tue, 02 Jun 2009 16:08:00 +0800</pubDate><description><![CDATA[在OpenSSL官网上下栽了OpenSSL工具，在配置环境变量后，执行以下命令：//创建根证书，并采用自签名签署它//创建私钥openssl genrsa -out root/root-key.pem 1024//创建证书请求openssl req -new -out root/root-req.csr -key root/root-key.pem//自签署根证书o]]></description><category></category></item><item><title><![CDATA[QT C++编程框架简介]]></title><link>https://blog.youkuaiyun.com/liangminghui/article/details/4227505</link><guid>https://blog.youkuaiyun.com/liangminghui/article/details/4227505</guid><author>liangminghui</author><pubDate>Sun, 31 May 2009 10:37:00 +0800</pubDate><description><![CDATA[Qt是一个多平台的C++图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt是完全面向对象的很容易扩展，并且允许真正地组件编程。 自从1996年早些时候，Qt进入商业领域，它已经成为全世界范围内数千种成功的应用程序的基础。Qt也是流行的Linux桌面环境KDE 的基础，KDE是所有主要的Linux发行版的一个标准组件。 Qt支持下述平台：  ]]></description><category></category></item><item><title><![CDATA[注册管理服务的设计]]></title><link>https://blog.youkuaiyun.com/liangminghui/article/details/4212417</link><guid>https://blog.youkuaiyun.com/liangminghui/article/details/4212417</guid><author>liangminghui</author><pubDate>Sun, 24 May 2009 14:53:00 +0800</pubDate><description><![CDATA[软件的保护是每个软件设计人员必须要面对的问题，软件保护的目的就是尽最大的可能拒绝未经许可的用户使用它，或者让非法使用者付出比较高昂的代价（比如破解软件带来的时间和费用上的代价）。从理论上讲没有软件不能被破解，这取决于软件保护设计者和破解者的技术水平的高低，是矛和盾的较量。 从保护内容的角度来看，软件的保护主要有两个方面，一是软件的访问许可；二是软件的功能许可，大部分的中小软件只对软件产品进行访]]></description><category></category></item><item><title><![CDATA[怎样设计良好的类接口]]></title><link>https://blog.youkuaiyun.com/liangminghui/article/details/4161263</link><guid>https://blog.youkuaiyun.com/liangminghui/article/details/4161263</guid><author>liangminghui</author><pubDate>Fri, 08 May 2009 16:37:00 +0800</pubDate><description><![CDATA[怎样设计良好的类接口设计良好的类接口的关键是充分理解类的 ADT 和抽象层次，接口只是体现 ADT 特征的操作，而不是体现与 ADT 相关的操作。1、类接口要体现一致的抽象层次；（设计体现 ADT 特征的接口）2、类接口提供成对的服务；（仔细审视某个接口是否需要提供相应的、相等的或者相反的操作）3、把不相关的信息转移到其他的类中；（一半的操作使用类的部分数据，另一半的操作使用其余的数据的时候）4、]]></description><category></category></item></channel></rss>