加载中
使用alsa库播放pcm音频数据

下载alsa-lib alsa-project官网:https://www.alsa-project.org/wiki/Main_Page 安装alsa-lib 配置生成Makefile文件: ./configure --prefix=./build --enable-shared=no --enable-static=ye...

2020/12/20 17:03
1.7K
AWTK-MVVM:数据与命令的绑定

MVVM MVVMModel-View-ViewModel,它是MVC的改进版。 MVVM优点: 低耦合。视图(View)可以独立于Model变化和修改,一个ViewModel可以绑定到不同的View上,当View变化的时候Model可以不变,当...

2021/01/24 19:04
299
VLD的安装使用及其问题

目录 下载 VLD 安装 VLD 使用 VLD 打开项目 配置 VLD 环境(VS 版本在 2015 及其以下的无需配置) 使用 VLD 问题 应用程序无法正常启动 0xc150002 无法显示内存泄漏处函数调用栈位置信息 Fu...

【设计模式】创建型模式:抽象工厂

前言   上回在C语言中实现工厂模式,它极大地方便了对某个类进行具体实现上的拓展。但如果一个系统中需要用到许多个类,而工厂方法模式中每个工厂只创建一类具体类的对象,使用简单工厂模式...

单元测试中的 FIRST 原则

单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。进行单元测试,可以尽早地发现编写代码中错误,减少后期测试开销和维护成本,提高软件质量。 下文讲解写出好单元测...

2020/10/25 09:55
291
用C语言编写低耦合程序

耦合的定义   耦合,是对模块间关联程度的度量。 模块间的耦合度是指模块之间的依赖关系,其耦合性越强,同时表明其独立性越差。 低耦合的优点   降低模块间的耦合度能减少模块间的影响,...

2020/11/01 09:39
286
使用Python修改XML

加载元素树模块   Python标准库中,提供了元素树的两种实现。一个是纯Python实现的xml.etree.ElementTree,另一个是速度更快的C语言实现xml.etree.cElementTree。   因为C语言实现的元素...

2020/12/06 17:25
302
【设计模式】封装器模式:适配器模式

意图 适配器模式能使接口不兼容的对象能够相互合作。 问题 假如你正在使用 C++ 开发一个程序,在开发过程中需要使用一系列用 C 语言编写的函数,需要将一个类传入到这些函数中。而 C 语言是不...

2021/03/06 23:05
184
用C语言实现C++继承与多态

继承 继承就是当创建一个类时,不需要重新编写新的数据成员和成员函数,只需指定新建的类继承了一个已有的类的成员即可。这个已有的类称为基类,新建的类称为派生类。 举个例子:人是动物,人...

在C语言中实现工厂模式

  在需要对某个功能做拓展时,使用工厂模式能给代码带来尽量少的修改量。本文将通过遵循SOLID设计原则中的开闭原则和依赖倒置原则在C语言上实现工厂模式。   下面将使用解码器功能作为例...

SOLID设计原则

  SOLID 是面向对象设计五大重要原则的首字母缩写,当我们设计类和模块时,遵守 SOLID 原则就如同它的名字一样:(solid,可靠的),可以让软件更加稳定、灵活和健壮。 Single Responsibilit...

2020/11/29 22:13
185
软件三层架构设计

三层架构   三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:表示层(UIL)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合...

2020/11/22 18:00
148
C语言的内嵌汇编

在程序需要在嵌入式平台上运行时,如果需要代码占用内存更小、程序运行的效率更高或需要准确地操作寄存器时,嵌入汇编会是不错的选择。 内嵌汇编的语法格式 asm volatile( /* volatile : 可选...

2021/01/31 20:08
80
在C语言中函数的默认参数类型

  在许多c语言初学者中编写函数时,都喜欢将无参函数中的参数类型忽略。 int func();   但是实际上默认的参数类型不是无参void,而是接受任意数量和类型的参数。也就是说int func() 和 ...

2020/11/15 14:59
80
【设计模式】创建型模式:生成器模式

生成器模式 可分步骤创建复杂对象,使得可以使用相同的创建代码生成不同的对象。(将变化部分的代码放在生成器中) 适用场景 1.在可选参数较多时 示例问题:现在需要建造一栋房屋,可以是简单...

2021/02/08 15:48
49
【设计模式】创建型模式:原型模式

意图 原型模式是一种创建型设计模式, 使你能够复制已有对象, 而又无需使代码依赖它们所属的类。 问题 现在有一个对象, 并希望生成与其完全相同的一个复制品(其所有成员变量都要相同)。但...

契约式设计在类和单元测试中的应用

契约式设计的定义   契约式设计(Design by Contract (DbC)),这种设计方式和商业契约的情况类似。契约作用于两方,每一方都会完成一些任务,从而促成契约的达成,但同时,每一方也会接受一...

c++
2020/11/11 21:07
55
【设计模式】结构型模式:组合模式

意图 使用组合模式可以将对象组合成树状结构,并且能像使用独立对象一样使用它们。 组合模式结构 组件(Component)接口描述了树中简单项目和复杂项目所共有的操作。 叶节点(Leaf)是树的基...

2021/04/05 14:07
32
【设计模式】结构型模式:外观模式

意图 外观模式是一种结构型设计模式, 能为程序库、 框架或其他复杂类提供一个简单的接口。 问题 假设你必须在代码中使用某个复杂的库或框架中的众多对象。正常情况下,需要负责所有对象的初...

2021/04/18 12:50
34
【设计模式】结构型模式:装饰模式

意图 装饰模式是一种结构型设计模式,允许你通过将对象放入包含行为的特殊封装对象中来为原对象绑定新的行为。 问题 假设你正在开发一个提供通知功能的库, 其他程序可使用它向用户发送关于重...

2021/04/11 21:36
46

没有更多内容

加载失败,请刷新页面

返回顶部
顶部