自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (4)
  • 收藏
  • 关注

转载 计算机网络高频面试题

转载自牛客网@紫霞子网络分层结构计算机网络体系大致分为三种,OSI七层模型、TCP/IP四层模型和五层模型。一般面试的时候考察比较多的是五层模型。TCP/IP五层模型:应用层、传输层、网络层、数据链路层、物理层。应用层:为应用程序提供交互服务。在互联网中的应用层协议很多,如域名系统DNS、HTTP协议、SMTP协议等。传输层:负责向两台主机进程之间的通信提供数据传输服务。传输层的协议主要有传输控制协议TCP和用户数据协议UDP。网络层:选择合适的路由和交换结点,确保数据及时传送。主要包括IP

2022-05-28 16:10:35 426

转载 如何在TypeScript中更改只读属性?

如何在TypeScript中更改只读属性?

2022-04-05 20:55:14 1962

原创 异步编程: 一次性搞懂 Promise, async, await (#js #javascript)

根据B站UP主奇乐编程学院的视频异步编程: 一次性搞懂 Promise, async, await (#js #javascript)做的笔记前提知识:一个视频告诉你“并发、并行、异步、同步”的区别一、简介JavaScript目前有两种实现异步的方式:传统的回调函数CallBack Function以及异步API二、回调函数CallBack Function例子:setTimeout (() => { console.log("兄弟你好");}, 3000 );console

2022-04-05 20:35:47 885

原创 C/C++遇到的笔试题

收集了在面试中遇到的C/C++笔试题,作为笔记复习一、计算 sizeof 的值void Func(char str[100]){}char str[]=”Hello”;char *p=str;int n=10;void *p1=malloc(100);请计算:sizeof(str)= 4sizeof(str)= 6sizeof( p )=4sizeof(n)=4sizeof(p1)=4二、计算下面几个类的大小class A {};: sizeof(A) = 1;clas

2021-08-31 14:27:32 355

原创 二叉树的遍历C/C++

二叉树建立一:二叉排序树的左子树节点值都小于根节点值,右子树节点值都大于根节点,因此假如根节点值为10,其左节点值为5,其左节点的右节点值为8,那么从右节点到跟节点的值依次为8 5 10,显然不是有序的二:哈夫曼树是带权路径最小的二叉树,也不是三:AVL树是二叉排序树,只不过其左右子树的高度差有限制,在1之内,由一只非有序四:堆是一种完全二叉树,其有大顶堆和小顶堆的分别,大顶堆是指其每个节点的值都大于其左右孩子的值(小顶堆反之),因此从任一节点到根节点是升序排列的(小顶堆反之)//前序,建立二

2021-08-30 20:15:18 160

原创 常用的排序算法(C语言版)

冒泡排序 Bubble Sort基本思想:交换排序,两两比较相邻记录的关键字,如果反序则交换,知道没有反序的记录为止。(对相邻的元素进行两两比较,顺序相反则进行交换)原始版:#include <stdio.h>void BubbleSort(int a[], int n){ for(int i=0; i<n; ++i) { for(int j= n-2; j>=i; --j) { if(a[j]

2021-08-27 22:28:46 234

原创 Ubuntu 20.04编译WebRTC

环境:虚拟机64位Ubuntu 20.04前提:需要有一个可以用的代理(非常重要,没有代理几乎无法下载完整的WebRTC代码)一、环境配置WebRTC中文网有提供国内的WebRTC镜像,但目前WebRTC依赖的第三方库在国内镜像源里还未提供,因此需要配置环境代理,这是我的代理设置:export https_proxy=http://127.0.0.1:41091 http_proxy=http://127.0.0.1:41091 all_proxy=socks5://127.0.0.1:1090

2021-08-07 18:07:13 3980 7

转载 C++关键字 noexcept

1. 关键字noexcept从C++11开始,我们能看到很多代码当中都有关键字noexcept。比如下面就是std::initializer_list的默认构造函数,其中使用了noexcept。constexpr initializer_list() noexcept : _M_array(0), _M_len(0) { }该关键字告诉编译器,函数中不会发生异常,这有利于编译器对程序做更多的优化。如果在运行时,noexecpt函数向外抛出了异常(如果函数内部捕捉了异常并完成处理,这种情况不算抛出

2021-07-12 18:05:22 364

原创 JavaScript:不要在文档(DOM)加载完成之后使用 document.write()

菜鸟教程的JavaScript教程中有这样的一段描述:您只能在 HTML 输出中使用 document.write。如果您在文档加载后使用该方法,会覆盖整个文档。查了下网上的资料,这句话的解释为**绝对不要在文档(DOM)加载完成之后使用 document.write()。这会覆盖该文档。**意思是说:不要在文档(DOM)加载完成之后使用 document.write()的含义并不是在文本后使用script标签进行文档内容写入,而是通过按钮响应等方式在全部页面加载完毕之后进行文本写入例如:/*

2021-07-11 19:53:31 377

转载 malloc()、calloc()以及realloc()函数的区别

malloc()和calloc()函数两者都可以用来动态分配内存空间,但两者稍有区别。malloc()malloc()函数有一个参数,即要分配的内存空间的大小,函数声明(函数原型):void *malloc(unsigned int num_bytes);说明:malloc向系统申请分配指定size个字节的内存空间。返回类型是 void*类型。void*表示未确定类型的指针。C,C++规定,void*类型可以强制转换为任何其它类型的指针。从函数声明上可以看出。malloc和new至少有两个不同

2021-06-26 22:11:44 202

转载 C++ 类之间的关系与实现

类与类的关系在面向对象的程序设计中,类之间有6中关系,分别是继承, 组合, 聚合,关联, 依赖,实现,如果使用C语言实现,上面的这些关系通过"结构体包含结构体、结构体包含结构体指针以及函数指针等语法实现",C语言本身的语法并不支持这些逻辑关系的实现,所以使用C语言实现面向对象的程序设计很多时候需要我们自己来关注某一种语法实现两个类之间到底是什么关系,但是C++/Java/Python等语言原生支持面向对象的程序设计,即这些编程语言的语法本身就可以实现这些类之间的逻辑关系,本文以C++为例,分析这些类关系的

2021-06-26 17:06:57 1201 2

原创 GNU Libmicrohttpd简介

GNU Libmicrohttpd是一个用来在项目中内嵌http服务器的C语言库。这是一款免费软件,并且是GNU项目的一部分。 它具有以下几个鲜明的特点:C语言库,小而快简易的API,且都是可重入的支持 HTTP 1.1 可以同时侦听多个端口四种不同的线程模式(select、poll、pthread、thread pool)库平台支持 GNU/Linux, FreeBSD, OpenBSD, NetBSD, Android, Darwin (macOS), W32, OpenIndiana/So

2021-05-22 15:48:38 1398

转载 const对象不能调用非const成员函数

在C++中,可以用const来定义一个const对象,但const对象不可以调用类中的非const成员函数原因引发原因:: 由调用成员函数时隐式传入的当前对象的this指针引起。非const成员函数中的隐式参数:classA* thisconst成员函数中的隐式参数:const classA* this根本原因:const对象的指针为const classA* this,因此传入非const成员函数时编译器报错(类型不匹配,无法从const 指针转换为非const指针);但传入const成

2021-05-07 20:44:01 2378

转载 C语言extern关键字

在函数内定义的变量是局部变量,而在函数之外定义的变量则称为外部变量,外部变量也称全局变量。它的存储方式为静态存储,其生存周期为整个程序的生存周期。全局变量可以为本文件中的其他函数所共用,它的有效范围为从定义变量的位置开始到本源文件结束。然而,如果全局变量不在文件的开头定义,有效的作用范围将只限于其定义处到文件结束。如果在定义点之前的函数想引用该全局变量,则应该在引用之前用关键字 extern 对该变量作“外部变量声明”,表示该变量是一个已经定义的外部变量。有了此声明,就可以从“声明”处起,合法地使用该外部

2021-05-07 15:25:18 117

原创 const在不同位置下的修饰作用

顶层const与底层constconst int* a:这里的const修饰的是int,而int定义的是一个整型值a。因此*a所指向的对象值不能通过*a来修改。但是可以重新给a赋值,使其指向不同的对象int* const a:这里的const修饰的是a,a代表的是一个指针地址。因此不能赋值给a其他的地址值,但可以修改a指向的值,如*a = 1const int* a与int const* a两者等价const int* const a:a所指向的对象的值以及地址a本身的值都不能被修改总结co

2021-05-07 10:45:55 168

转载 C++ 中作用域受限的枚举类型

本文介绍 C++ 中传统枚举类型存在的作用域不受限等问题,随后列举经典的限定其作用域的做法,最后给出新标准 C++11 下的解决方案。传统行为传统的枚举类型在 C 语言中就有,C++ 中行为和 C 中一致,常被用来定义有类型的常量。一个典型的枚举类型定义如下:enum Color { RED, BLUE };C++ 发明人 Bjarne Stroustrup 总结这种枚举有如下问题:作用域不受限 (unscoped),枚举变量的作用域不受限,会暴露给领近的代码作用域(如果在最外层则为全局作用域

2021-04-01 11:08:49 1068

转载 构建 C/C++ 项目时添加宏定义

有时候我们希望在构建时能够在命令行添加一些宏定义,改变程序行为。一个典型应用示例是代码里通过检查是否定义了 DEBUG 宏,来决定是否输出调试信息。编译器一般提供命令行选项支持这种做法,例如使用 gcc 时可以在命令行添加-D选项,定义一些宏:gcc -DDEBUG=1 a.c不过,大型项目一般都需要自动化构建工具,如 GNU Autotools 或者 CMake。使用它们后,我们无法直接修改编译命令,但它们提供了替代方案。对于 Autotools,它可以识别 CPPFLAGS等环境变量,从而我们可以

2021-04-01 10:25:55 2119

转载 C++成员变量的初始化顺序问题详解

问题来源:《剑指offer》中,考官出了一道简单的程序输出结果值的题,如下:class A { private: int n1; int n2; public: A():n2(0),n1(n2+2){} void Print(){ cout << "n1:" << n1 << ", n2: " << n2 <<endl; } }; int main() { A a; a.Pri

2021-03-31 23:04:10 354

转载 iproute2 与 net-tools

如今很多系统管理员依然通过组合使用诸如ifconfig、route、arp和netstat等命令行工具(统称为net-tools)来配置网络功能,解决网络故障。net-tools起源于BSD的TCP/IP工具箱,后来成为老版本Linux内核中配置网络功能的工具。**但自2001年起,Linux社区已经对其停止维护。**同时,一些Linux发行版比如Arch Linux和CentOS/RHEL 7则已经完全抛弃了net-tools,只支持iproute2。作为网络配置工具的一份子,iproute2的出现旨在

2021-03-24 11:25:58 457

转载 B2BUA/SBC/Proxy的SIP消息重构和RFC7092详解

B2BUA/SBC/Proxy的SIP消息重构和RFC7092详解1、为什么使用B2BUA2、RFC7092对B2BUA的类别3、B2BUA具体呼叫工作流程4、B2BUA功能实现3PCC讨论5、SIP Proxy和B2BUA消息重构6、其他相关问题讨论7、总结我们在IP语音通信领域中一直在讨论SIP服务器和应用等相关的话题。关于SIP协议中,让读者比较关心的或者我们经常使用的就是SIP应用服务器,包括企业IPPBX,SBC,注册服务器等核心的构件。这些典型的应用大部分都是B2BUA的形式出现的,大部分技术

2021-03-16 16:50:24 1189

RFC-3550-中文版.zip

RTP协议:RFC3550的中文翻译版,PDF文件。已添加目录,方便查阅。

2021-02-25

RFC3261-中文版本.zip

SIP协议:RFC3261的中文翻译版,word文件。已添加目录,方便查阅。

2021-02-25

软件无线电matlab仿真

软件无线电通信系统matlab仿真,同时内有所有备注

2019-05-16

(原创)最全51单片机函数库 IO DAC Timer PWM PCA捕获 串口等

最全的51单片机函数库,实现STC12C5A系列大部分硬件的操作函数接口,方便快速应用到自己的项目中。包括Timer定时器、串口、DAC、PWM、delay软硬件延时,串口打印的printf函数等。绝对原创

2019-05-16

空空如也

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

TA关注的人

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