自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (16)
  • 收藏
  • 关注

原创 c++优先队列(priority_queue)用法详解

绝对好文,转载自:https://blog.csdn.net/weixin_36888577/article/details/79937886目录一、基本类型例子:二、pair类型三、自定义类型四、常见问题既然是队列那么先要包含头文件#include <queue>, 他和queue不同的就在于我们可以自定义其中数据的优先级, 让优先级高的排在队列前面,优先出队优先队列具有队列的所有特性,包括基本操作,只是在这基础上添加了内部的一个排序,它本质是一个堆实现的。和

2021-07-30 22:48:48 1387

原创 “悬空指针”和“野指针”究竟是什么意思?有什么区别

提起C语言大部分开发者很自然就会想到指针二字,没错,作为C的核心和灵魂,它的地位咱们就不再熬述了,今天我们想跟大家讲的是指针中的两个特有名词:“悬空指针”和“野指针”。悬空指针C语言中的指针可以指向一块内存,如果这块内存裆后被操作系统回收(被释放),但是指针仍然指向这块内存,那么,此时该指针就是“悬空指针”。下面这段C语言代码是一个例子请看void *p =malloc(size); assert (p);free(p);//现在p是“悬空指针C语言中的“悬空指针”会引发不可预知的错误

2021-07-30 16:34:19 930

原创 内核态与用户态的区别

原文链接:https://www.cnblogs.com/gizing/p/10925286.html1.操作系统需要两种CPU状态内核态(Kernel Mode):运行操作系统程序,操作硬件用户态(User Mode):运行用户程序2.指令划分特权指令:只能由操作系统使用、用户程序不能使用的指令。 举例:启动I/O 内存清零 修改程序状态字 设置时钟 允许/禁止终端 停机非特权指令:用户程序可以使用的指令。 举例:控制转移 算数运算 取数指令访管指令(使用户程序从用户态陷入内核态.

2021-07-30 11:23:22 183

原创 使用C语言实现多态

目录一、C++的三大特性为:继承,多态,封装1.1 继承1.2 多态1.3 封装二、用C语言实验多态2.1 多态的主要特点2.2 代码实现2.2.1 C++中的继承与多态2.2.2C语言实现C++的继承与多态一、C++的三大特性为:继承,多态,封装1.1 继承一个对象直接使用另一个对象的属性和方法。优点:减少重复的代码。 继承是多态的前提。 继承增加了类的耦合性。 缺点:继承在编译时刻就定义了,无法在运行时刻改变父类继承的实现; 父...

2021-07-30 11:03:47 2720 1

原创 详解 TCP 和 UDP

本篇文章转载自公众号:网络技术平台https://mp.weixin.qq.com/s/8iyxF1tT3JhyHKdyeF1uAg目录一、概述二、初始传输层2.1 TCP2.2 UDP2.3 TCP 和 UDP 的区别三、端口号3.1 标准端口号3.2时序分配法四、UDP五、TCP5.1 TCP特点5.2 连接5.3 序列号和确认应答5.4 超时重发5.5 连接管理5.6 三次握手5.7 四次挥手5.8 单位段5.9 ..

2021-07-28 13:46:09 2499 1

原创 基于socket网络编程技术实现TCP和UDP的流程详解及实例

具体函数讲解太多,根据程序自行分析。可以参考这篇文章:https://blog.csdn.net/qq_41687938/article/details/119102328?spm=1001.2014.3001.5501https://blog.csdn.net/weixin_42193813/article/details/105666316一、socket1.1 socket概述socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用

2021-07-28 11:50:12 12797

原创 详解const和#define

一、const 与#define的区别(1) 编译器处理方式不同  define宏是在预处理阶段展开。  const常量是编译、运行阶段使用。(2) 类型和安全检查不同  define宏没有类型,不做任何类型检查,仅仅是展开,存在边界的错误。  const常量有具体的类型,在编译阶段会执行类型检查。(3) 存储方式不同  define宏仅仅是展开,有多少地方使用,就展开多少次,不会分配内存,它定义的宏常量在内存中有若干个备份,占用代码段空间。  const常量在程序...

2021-07-27 21:49:31 1094

原创 Linux系统proc详解

原文链接:https://www.cnblogs.com/liushui-sky/p/9354536.html目录一、 进程目录中的常见文件介绍1.1 cmdline1.2、cwd1.3、environ1.4、exe1.5、fd1.6、limits1.7、maps1.8、mem1.9、root1.10、stat1.11、statm1.12、status1.13、task二、/proc目录下常见的文件介绍2.1、/pro...

2021-07-27 20:48:49 4671

原创 C和C++里的const常量、volatile修饰符的深层次说明

一、写在前面1. 由于涉及到编译器层面,所以不同编译器结果可能不一样。本文使用的VS编译器。2. 针对const修饰的整型常量:const int local = 10;3. 常量本质上也是一个变量,是变量就会有地址;因为直接修改const常量是不允许的(编译就会报错),所以只能通过指针修改其地址上的值来试验。如下:这里注意下,用vs复制一个文件到另一个文件运行(比如这里程序都是一样的,一个在c运行,一个在cpp运行,复制过去不清理解决方案,运行的其实还是上一个程序),但是编译.

2021-07-26 14:47:03 400

原创 TCP/UDP中sockaddr和sockaddr_in的区别及用法

目录一、先看两个结构体的定义1.1sockaddr1.2 sockaddr_in二、sockaddr与sockaddr_in的相同点和区别2.1 相同点2.2 区别三、使用方法3.1 socket编程中sockaddr和sockaddr_in的强制转换3.2 补充部分struct sockaddr和struct sockaddr_in这两个结构体用来处理网络通信的地址。在各种系统调用或者函数中,只要和网络地址打交道,就得用到这两个结构体。网络中的地址包含3个方面.

2021-07-26 09:58:51 3318

原创 malloc 不能返回动态内存

关于malloc的理解:#include <stdio.h>#include <stdlib.h>void getmemory(char *p){ p=(char *) malloc(100); strcpy(p,"hello world");}int main( ){ char *str=NULL; getmemory(str); printf("%s/n",str); free(str); return 0;}程序崩溃,getm

2021-07-14 15:24:09 920

原创 32和64位系统各内置类型所占字节大小(int char long double 指针等)

指针大小不一样主要原因在于:32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器32/64位操作系统,数据类型字节数对比32/64位操作系统,数据类型字节数对比 32位 64位 char 1 1 char* 4 8 short int 2 2 int 4 大多数4,少部分8 unsigned int 4 4 float 4 4 double 8

2021-07-13 11:29:31 3053

原创 求某类型变量的大小(是否使用sizeof)

sizeof与strlenstrlen("\0") =? sizeof("\0")=?strlen("\0") =0,sizeof("\0")=2。strlen用来计算字符串的长度(在C/C++中,字符串是以"\0"作为结束符的),它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描直到碰到第一个字符串结束符\0为止,然后返回计数器值sizeof是C语言的关键字,它以字节的形式给出了其操作数的存储大小,操作数可以是一个表达式或括在括号内的类型名,操作数的存.

2021-07-13 10:54:18 224

原创 一文解决new/delete与malloc/free相关问题:区别?注意事项?使用方式?

目录一、内存分配模型1.1 先看内存的分布状况1.2动态内存分配1.3 C语言中分配内存的方式1.4 C++中动态分配内存的方式二、new和malloc的区别2.1 属性2.2 参数2.3 返回类型2.4分配失败2.5 自定义类型2.6 重载2.7 内存区域2.8分配内存时内存不足2.9new与malloc是否可以相互调用三、与new、malloc相关的问题解答3.1 为什么有了malloc/free为什么还要new/delete...

2021-07-02 19:58:16 624

原创 C/C++常见库函数实现(memcpy、memset、 strcpy)

目录1.void *mymemcpy(void *dest, const void* src, size_t n);2.void *memset(void *s, int c, size_t n);3.char* strcpy(char* dest,const char* src);4.char* mystrncpy(char* dest,char* src,size_t n);5.char* strcat(char* dest,const char* src)6.int ...

2021-07-02 17:30:16 304

原创 实现strcpy的几种操作 与 strcpy为什么有返回值

目录总结:下面给出网上strcpy的得分版本:strcpy函数返回值有神马作用?总结:1.输入参数src加上const2.考虑输入指针的合法性3.考虑返回值一个标准的strcpy函数:strcpy是C++语言的一个标准函数,strcpy把含有'\0'结束符的字符串复制到另一个地址空间,返回值的类型为char*。下面给出网上strcpy的得分版本:2分void strcpy( char *strDest, char *strSrc ){while...

2021-07-02 17:10:51 2685

原创 断言(assert)详解

一、assert定义我一直以为 assert 仅仅是个报错函数,事实上,它居然是个宏,并且作用并非"报错"。在经过对其进行一定了解之后,对其作用及用法有了一定的了解,assert() 的用法像是一种"契约式编程",在我的理解中,其表达的意思就是,程序在我的假设条件下,能够正常良好的运作,其实就相当于一个 if 语句:if(假设成立){ 程序正常运行;}else{ 报错&&终止程序!(避免由程序运行引起更大的错误) }但是这样写的话,就会有无

2021-07-02 16:21:27 14084 1

葡萄酒_3分类.zip

使用MATLAB工具箱 libsvm实现了对葡萄酒的多分类 有完整的过程 简单修改就可以用 注释详细

2021-04-19

Ti DSP6678最全技术手册和资料整理(用户开发手册和官方技术文档).zip

网上关于Ti文档的资料都比较乱,而且不全。自己在学习过程中把收集到的和自己下载的文档全部整理完成。下面列出部分文档的名称: 中断相关.docx C66x DSP CorePac 用户指南 C66x HyperLink 用户指南 C66x串行快速输入输出(SRIO)用户指南 C66x多核共享内存控制器 (MSMC) 用户指南 C66x通用输入输出 (GPIO) 用户指南 基于DSP6678实现多任务以太网络数据传输 CSL配置中断和HWI配置中断介绍_论坛 Ti官方视频Hwi资料中文版 DDR3 Memory Controller for KeyStone I Devices User's Gu

2020-09-16

MFC运行需要的一些dll文件(MFCO42D.dll ,MSVCP60D.DLL,MSVCRTD).zip

电脑运行exe文件时提示缺少这些dll文件的处理方法。 步骤: 1. 如果是32位系统,就将四个文件复制到C:\Windows\System32路径下; 如果是64位系统,就将四个文件复制到C:\Windows\SysWOW64路径下。 2.win+R 输入CMD ,运行下面四句话(如果提示不兼容也不用管,如果复制完了还不行就考虑是不是上一步复制的路径错了): regsvr32 MFCO42D.dll regsvr32 MSVCP60D.DLL regsvr32 MSVCRTD.dll regsvr32 MFC42D.DLL 3.如果缺其他的库,也这样处理。

2020-05-29

DSP6678的NDK通信程序与教程

这是一个关于DSP的网口通信的完整工程,已经测试通过,在板卡上跑通了。使用的是sys/BIOS系统,使用网线完成上位机(PC)与DSP的网口通信,使用的是NDK例程。的在资源的Readme里面有对这个工程使用的完整介绍。

2019-10-04

OFDM完整仿真过程与教程.zip

辛苦写了关于OFDM的详细仿真,从产生信息流到最终解调,包含星座图,误码率图。包括了相关技术的详细解释,(信道编码,扩频,导频,信道估计等)。注:本段程序不包括射频传输部分,即载波调制,基带调制为QPSK。具体的教程可以参考我的相关文章。

2019-10-04

遗传算法完整MATLAB程序(实数法,覆盖法)

在这个程序中,目标函数是一元函数,然后变量没有编码,采用的实数法。子代选择使用的是覆盖法。多目标函数和多变量函数,以及轮盘赌法和覆盖法。变量编码与未编码。请看我其他上传的资源。都自己运行过。注释详细。

2018-11-12

遗传算法完整MATLAB程序(实数法,轮盘赌法)

在这个程序中,目标函数是二元函数,然后变量没有编码,采用的实数法。子代选择使用的是轮盘赌法。多目标函数和多变量函数,以及轮盘赌法和覆盖法。变量编码与未编码。请看我其他上传的资源。都自己运行过。注释详细。

2018-11-12

遗传算法完整MATLAB程序(编码,轮盘赌法)

在这个程序中,目标函数是一元函数,然后变量进行了编码。子代选择使用的是轮盘赌法。多目标函数和多变量函数,以及轮盘赌法和覆盖法。变量编码与未编码。请看我其他上传的资源。都自己运行过。注释详细。

2018-11-12

遗传算法完整MATLAB程序(覆盖法)

在这个程序中,目标函数是一元函数,然后变量没有编码,采用的实数法。子代选择使用的是覆盖法。多目标函数和多变量函数,以及轮盘赌法和覆盖法。变量编码与未编码。请看我其他上传的资源。都自己运行过。注释详细。

2018-11-12

遗传算法完整MATLAB程序

在这个程序中,目标函数是一元函数,然后变量没有编码,采用的实数法。子代选择使用的是轮盘赌法。多目标函数和多变量函数,以及轮盘赌法和覆盖法。变量编码与未编码。请看我其他上传的资源。都自己运行过。注释详细。

2018-11-12

十分详细的数字通信系统之8PSK调制

前几天想着加深对通信系统的了解,然后用MATLAB仿真实现,但是网上的资源都不完整且没有讲解。于是在完成后上传这份代码。其中包括了从信号序列的产生、采样频率的改变、脉冲成型、带通调制、解调、误比特率的计算。

2018-10-22

MFC做的录音文件

MFC做的录音文件,软件是vc++2010,具体企鹅2417677728.。。。。。。。。。。。。。。。。。。。。。。。。。。

2018-05-13

MFC音频信号采集

用MFC做的音频信号采集,软件版本是VC++2010

2018-05-13

kddcup99分标签整理,完整版

由于网上的数据集参差不全,自己在学习的过程中整理了一下,然后根据标签对其进行了分类,这是完整版。kddcup99 分标签整理,完整版。

2018-04-08

36342930双机通信(控制从机8个led)

36342930双机通信(控制从机8个led),具体程序代码没时间传,可以留下邮箱

2018-04-05

智能电子钟,万年历,温度显示,单片机程序

智能电子钟,万年历,温度显示,单片机程序,具体电路原理图可留下邮箱

2018-04-05

空空如也

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

TA关注的人

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