自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ShiHongYu_的博客

记录自己的学习心得,加油!

  • 博客(31)
  • 收藏
  • 关注

转载 madplay安装及使用

转载自:https://blog.csdn.net/m0_37806112/article/details/81734881更多madplay命令:https://blog.csdn.net/wanlijunjun/article/details/53582081安装:一. 准备:    1.madplay-0.15.2b.tar.gz    2.libmad-0.15.1b.t...

2018-08-20 14:55:52 721

原创 嵌入式远程音乐播放器

实现目标一个在Linux下运行的嵌入式音乐播放器,可以通过键盘(控制台)和QT图形界面控制播放器,至少实现以下功能:显示所有歌曲列表; 实现音乐的开始播放、结束播放、继续播放、暂停播放; 实现歌曲上一首、下一首切换; 实现歌曲播放模式的选择(顺序播放、随机播放、单曲循环); 实现音量调节(有上限和下限); 历史播放记录。注:以上功能,既要通过键盘(控制台)实现,又要通过QT图形界...

2018-08-18 20:37:57 1758

转载 什么是引用?声明和使用引用时要注意哪些问题?

     专业地讲,引用就是某个目标变量的别名(alias),对引用的操作就是对变量的直接操作,它们的效果是完全一样的。声明一个引用时,必须要对其初始化,将其与某个变量相关联。        引用声明完毕后,相当于目标变量有两个名称----原名和引用名,不能把引用名再做为其他变量的的别名。声明一个引用,不是新定义一个变量,他只表示该引用是目标变量的一个别名。         引用不...

2018-08-17 16:56:00 4663

原创 const char * 、char const *、 char * const 三者的区别

const char *ptr;  //定义一个指向字符常量的指针,*ptr为const型,不可变,即指针指向的内容不可以通过ptr来修改,但是可以通过别的方式来修改。char const *ptr;  //同上char * const ptr;  //定义一个指向字符的指针常量 : ptr为const型,不可变; *ptr可变 举例如下:const char *ptr;...

2018-08-17 16:39:35 658 1

转载 qt creator入门

Qt Creator介绍Qt Creator 是全新的跨平台 Qt IDE(集成开发环境),可单独使用,也可与 Qt 库和开发工具组成一套完整的 SDK(软件开发工具包)。 其中包括:高级 C++ 代码编辑器,项目和生成管理工具,集成的上下文相关的帮助系统,图形化调试器,代码管理和浏览工具。 下面为 Qt Creator 界面图,不同版本有所差异(差别不大): 1)欢迎模式...

2018-08-16 21:02:11 238

原创 快速排序

基本思想:通过一趟排序将待排记录分隔成两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。 1、从数列中挑出一个元素,称为 "基准"(pivot) 2、重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区退出之后,该基准就处于数列的中间位置。这个称为分区(p...

2018-08-15 17:30:20 147

转载 在windows下使用vs2013编译和调试mysql源代码

1. 准备工作1)OS:win10 + VS20132)mysql 源码(windows版):mysql-5.6.25.zip 3)perl tool:ActivePerl-5.16.3.1604-MSWin32-x64-298023.msi4)Cmake:cmake-3.5.0-win32-x86 .exe5)Bison:bison-2.4.1-setup.exe    ...

2018-08-14 17:17:28 426

原创 MYSQL常用命令

-- 创建用户create user "yu"@"localhost" identified by "yu";-- 查询数据库show databases;-- 使用数据库use mysql                      --用户保存在mysql数据库中-- 查询表show tables;-- 查询用户select user from user;-- 修改...

2018-08-14 16:46:35 204

转载 select()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET

select函数用于在非阻塞中,当一个套接字或一组套接字有信号时通知你,系统提供select函数来实现多路复用输入/输出模型,原型:          #include <sys/time.h>          #include <unistd.h>          int select(int maxfd,fd_set *rdset,fd_set *wrset,...

2018-08-11 22:14:12 154

转载 ncurses笔记(1)——ncurses库的介绍与安装

ncurses笔记(1)——ncurses库的介绍与安装介绍ncurses(new curses)是一套编程库,它提供了一系列的函数以便使用者调用它们去生成基于文本的用户界面。 ncurses名字中的n意味着“new”,因为它是curses的自由软件版本。由于AT&T“臭名昭著”的版权政策,人们不得不在后来用ncurses去代替它。 ncurses是GNU计划的一部分,但它却是...

2018-08-10 21:23:44 26309 2

原创 pthread_create函数

线程创建函数 与创建进程不同,创建线程时可以指定一个工作函数,新线程将从这个函数开始执行,函数返回也就等价于线程退出。工作函数必须有一个(void *)型参数,新线程开始执行时,这个参数的值就是pthread_create函数的arg参数的值,因此可以利用它来向线程传递数据。工作函数必须有(void *)型的返回值,它代表线程的退出状态。注意:任意线程调用exit()都会终止整个进...

2018-08-09 20:22:21 508

转载 pthread_exit-----在linux主线程中的用途

大家都知道在一个线程中调用pthread_exit表示退出一个线程,并且pthread_exit的参数作为返回值提供给pthread_join函数获取。 那么如果在main函数创建了若干个线程后,在main函数最后调用pthread_exit会怎么样呢?已经创建的线程会不会随着main线程的退出而退出呢? 如果在main函数中调用的是exit,那么答案是所有线程随着main线程退出而退出。 ...

2018-08-08 21:23:30 502

原创 fork函数和vfork函数

fork函数:功能:创建子进程      fork的奇妙之处在于它被调用一次,却返回两次,它可能有三种不同的返回值:1、在父进程中,fork返回新创建的子进程的PID;2、在子进程中,fork返回0;3、如果出现错误,fork返回一个负值#include <stdio.h>#include <unistd.h>int main(){ pr...

2018-08-07 21:15:04 301

转载 NanoPi-NEO——初体验

2.1 准备工作  要开启你的NanoPi NEO新玩具,请先准备好以下硬件:   • NanoPi NEO主板   • microSD卡/TF卡:Class10或以上的8GB SDHC卡   • 一个读卡器或可以插SD卡的电脑   • 一个microUSB接口的外接电源,要求输出为5V/2A(可使用同规格的手机充电器)   • 一根USB转串口线   • 一根能上网的网线  ...

2018-08-06 22:23:30 2294

原创 STL(Standard Template Library,标准模板库)

       STL的从广义上讲分为三类:algorithm(算法)、container(容器)和iterator(迭代器),容器和算法通过迭代器可以进行无缝地连接。                                                                                   容器:用来管理一组元素容器分类:vector(向量)、d...

2018-08-05 20:11:25 388

转载 嵌入式开发为什么选择C语言做开发语言?

众所周知,C语言在嵌入式开发中占有十分重要的地位,它们的关系非比寻常。那么为什么嵌入式开发会选择C语言,而不是其他语言呢?嵌入式开发是在操作系统内部做开发的,操作系统所有的内核几乎都是C语言编写,如果我们也使用C语言做开发,必定会具备一定的优势。再者,C语言相较其他的高级编程语言,其所有的特点对于嵌入式开发软件是再合适不过的了。C语言的特点如下:C语言具有出色的可移植性,能在多种不...

2018-08-04 17:16:56 4824

原创 抛出异常,捕获

#include <iostream>using namespace std;class Myarray{protected: int m_len; int *m_data;public: int &operator [](int index); Myarray(int l); ~Myarray(); int GetLength() { r...

2018-08-03 21:13:25 190

转载 new和malloc的用法

(收集整理from web)1.malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存2.对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构...

2018-08-02 20:49:51 1758

原创 用模板函数写冒泡排序

利用模板函数来写冒泡排序可以做到数据类型的多样性。例子如下:#include <iostream>#define N 5using namespace std;template <typename T>void get_num(T *a){ for(int i=0;i<N;i++) { cin>>a[i]; }}t...

2018-08-01 20:56:23 3743 3

转载 C++虚继承的意义和使用

虚继承:多个派生类保存相同基类的同名成员时,虽可以在不同的数据成员中分别存放不同的数据 ,但我们只需要相同的一份。解决了多父类重复成员只保留一份的问题。 比如现在有一个沙发床,它既有床的属性又有沙发的属性,它们都有长宽高的属性,但是我们却只需要知道它的一个状态的属性。它的一个长宽高能体现多个状态。 家具{属性:长,宽,高;} 沙发床:public 沙发,pu...

2018-07-31 21:25:29 468

原创 虚继承

如果一个派生类从多个基类派生,而这些基类又有一个共同的基类,则在对该基类中声明的名字进行访问时,可能产生二义性   如果在多条继承路径上有一个公共的基类,那么在继承路径的某处汇合点,这个公共基类就会在派生类的对象中产生多个基类子对象   要使这个公共基类在派生类中只产生一个子对象,必须对这个基类声明为虚继承,使这个基类成为虚基类。   虚继承声明使用  关键字       virtual...

2018-07-30 22:33:46 149

转载 常见排序算法及对应的时间复杂度和空间复杂度

转载自:https://blog.csdn.net/gane_cheng/article/details/52652705排序算法经过了很长时间的演变,产生了很多种不同的方法。对于初学者来说,对它们进行整理便于理解记忆显得很重要。每种算法都有它特定的使用场合,很难通用。因此,我们很有必要对所有常见的排序算法进行归纳。排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存...

2018-07-29 15:17:47 832

原创 类的继承中同名成员问题

当在继承类中,子类和父类包含同一个成员,这时候ying应该如何调用?代码如下:#include <iostream>using namespace std;class A{public: int m_a; int m_b;};class B:public A{public: int m_b; int m_c;};int main(){ ...

2018-07-28 18:21:30 578

转载 C++ 重载赋值运算符

1、C++中重载赋值操作函数应该返回什么?  类重载赋值操作符一般都是作为成员函数而存在的,那函数应该返回什么类型呢?参考内置类型的赋值操作,例如  int x,y,z;  x=y=z=15;  赋值行为相当于x=(y=(z=15)),也就是赋值操作应该返回左操作数的引用,因此,为了和内置类型兼容,类中重载赋值操作符应该返回左操作数的引用,即*this,如下类A的重载赋值操作函...

2018-07-27 16:53:26 319

原创 C语言知识整理

编码:Float编码:高8位存阶码,低24位存尾数        Int编码:用补码                                     正数的原码,反码,补码相同                            例如:7=(0111)                                     负数的原码-7=(1111)       ...

2018-07-26 21:02:54 164

原创 Linux重要知识点复习

一.常用命令cd ..    返回mkdir     +文件名           创建新文件touch     +文件夹          创建新文件夹rm                                删除文件rm -r                               删除文件夹cp                             复...

2018-07-25 19:45:40 443

原创 深拷贝和浅拷贝的问题探究

浅拷贝的问题分析:#include <iostream>#include <string.h>using namespace std;class Name{public: Name(const char *p) { m_len=strlen(p); m_p=(char *)malloc(m_len+1); } ~Name() { co...

2018-07-24 21:06:00 208

转载 C语言基础 C语言标识符

    标识符在程序中用来标识各种程序成分,命名程序中的一些实体,如变量、常量、函数、类型和符号等对象。    C语言规定,合法的标识符必须由英文字母或下划线开头,是字母、数字和下划线的序列。    在C语言中,大写字母和小写字母被认为是两个不同的字符,如SUM和sum是不同的标识符。习惯上符号常量名用大写字母表示,变量名用小写字母表示。    C语言标识符分为以下三类:(1)关键...

2018-07-20 18:34:44 2248 3

原创 c++中重载函数的准则问题研究

以下面的例子来进行研究:#include <iostream>#include <cstdio>using namespace std;double add(double x,double y){ return x+y;}int add(int x,int y){ return x+y;}int main(){ int a=1,b=2...

2018-07-19 16:55:31 159

转载 《Effective C++》读书笔记第一章:让自己习惯c++

Accustoming Youself to C++条款1.视c++为一个语言联邦C++是个多重范型编程语言,同时支持过程形式、面向对象形式、函数形式、泛型形式、元编程形式。视c++为一个语言联邦,包括以下四个部分:C. C++说到底还是以C为基础。这是面向过程的部分,C与C++相比,少了模板、异常以及重载。 Object-Oriented. 面向对象部分,包括封装、继承、多态以及虚...

2018-07-18 22:43:54 132

原创 通讯录项目整理(链表法)

本文介绍了我通讯录项目各个功能的编写过程以及大体思路。1.头文件以及结构体的定义#include <stdio.h>#include <string.h>#include <stdlib.h>#define OK 1#define ERROR 0typedef char Elemtype;typedef char Status;typed...

2018-07-17 16:58:49 1286 2

空空如也

空空如也

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

TA关注的人

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