自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(477)
  • 资源 (90)
  • 论坛 (11)
  • 收藏
  • 关注

原创 NMS非极大值抑制原理及实现

import numpy as npimport randomimport cv2def non_max_suppress(predicts_dict, threshold): for object_name, bbox in predicts_dict.items(): # 对每一个类别分别进行NMS;一次读取一对键值(即某个类别的所有框) bbox_array = np.array(bbox, dtype=np.float) # 下面分别获取框的...

2021-07-09 20:33:59 14

原创 Keras入门(二)模型的保存、读取及加载

https://blog.csdn.net/jclian91/article/details/83038861

2021-07-09 11:00:52 14

原创 AI车牌检测与识别(YOLO)

https://github.com/Feeyao/License-plate-recognitionhttps://guoqiang.blog.csdn.net/article/details/104040582?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-18.control&depth_1-utm_source=distribute.pc_rele

2021-07-01 09:24:50 17

原创 自定义对话框及其使用

import sysfrom PyQt5.QtWidgets import (QApplication, QDialog,QFileDialog, QColorDialog,QFontDialog,QProgressDialog, QLineEdit,QInputDialog,QMessageBox)from PyQt5.QtCore import Qt, pyqtSlot, QDir,QTime.

2021-06-27 15:32:53 8

原创 PyQt5调试记录

(1)设计Action(2)设计菜单和工具栏(3)信号与槽编辑器菜单槽函数不响应:(1)检查槽函数名字是否正确(2)Action Chenkable 是否勾选

2021-06-26 10:51:36 10

原创 PyQt5 音乐播放器实现

echo offrem 将子目录 QtApp 下的.ui文件复制到当前目录下,并且编译copy .\QtApp\MainWindow.ui MainWindow.uipyuic5 -o ui_MainWindow.py MainWindow.uirem 编译并复制资源文件pyrcc5 .\QtApp\res.qrc -o res_rc.py

2021-06-19 16:35:20 31

原创 设计模式C语言实现--目录

01)设计模式C语言实现(继承、封装、多态)02)设计模式C语言实现(访问者模式)03)设计模式C语言实现(状态模式)04)设计模式C语言实现(命令模式)05)设计模式C语言实现(解释器模式)06)设计模式C语言实现(备忘录模式)07)设计模式C语言实现(观察者模式)08)设计模式C语言实现(桥接模式)09)设计模式C语言实现(建造者模式)10)设计模式C语言实现(中介者模式)11)设计模式C语言实现(策略模式)12)设计模式C语言实现(适配器模式)13.

2021-06-17 09:48:04 15

原创 设计模式的C语言实现--工厂模式

简单工厂方法模式1 简介简单工厂方法定义一个用于创建对象的类,该类接受一个参数,通过参数决定创建不同的对象。GOF并没有把简单工厂方法定义为23种设计模式之一,可以认为简单工厂方法是工厂方法的简化形式。为了体现简单工厂方法和工厂方法的区别和联系,此处把简单工厂方法先单独讲一下。2 模拟场景假设你要生产电脑,电脑由硬盘、内存条、CPU、主板的部件组成。你为了保证供应链可靠,每种部件都选择了至少两家供应商。比如:硬盘供应商 seagate、Toshiba内存条供应商 SAMSUNG、Cr

2021-06-17 09:44:17 15

原创 设计模式的C语言实现--职责链模式

1 模拟场景假设我们要开发一个简单的防火墙软件。该防火墙软件允许用户自定义安全规则,并根据用户定义的安全规则阻止网络报文。我们来思考下可能的实现方案:方案一由请求者分别向每条安全规则发起处理请求。安全规则的细则(有多少条安全规则、哪条规则丢弃了报文、哪条规则没有丢弃报文)都暴露给请求者。方案二给所有安全规则的处理封装一个统一的处理者接口,请求者只需向该接口发起处理请求,不关心有多少条安全规则,也不关心具体那条安全规则丢弃了报文。很显然,方案二将请求者和处理者解耦,方案二

2021-06-17 09:17:20 5

原创 C语言实现面向对象编程

GOF的《设计模式》一书的副标题叫做“可复用面向对象软件的基础”,从标题就能看出面向对象是设计模式基本思想。由于C语言并不是面向对象的语言,C语言没有直接提供封装、继承、组合、多态等面向对象的功能,但C语言有struct和函数指针。我们可以用struct中的数据和函数指针,以此来模拟对象和类的行为。所以在正式开始设计模式前,先看看如何用C语言实现面向对象编程。本章针对面向对象的封装、继承、组合、多态给出C语言的实现方法。1 封装封装是指对象仅暴露必要的对外接口(这里指public方法)来和其它

2021-06-17 08:42:24 36

原创 Unix编程艺术---数据驱动编程

《Unix编程艺术》作者在介绍Unix设计原则时,其中有一条为“表示原则:把知识叠入数据以求逻辑质朴而健壮”。数据驱动编程的核心数据驱动编程的核心出发点是相对于程序逻辑,人类更擅长于处理数据。数据比程序逻辑更容易驾驭,所以我们应该尽可能的将设计的复杂度从程序代码转移至数据。真的是这样吗?让我们来看一个示例。假设有一个程序,需要处理其他程序发送的消息,消息类型是字符串,每个消息都需要一个函数进行处理。第一印象,我们可能会这样处理:void msg_proc(const char *msg...

2021-06-15 09:16:52 12

原创 UML学习之:类图

UML学习之:类图1.关于UML回顾20世纪晚期--准确地说是1997年,OMG组织(Object Management Group对象管理组织)发布了统一建模语言(Unified Modeling Language,UML)。UML的目标之一就是为开发团队提供标准通用的设计语言来开发和构建计算机应用。UML提出了一套IT专业人员期待多年的统一的标准建模符号。通过使用UML,这些人员能够阅读和交流系统架构和设计规划--就像建筑工人多年来所使用的建筑设计图一样。2.UML类图在...

2021-06-14 10:27:03 114

原创 设计模式的C语言实现--MVC模式

MVC 编程模式MVC 是三种 ASP.NET 编程模式中的一种。MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式:Model(模型)表示应用程序核心(比如数据库记录列表)。 View(视图)显示数据(数据库记录)。 Controller(控制器)处理输入(写入数据库记录)。 MVC 模式定义 Web 应用程序 带有三个逻辑层: 业务层(模型逻辑) 显示层(视图逻辑).

2021-06-12 11:39:09 30

原创 设计模式的C语言实现--适配器模式

将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。你想使用一个已经存在的类,而它的接口不符合你的需求。你想创建一个可以复用的类,该类可以与其它不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作。(仅适用于对象Adapter)你想使用一些已经存在的子类,但是不可能对每一个都进行子类化以匹配它们的接口。对象适配器可以适配它的父类接口。在单片机C中,该模式用的很少,大概如下:#def...

2021-06-12 09:11:46 8

原创 设计模式的C语言实现--桥接模式

将抽象部分与它的实现部分分离,使它们都可以独立地变化。考虑装操作系统,有多种配置的计算机,同样也有多款操作系统。如何运用桥接模式呢?可以将操作系统和计算机分别抽象出来,让它们各自发展,减少它们的耦合度。当然了,两者之间有标准的接口。这样设计,不论是对于计算机,还是操作系统都是非常有利的。在单片机中,该模式用的很少,大概如下:typedef struct _CPU { void (*assemble_cpu_imp)( struct _CPU* cpu ); int type;}...

2021-06-12 09:09:04 9

原创 设计模式的C语言实现--策略模式

在软件配置阶段,根据开关状态的不同,我们给一个接口赋一个具体实现,在软件运行阶段,仅调用接口。//开关配置过程typedef void ( *ProcStrategy )( void );void proc_strategy1( void ){ printf( "proc_strategy1\r\n" );}void proc_strategy2( void ){ printf( "proc_strategy2\r\n" );}#define LOWEND_TYP...

2021-06-12 09:05:23 8

原创 设计模式的C语言实现--装饰模式

装饰模式是比较好玩,也比较有意义。其实就我个人看来,它和责任链还是蛮像的。只不过责任链是比较判断,而装饰器是迭代处理。装饰模式就是那种迭代处理的模式,关键在哪呢?我们可以看看如下函数。void wapper( int( *func )( int, int ), int num1, int num2 ){ printf( "进入装饰器\n" ); //类似回调函数嘛,函数前后 可以进行装饰或者其他逻辑处理 func( num1, num2 ); printf( "走出装...

2021-06-11 16:16:35 12

原创 设计模式应用

分类:根据其目的(模式是用来做什么的)可分为创建型,结构型和行为型三种。创建型主要用于创建对象。结构型主要用于处理对象或类的组合。行为型主要用于描述对象或类怎样交互和怎样分配职责。创建型模式如下:5个建造者模式、工厂模式、抽象工厂模式、单例模式、原型模式结构型模式如下:7个组合模式、适配器模式、装饰模式、外观模式、桥接模式、代理模式、享元模式行为型模式如下:11个观察者模式、状态模式、责任链模式、访问者模式、命令模式、模...

2021-06-11 16:11:36 5

原创 设计模式的C语言实现--组合模式

组合模式多个对象形成树形结构以表示“整体--部分”的结构层次。组合模式对单个对象(即叶子对象)和组合对象(即父对象)的使用具有一致性。组合模式又可以称为“合成模式“ 或 ”整体-部分模式”,属于对象的结构型模式,它将对象组织到树形结构中,可以用来描述整体与部分的关系。链表的实现就是一个很好的例子:typedef struct _parse_handler_list { const char *handler; struct _parse_handler_lis...

2021-06-11 16:06:27 16 1

原创 设计模式的C语言实现--外观模式

typedef struct _Computer { void ( *work )( void );} Computer;void work( void ){ printf( "work here!\n" );}typedef struct _Phone { void ( *contact )( void );} Phone;void contact( void ){ printf( "contact here!\n" );}typedef st...

2021-06-11 15:58:05 11

原创 设计模式的C语言实现--建造者模式

一句话理解将一个人拆分为:手、脚、头、眼睛、鼻子、嘴,,,各个模块实现自己功能,最终组合为一个人举例 以前买电脑的时候,大家都喜欢自己组装机器。一方面可以满足自己的个性化需求,另外一方面也可以在价格上得到很多实惠。但是电脑是由很多部分组成的,每个厂家都只负责其中的一部分,而且相同的组件也有很多的品牌可以从中选择。这对于我们消费者来说当然非常有利,那么应该怎么设计呢?typedef struct _AssemblePersonalComputer{ void (*assemble_cp..

2021-06-11 15:51:18 11

原创 设计模式的C语言实现--观察者模式

抽象出众多对象共同的属性,该属性变化后,其他属性全部跟着改变,而不需要针对每个对象依次修改基本知识1、又叫发布-订阅模式。2、两个角色:观察者和被观察对象3、两者之间存在“观察”的逻辑关联4、当被观察者发生改变的时候,观察者就会观察到这样的变化,并且做出相应的响应5、“观察”不是“直接调用”6、实现观察者模式有很多形式,比较直观的一种是使用一种“注册——通知——撤销注册”的形式。实现步骤1、观察者将自己注册到被观察对象中,被观察对象将观察者存放在一个容器里2、被观察对象发生了某种变

2021-06-11 13:56:45 14

原创 设计模式的C语言实现--中介模式

当很多独立的个体之前存在大量交流时、所有消息转发给中介者,会大大降低代码交互复杂度举例 中介者模式,听上去有一点陌生。但是,只要我给朋友们打个比方就明白了。早先自由恋爱没有现在那么普遍的时候,男女之间的相识还是需要通过媒婆之间才能相互认识。男孩对女方有什么要求,可以通过媒婆向女方提出来;当然,女方有什么要求也可以通过媒婆向男方提出来。所以,中介者模式在我看来,就是媒婆模式typedef struct _Mediator{ People* man; People* woman;...

2021-06-11 09:54:17 10

原创 设计模式的C语言实现--策略模式

策略模式和状态模式,是大同小异的;状态模式讲究的是状态的变化,和不同状态下,执行的不同行为;而策略模式侧重于同一个动作,实现该行为的算法的不同,不同的策略封装了不同的算法。策略模式适用于实现某一功能,而实现该功能的算法是经常改变的情况。在实际工作中,遇到了实际的场景,可能会有更深的体会策略模式的三种角色抽象策略类(Strategy):定义所有支持的算法的公共接口。具体策略类(ConcreteStrategy):以Strategy接口实现某具体算法。环境类(Context) :维护一个对S

2021-06-11 09:33:46 8

原创 好的设计模式应该遵守的原则

单一职责原则要求在软件系统中,一个类只负责一个功能领域中的相应职责开闭原则要求一个软件实体应当对扩展开放,对修改关闭,即在不修改源代码的基础上扩展一个系统的行为里氏代换原则可以通俗表述为在软件中如果能够使用基类对象,那么一定能够使用其子类对象依赖倒转原则要求抽象不应该依赖于细节,细节应该依赖于抽象;要针对接口编程,不要针对实现编程接口隔离原则要求客户端不应该依赖那些它不需要的接口,即将一些大的接口细化成一些小的接口供客户端使用合成复用原则要求复用时尽量使用对象组合,而不使用继

2021-06-11 09:14:14 8

原创 设计模式的C语言实现--访问者模式

句话理解主要处理一些指定场景的环境,某人或事访问到你之后,根据该人的特性,给予回复。(如果特性会经常性变化,则不适合该设计模式)前提不知不觉当中,我们就到了最后一种设计模式,即访问者模式。访问者模式,听上去复杂一些。但是,这种模式用简单的一句话说,就是不同的人对不同的事物有不同的感觉。比如说吧,豆腐可以做成麻辣豆腐,也可以做成臭豆腐。可是,不同的地方的人未必都喜欢这两种豆腐。四川的朋友可能更喜欢辣豆腐,江浙的人就可能对臭豆腐更喜欢一些。那么,这种情况应该怎么用设计模式表达呢?例子typedef

2021-06-11 08:49:55 16

原创 设计模式的C语言实现--状态模式

模式动机状态模式(状态机)是嵌入式开发中最重要、最核心的设计模式之一,毫不夸张的说,是否熟练掌握状态模式,很大程度上直接决定了嵌入式工程师的代码掌控能力。在嵌入式开发里面,几乎80%以上的程序都有状态模式(状态机)的影子。在一个思路清晰而且高效的程序中,必然有状态模式(状态机)身影浮现。但是很多嵌入式开发者只是掌握一些很基础的状态机编程,对状态机编程如果提高程序的可维护性和可拓展性并没有一个深刻的理解。这里我通过一个简单易懂的MP3播放器案例,把自己独家总结的状态机六步法分享给大家,帮助大家在啃下状态

2021-06-10 22:30:18 14

原创 设计模式的C语言实现--事件处理

嵌入式软件都是接受到一个事件,然后处理。简单的可以是一个按键点灯程序。检测到按键便是一个事件,点灯便是事件的处理。用代码可以这样表达static void LedOn() \\点亮一个LED{ ... }static int isKeyDown() \\检测按键是否按下{ ...}int main(){ while(1){ if(isKeyDown()) //事件检测 LedOn(); ...

2021-06-10 22:08:26 24

原创 设计模式的C语言实现--命令模式

命令模式。先来看一个通讯协议相关的例子,数据帧定义如下:帧长度 传感器类型 数据 1字节 1字节 n字节 传感器数据格式定义如下传感器 类型号 数据格式 温度传感器 1 整型数据(4字节) 湿度传感器 2 整型数据(4字节) 解析实现可如下实现:static int parse(const char *data,size_t n){ int len = data[0]; int type =.

2021-06-10 21:26:46 17

原创 数据结构--循环队列

1. 顺序队列的假溢出&循环队列的概念我们已经明白了队列这种基本数据结构,对于顺序队列而言,其存在已经足够解决大多时候的设计问题了,但是其依旧存在一些缺陷和不足,因为我们的入队和出队操作均是直接在其后面进行结点的链接和删除,这就造成其使用空间不断向出队的那一边偏移,产生假溢出。什么是假溢出?打一个比方:(示例顺序队列)回顾一下队列的性质,首先我们有一个顺序队列,这个队列的大小为5,其已经包含了四个元素data1,data2,data3,data4,接着,我们对这个队列进行出队操作,出

2021-06-10 09:02:06 31

原创 鸿蒙系统简介

================鸿蒙系统简介================================鸿蒙OS开发社区================开放原子基金会鸿蒙OpenHarmonyOS官方代码仓库:https://openharmony.gitee.com/华为发行版鸿蒙HarmonyOS官方代码下载库:https://repo.huaweicloud.com/harmonyos/os/鸿蒙OpenHarmonyOS 1.1..0LTS版本https://repo.hu...

2021-06-09 16:43:58 1380

原创 Zephyr Tick Clock

在Zephyr Tick Clock简介一文中分析tick clock的工作原理提到每个tick中断的时候将会调用z_clock_announce,通知现在已经走了一个tick了,同时也提到了tick clock是sheep time和wait timeout的基础设施,本文将分析Zephyr的Timeout模块,说明Zephyr如何管理timeout对象,以及如果驱动timeout。Timeout本身会去驱动Zephyr内核的时间片,本文不对该部分进行分析。同时我们继续以tickless kernel

2021-06-08 13:50:54 8

原创 zephyr-双向链表

先来看看结点的数据结构:struct_dnode{union{struct_dnode*head;/*链表头指针(sys_dlist_t)*/struct_dnode*next;/*下一节点指针(sys_dnode_t)*/};union{struct_dnode*tail;/*链表尾指针(sys_dlist_t)*/struct...

2021-06-07 11:23:17 19

原创 Zephyr学习(一)线程和调度

前面说过zephyr支持静态和动态两种方式创建线程,这里分析动态创建的方式。应用程序通过调用k_thread_create()函数创建一个线程,实际上是调用_impl_k_thread_create()函数,定义在zephyr-zephyr-v1.13.0\kernel\thread.c:1 k_tid_t _impl_k_thread_create(struct k_thread *new_thread,2 k_thread_stack_t *stack,

2021-05-28 09:26:00 16

原创 python 常用API

1.在程序开发中,常常会遇到这样的需求:在执行对象中的某个方法,或者在调用对象的某个变量,但是由于一些原因,我们无法确定或者并不知道该方法或者变量是否存在,这时我们需要一个特殊的方法或者机制来访问或操作该未知的方法或变量,这种机制就被称之为反射。...

2021-05-08 16:12:13 11

原创 Python 中调用C DLL printf 输出顺序的问题

# -*- coding: utf-8 -*- import ctypes from ctypes import * import numpy as np import sys import struct def demo_dll(): """ 调用C动态库中的函数 """ mlibc = cdll.LoadLibrary('libutils.dll') print ("begin") n = mlibc.add(3, 4..

2021-04-29 16:28:15 35 2

原创 µGUI v0.3 Embedded Lightning

http://embeddedlightning.com/ugui/

2021-04-23 17:58:34 32

原创 全连接层的作用是什么?

以下是我看过最好的全连接层的解释!原文链接:卷积神经网络(CNN)入门讲解关注专栏以上图为例,我们仔细看上图全连接层的结构,全连接层中的每一层是由许多神经元组成的(1 × 4096)的平铺结构,上图不明显,我们看下图:注:上图和我们要做的下面运算无联系并且不考虑激活函数和bias当我第一次看到这个全连接层,我的第一个问题是:它是怎么样把3x3x5的输出,转换成1x4096的形式?很简单,可以理解为在中间做了一个卷积。从上图我们可以看出,我们用一个 3×3×5 的 filter 去卷积

2021-04-17 16:56:55 192

原创 source insight python Python.CLF 语言包,设置source insight使之可以查看并编辑python文件

习惯了source insight,找到了一个教程可以使source insight查看python语言,照着设置一下。1、需要下载一个插件,下面地址下载压缩包,解压即可python插件下载地址https://download.csdn.net/download/lbaihao/165924662、见图片3、现在可以正常添加python工程了4.python插件下载地址https://download.csdn.net/download/lbaihao/16592466...

2021-04-09 16:11:37 48

原创 Python ctypes使用混合编程

1.最基本的调用1.生成so库 创建c++头文件和实现 头文件 #ifndef GENASO_UTILS_H#define GENASO_UTILS_H#include <iostream>using namespace std;void sayHello();#endif //GENASO_UTILS_H 实现 #include "utils.h"void sayHello(){ cout<<"hello world"&lt

2021-04-08 13:41:14 35

嵌入式c语言设计(经典)

单片机的应用越来越广泛,种类也越来越多。由于嵌入式C语言可读性强、移植性好,与汇编语言相比大大减轻了软件工程师的劳动强度,因而越来越多的单片机工程师开始使用C语言编程。但C语言的可移植性仅限于与硬件无关的子程序,而与具体硬件有关的子程序则无法移植。在单片机应用中,位操作(特别是对引脚的位操作)非常普遍,如EEPROM数据和IC卡数据的读写、字段式LCD显示等,很多带串口的集成电路都需要单片机用软件来做I/O口读写程序。如何让这些子程序既有很好的通用性,生成代码的效率又高,是很多软件工程师都在考虑的问题。

2009-08-24

python ism 算法

python版本的ism算法,用于语音识别领域,处理混响的数据仿真问题

2018-12-06

TCP/IP协议课件(哈尔滨工业大学)

掌握 计算机网络与Internet的基本概念 掌握Internet、Intranet、Extranet的含义及其区别 了解Internet产生、发展和现状 了解网络互连的基本概念以及接入Internet的基本方法

2009-09-03

sphinx 声学模型和词典

pocketsphinx 声学模型和词典 tdt_sc_8k 支持utf-8格式

2018-11-30

PyQt5编写串口程序源代码

Pyserial-Demo 串口程序源代码,使用PyQt5编写

2021-04-03

UGUI-master.7z

µGUI v0.3 简单开源的 嵌入式小Gui ,本文档简单介绍了UGUI的使用方法和可以移植到任何嵌入式系统中,可以方便编写TFT 显示屏。Open Source GUI modulefor embedded systemsGUI是一个用于嵌入式系统的免费开源图形库。它是平台无关的,可以很容易地移植到几乎任何微控制器系统。只要显示器能够显示图形,GUI就不局限于某种显示技术。因此支持LCD、TFT、E-Paper、LED、OLED等显示技术。整个模块包括两个文件:ugui.c和ugui.h。

2021-04-23

Cpp-Design-Patterns-master.7z

大话设计模式书籍源代码

2021-06-15

pocketsphinx zh_broadcastnews_16k_ptm256_8000.tar

pocketsphinx 语音识别中文开源字典,声学模型,词典,zh_broadcastnews_16k_ptm256_8000

2018-11-30

经典挑战C++入门教程.

作为一个长篇的C++入门教程,无论如何也应该有这么个引言,可是文笔并不好的我,想了很久也不知道该如何写。。。。。。   仔细想想,与其把这篇短文当作教程的引言,其实它更应该是一篇引导初学者步入C++殿堂的策论。   几年并不算很长的编程经验,使我感触颇深,痛苦迷茫,以及成功后的喜悦一直交替着伴随我,爱好编程的我,在学习期间也被很多很多学习的困难疑惑所阻挡,甚至不只一次的想放弃。   让我初次领略到作为一个程序员应该有快乐与喜悦的是VISUAL BASIC语言,这些年为了工作,也学习过很多其它的语言,包括时下正在流行的JAVA与C#等等,在这里不得不说的是,作为一个程序员,一个能够适应当前中国工作环境的程序员,你要学的还远不止这些,包括数据系统,等等,等等。   很早就听人说过,如果你是一个程序员,如果你没有学过C语言,那么就不能算做是一个真正的程序员,这句话也许有点夸张,不过当你学习过它以后就不得不承认这句话真的有那么几分道 理,C++语言是由C语言发展而来的一种新的支持面向对象的语言,从一开始接触它,它的魅力就深深的吸引着我,起初我和很多想要学习它的人一样,觉得它很难懂,当时为了看懂,想明白一些现在看来真的很容易的例子时,真的有点让我抓狂。   作为一种灵活性高,体系庞大,支持面向对象思想的高级语言,C++的确比其它语言更难学习,很多正在学习它的在校大学生,以及很多正在从事编程工作想自学它的程序员,对于它的入门及各必要知识点掌握苦恼不已。   其实学习C++和学习其它知识一样,并没有很多特别的要求,需要的只是那么一点点耐心,那么一点点忍耐力,以及遇到困难挫折不轻易屈服的精神,更重要的一点是你必须有一本好的,适合你的入门书籍指引你逐渐进步,面对书店里种类繁多,出名的不出名的C++教材,不光是初学者就连我也同样觉得眼花缭乱无从选择,很多优秀的国外C++教材有着过于系统的知识面以及跳跃式阅读的方法, 这对初学者,尤其是从小就习惯从头到结尾阅读书籍的中国人来说是不合适的,国内的教材多以大学教材为主,这些书中的例子多以大学数学,或者工程数学举例,这样一来就把很多数学并不很好的读者拒之门外了。   在行内,很多人是不愿意和你分享学习经验的,一来工作任务繁重,再着很多人觉得这样会给自己带来更多的竞争对手。这些我都亲身经历过,正是因为此类的种种感受,于是我由内心而发,真心实意的愿意帮助那些正在学习C++语言想入门的朋友们。   从一开始学习计算机语言,几乎所有的人都会问到,我该如何入门,入门后又该如何继续持久的进步下去呢?首先我要说的是,计算机语言的入门,无论是C/C++还是JAVA、 C#,他们都和高等数学没有太多联系,计算机语言是一种逻辑的文字描述,体现逻辑的是思想,当你通过理解一些计算机语言所描述的,并不算难的逻辑问题后,你就已经掌握了语言本身,并且真正入门了。   当然,计算机语言毕竟是和数学有密切联系的产物,在计算机世界里他们彼此依赖谁也离不开谁,当你正确理解编程思想,掌握必要知识点,入门之后,如果想做一个优秀的程序员而不是单单做一个程序的"拼装工",你就不得不对数学知识进行进一步的系统学习。 此长篇C++入门教程正是指引读者迈入C++殿堂的初级读本,目的只是帮助读者快速入门,掌握必要的知识点,为了让教程通俗易懂,容易理解,适合自学,笔者为此下了不少工夫,同时也和我的一些朋友讨论过,意见中值得注意的是, 一个作者如果没有教学,就只知道摸索一种适合自己的学习方法,对于语言学习的难点重点,关键是如何将复杂的问题用朴素的"俗"文化来写,针对这些问题笔者笔者是认真反思过的,所以全书完全站在初学读者的思考的角度来写,教程中完全不包括任何难以理解的高等数学、工程数学问题,及C++标准库知识,着重对各入门的难点重点详细讲解分析,相信认真学习并读过它的人绝对不会觉得是浪费时间。   对于C++学习,创建一条由入门到深入最后到精通的可持续学习并不段发展的道路概括起来可以是以下顺序。   1.学习一些基本的C语言知识,例如:什么是变量,什么是函数   2.C++语言入门,基本知识点的掌握。   3.高等数学及工程数学的系统学习,结合实际了解并使用C++的各类常用的标准库。此外平时可以找一些广受好评的具备一定深度的C++教材看一下,进一步理解C++的高级编程精髓,以及看一些计算机原理和数据结构方面的书籍。   4.学习包括在各类操作系统下编程的必要知识,以Windows操作系统为例,需要学习掌握WIN API,以及高效开发的MFC,VCL等在内的其它知识。   千里之行始于足下,路虽然很长,困难也会很多,不过你一旦入门,一定会觉得面前豁然开朗,会不段的激励着你学习下去的。读者们如果在学习过程中有不懂的问题可以来我的站点提问,我会尽力解答的。站点地址:http://www.cndev-lab.com   写到这里笔者也呼吁更多的程序高手们,敲起你的键盘,把你的优秀的经验和思想奉献出来,帮助更多需要的人,毕竟思想是需要的是沟通的,知识是需要的是共享,快乐需要的是传递的。   最后在这里要感谢的是我的家人,我的父亲:管苗青、母亲:汪秋霞。多年来父亲母亲给我的帮助很大,一直耐心鼓励着我学习,母亲对我学习上的帮助已及她优秀的自学经验思想是我一生中最重要的财富。

2009-08-23

darknet-master开源深度学习框架

darknet是一个较为轻型的完全基于C与CUDA的开源深度学习框架,其主要特点就是容易安装,没有任何依赖项(OpenCV都可以不用),移植性非常好,支持CPU与GPU两种计算方式。

2021-05-29

VC++6.0 打开位图文件源代码 BMP图像数据的读取与显示

VISUAL C++ 6.0 数字图像编码 图像数据的读取与显示 可直接运行 并附源代码

2010-12-21

蓝牙跳频的仿真程序GFSK

蓝牙跳频的仿真程序采用GFSK 程序 , 仿真 , 源代码

2021-03-15

python clf 用于配置source insight,使之支持python语言读取.py文件

从官网下载的 source insight python Python.CLF 语言包 SourceInsight作如下配置: (1)选择Options > Preferences,单击Languages选项; (2)单击import按钮,装载并导入Python.CLF; (3)这时可以看到,左栏语言列表多了一项Python Language; (4)单击Document Types按钮,打开文档选项对话框; (5)添加Document Type为Python,File filter为“*.py”,Passer组中Language选项设置为Python Language; (6)单击文档选项对话框的close按钮; (7)单击Preferences窗口OK按钮,退出Preferences窗口,完成设置。

2021-04-09

µGUI v0.3 Reference Guide

/* -- µGUI - Generic GUI module (C)Achim Döbler, 2015 -- */ /* -------------------------------------------------------------------------------- */ // µGUI is a generic GUI module for embedded systems. // This is a free software that is open for education, research and commercial // developments under license policy of following terms.

2021-04-23

低功耗蓝牙Ble_GFSK 仿真程序

低功耗蓝牙Ble_GFSK

2021-03-15

proteus仿真51单片机串口通讯

proteus仿真51单片机串口通讯实验

2009-09-02

ism算法用于语音混响

ism算法,用语音信号的仿真,数据扩展,对混响远场语音有很好的效果

2018-12-06

Keil与proteus完美结合教程

Proteus VSM包括原理布图系统ISIS、带扩展Prospice混合模型仿真器、动态器件库、高级图形分析模块和处理器虚拟系统仿真模型VSM,是一个完整的嵌入式系统软、硬件设计仿真平台。支持ARM7,PIC ,AVR,HC11以及8051系列的微处理器CPU模型,更多模型正在开发中,更新信息请参见网页; 交互外设模型有LCD显示、RS232终端、通用键盘、开关、按钮、LED等; 强大的调试功能,如访问寄存器与内存,设置断点和单步运行模式; 支持如IAR、Keil和Hitech等开发工具的源码C和汇编的调试; 一键“make”特性:一个键完成编译与仿真操作; 内置超过6000标准SPICE模型,完全兼容制造商提供的SPICE模型; DLL界面为应用提供特定的模式; 基于工业标准的SPICE3F5混合模型电路仿真器 14种虚拟仪器:示波器、逻辑分析仪、信号发生器、规程分析仪等; 高级仿真包含强大的基于图形的分析功能:模拟、数字和混合瞬时图形;频率;转换;噪声;失真;付立叶;交流、直流和音频曲线; 模拟信号发生器包括直流、正旋、脉冲、分段线性、音频、指数、单频FM;数字信号发生器包括尖脉冲、脉冲、时钟和码流; 集成PROTEUS PCB设计形成完整的电子设计系统。

2009-09-02

PyQt 5.0 GUI与数据可视化程序

PyQt 5.0 GUI与数据可视化程序源码

2021-04-06

PyQt5-Tutorial-Examples

PyQt5-Tutorial-Examples

2021-04-06

opencv-pyqt5-master.zip

opencv-pyqt5-master

2021-04-06

digital_modulations ASK, FSK, PSK 代码实现

Digital modulations: ASK, FSK, PSK A python implementation to visualize digital modulations.

2021-03-15

white_balance_Gray_World_Balance_Perfect_Reflector_Balance.7z

图像ISP 白平衡算法,共4种主流算法的实现

2021-03-10

C#.NET课件中南大学(全)

本课件共11章(包含C#面试题)了解.NET与.NET Framework了解.NET Framework与Visual Studio.NET了解公共语言运行时的作用了解.NET Framework类库了解C#.NET和Visual Studio.NET 了解程序集的基础知识了解名称空间的组成学会创建C#.NET应用程序 了解中间语言System.IO 命名空间包含允许读写文件和数据流的类型以及提供基本文件和目录支持的类型。 Stream 是所有流的抽象基类。流是字节序列的抽象概念,例如文件、输入/输出设备、内部进程通信管道或者 TCP/IP 套接字。Stream 类及其派生类提供这些不同类

2009-09-02

MIMO-OFDM-Wireless-Communications-with-MATLAB-backup201703031327.7z

MIMO-OFDM无线通信技术 MATLAB实现

2021-02-24

嵌入式系统Linux下液晶LCD显示的实现.

介绍了嵌入式微处理器PXA270的LCD控制器与SHARP公司的液晶屏LQ035QTDH06,分析了n吓 显示器基本原理。结合它们的工作时序设计了LCD的驱动电路,并在嵌入式操作系统Linux下设计了相应的驱 动程序,实现了嵌入式设备的TFT液晶屏的显示.该设计在嵌入式设备中对于驱动TFT-LCD液晶屏具有通用性. Linux下的驱动程序具有很强的移植性,只需经少许改动就可以很方便地应用到不同的开发系统中。

2009-09-03

谭浩强C语言word版习题答案(很有用哦)

谭浩强C语言word版习题答案 第一章 1.6 main() {int a,b,c,max; printf("input three numbers:\n"); scanf("%d,%d,%d",&a,&b,&c); max=a; if(max<b)max=b; if(max<c)max=c; printf("max=%d",max); }

2009-09-02

基于51单片机的电子时钟(包含源代码)

TF1(TCON.7):T1溢出中断请求标志位。T1计数溢出时由硬件自动置TF1为1。CPU响应中断后TF1由硬件自动清0。T1工作时,CPU可随时查询TF1的状态。所以,TF1可用作查询测试的标志。TF1也可以用软件置1或清0,同硬件置1或清0的效果一样。 TR1(TCON.6):T1运行控制位。TR1置1时,T1开始工作;TR1置0时,T1停止工作。TR1由软件置1或清0。所以,用软件可控制定时/计数器的启动与停止。 TF0(TCON.5):T0溢出中断请求标志位,其功能与TF1类同。 TR0(TCON.4):T0运行控制位,其功能与TR1类同。

2009-10-04

直连网线和交叉网线使用区别

交叉线:一头是T-586A的标准另一头是T-568B的标准,才可以两台计算机直接相连(网卡对网卡) ,普通的网线(直通线)两头一般都是T-568B标准的。 所以,需要一根专门制作的网线,或者手头有空余的线改一下也可以只改一个头。做水晶头的时候,另一头要把 第1根和第3根对调,第2根和第6根对调。

2009-10-11

清华大学郑莉C++讲稿及例题_实验源代码

清华大学郑莉C++讲稿及例题_实验源代码

2009-08-22

面向机顶盒嵌入式系统的仿真测试环境构型

嵌入式计算机系统在近年来发展迅速,它在应用数量上已经远远超过传统意义上的计算机。大量嵌入 式设备被广泛应用于广播电视领域,这些嵌入式的可靠性已成为人们关注的重点问题。嵌入式设备的可靠 性是由硬件可靠性和软件可靠性共同决定的,任何一方的不可靠都将影响整个系统总体的可靠性。就目前 情况而言,由于微电子学技术的进步,计算机硬件的性价比平均很十年提高两个数量级,而且质量稳步提 高;与此同时,计算机软件的成本却在逐年上升,质量却没有可靠保证。因此,目前的实际情况是硬件的可 靠性高,而软件的可靠性低,软件的可靠性成为整个系统可靠性的关键因素。而提高嵌入式软件可靠性的 一个有效的办法就是测试,因此,找到一种适用于广播电视设备嵌入式软件的测试方法是一件急迫需要解 决的问题。 随着有

2009-09-03

C++100例(包含全部源码)

C++100例包含全部源码,适合初学者练习

2009-09-03

sphinxbase-5prealpha

sphinxbase-5prealpha 语音识别源码工具 Pocketsphinx中英文小范围高准确率

2018-11-30

基于ARM7TDMI内核的S3C44B0异常处理分析

介绍了ARM7TDMI的7种工作模式及各种工作模式下处理器的基本功能、适用的条件以及在嵌入式系统设计中的重要性。详细分析了复位、快速中断和普通中断的编程要点以及在嵌入式程序设计中的作用,并结合S3C44B0示例程序分析了CPU对异常处理的方法。

2009-09-03

基于S3C2440与Linux的ARM9嵌入式系统的构建

摘要:研究了ARM9中$3C2440与Linux的嵌入式系统构建。开发嵌入式Linux系统最方便的方法是构建一个 标准的Linux开发环境。开发环境建立包括在Pc机上安装1.,inux系统和交叉编译器,编译开发板的Linux内核 映像文件,制作根文件系统,加载引导程序。至此,就完成了一个ARM9嵌入式系统构建,可以开始进行Linux .嵌入式系统开发。

2009-09-02

PROTEL 99SSE教程

第一章 原理图设计 3 一、新建设计数据库 3 二、方便的文件查找功能 4 三、直接浏览原理图库器件 5 四、增强的选中功能 6 五.文本字符在线编辑 6 六、器件标号的重新注释 6 七、库中器件管脚的热点捕捉 8 八、删除元件库中器件的确认功能 8 九、产生元件类和网络类 8 十、端口、图纸入口功能增加 9 十一、丰富的输入、输出功能 9 第二章 PCB设计 10 一、层管理功能 10 二、强大的机械层管理 10 三、设计规则 11 四、增强的元件布局 12 五、库编辑器增强的拷贝粘贴功能 14 六、在PCB中修改元件封装 14 七、放置工具条增加功能(Place) 14 八、Option中只显示用到的层 15 九、在已覆铜区域放线条,可以自动重新铺铜 15 十、过孔显示网络名称 15 十一、强大的全局编辑功能 16 十二、选择功能加强 16 十三、增强的解散功能 17 十四、增强的补泪滴功能 17 十五、布线在焊盘上时,切换层不增加过孔 17 十六、状态条信息的增强 18 十七、3D显示 18 十八、新的自适应移屏方式,与板尺寸无关 18 十九、可以对个别焊盘或过孔设置阻焊 19 二十、PCB封装库增加Redo、Undo功能 19 二十一、打印功能增强 19 二十二、第三方接口增强 20 二十三、强大的CAM管理功能 21 第三章 原理图仿真 22 一、仿真(Simulation)菜单项 22 二、仿真库 33 三、仿真电路分析 36 第四章 PLD设计 42 一、PLD菜单项 42 二、CUPL语言设计 43 三、原理图设计PLD 47

2009-09-04

C语言输出格式总结.

1 一般格式 printf(格式控制,输出表列) 例如:printf("i=%d,ch=%c\n",i,ch); 说明: (1)“格式控制”是用双撇号括起来的字符串,也称“转换控制字符串”,它包括两种信息: ①格式说明:由“%”和格式字符组成,它的作用是将输出的数据转换 为指定的格式输出。 ②普通字符,即需要原样输出的字符。 (2)“输出表列”是需要输出的一些数据,可以是表达式 (3) printf函数的一般形式可以表示为 printf(参数1,参数2,……,参数n) 功能是将参数2~参数n按参数1给定的格式输出 2 格式字符(9种) (1)d(或i)格式符。用来输出十进制整数,有以下几种用法: ①%d,按整型数据的实际长度输出。 ②%md,m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。 ③%ld(%mld 也可),输出长整型数据。 例如:long a=123456; printf("%ld",a)

2009-10-11

MDK 通杀版注册机支持多个版本(更新最新的注册机,支持5.15, 5.16, 5.17,5.18,5.20,5.21, 5.22,5.23,5.24)

MDK 通杀版注册机支持多个版本(更新最新的注册机,支持5.15, 5.16, 5.17,5.18,5.20,5.21, 5.22,5.23,5.24)

2017-08-16

高效的H.264并行编码算法

摘要: CABAC是H.264/AVC视频压缩标准主要档次中采用的熵编码机制,结合RDO模式选择技术,可以降 低2o%的编码码率,但是编码器计算复杂度却同时大大增加.对算法进行并行化是有效加快编码速度的方法,但是, 由于CABAC具有自适应编码的特点和RDO模式选择对熵编码的使用,使得顺序编码的宏块之间存在着严格的数据 相关性,限制了并行编码算法的开发.本文结合基于宏块区域划分的数据级并行编码机制MBRP和码率估计技术,为 采用CABAC熵编码机制的H.264编码算法提供了一种高效的并行编码方案:将H.264 编码算法划分为模式选择和码 流生成两个部分,使之构成典型的生产者一消费者关系;将RDO模式选择中的CABAC替换为码率估计,去除模式选择 过程中因CABAC导致的严格数据相关性;对模式选择部分采用MBRP并行机制;码流生成部分由单独的处理器完成, 并和模式选择部分实现流水化并行处理.通过4处理器系统模拟器进行实验,发现在保持视频压缩性能几乎不变的情 况下,该并行算法的加速比可以达到4.7

2009-09-02

media player classic 64位

media player classic 64位

2016-08-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除