c++
文章平均质量分 72
军神关云长_大凡
既然选择了远方,便只顾风雨兼程。
展开
-
短信7bit解码(包括特殊扩展字符)
短信7bit pdu解码原创 2023-03-01 17:41:19 · 691 阅读 · 1 评论 -
Linux下串口信息的读取
在Linux下串口信息的读取有了一点心得体会。 1. 打开串口 与其他的关于设备编程的方法一样,在Linux下,操作、控制串口也是通过操作起设备文件进行的。在Linux下,串口的设备文件是/dev/ttyS0或/dev/ttyS1等。因此要读写串口,我们首先要打开串口: char *dev = "/dev/ttyS0"; //串口1 int fd = open( dev, O_RDWR ); //| O_NOCTTY | O_NDELAY if (-1 == fd) { pe转载 2023-01-30 14:36:02 · 4930 阅读 · 0 评论 -
可变参数的宏定义
可变参数的宏定义printf()和fprintf()这些输出函数的参数是可变的,在调试程序时,你可能希望定义自己的参数可变的输出函数,那么可变参数宏会是一个选择。C99中规定宏可以像函数一样带有可变参数,比如#define LOG(format, ...) fprintf(stdout, format, __VA_ARGS__)其中,...表示参数可变,__转载 2015-09-22 16:26:09 · 657 阅读 · 1 评论 -
实时传输协议(RTP)
转自:https://blog.csdn.net/chuanmengfang2285/article/details/101059880RTP在RFC1889中规定,正式名称是“RTP,一个用于实时应用的传输协议”。这个RFC实际上描述了两个协议:实时传输协议(RTP)和实时传输控制协议(RTCP)。这两个协议提供了可以支持实时应用(例如语音和影像)的网络传输服务。UDP无法做到避免分组丢失和确保分组有序传输,运行在UDP之上的RTP帮助实现了这些功能。例如,RTP分组包括序列号,这样,使用RTP的应用程序转载 2022-08-11 15:24:38 · 2292 阅读 · 0 评论 -
如何发送和接收RTP包,用FFmpeg分离、解码
RTP是网络上进行流媒体传输的一种常用协议,现在有很多封装RTP协议的开源库,比如:ortp, jrtplib,而其中最有名的要数jrtplib,本文给大家演示怎么用jrtplib开发一个带RTP发送和接收功能的应用程序,但这篇文章不会讲述jrtplib的基本用法知识,如果你要了解更多关于这个库的用法,可以参考这篇文章:http://www.cnblogs.com/yuweifeng/p/7550737.html。这个流媒体播放器实现的功能比较简单,但是实现了一个典型的网络播放器的框架。...转载 2022-08-11 14:58:16 · 2511 阅读 · 0 评论 -
一文带你入门了解“零之禅“消息队列ZeroMQ
转自:一文带你入门了解“零之禅“消息队列ZeroMQ_董哥的黑板报-CSDN博客_zeromq一、ZeroMQ概述ZeroMQ(又名ØMQ,MQ,或zmq)看起来像一个可嵌入的网络库,但其作用就像一个并发框架。ZeroMQ类似于标准Berkeley套接字,其提供了各种传输工具,如进程内、进程间、TCP和组播中进行原子消息传送的套接字。你可以使用各种模式实现N对N的套接字连接,这些模式包括:扇出、发布-订阅、任务分配、请求-应答。ZeroMQ的速度足够快,因此可充当集群产品的结构。ZeroM翻译 2022-02-23 17:17:33 · 479 阅读 · 0 评论 -
GNU Radio GRC HackRF实现FM接收
转自:GNU Radio GRC HackRF实现FM接收_neufeifatonju的博客-CSDN博客本文内容、开发板及配件仅限用于学校或科研院所开展科研实验!实验环境:硬件平台---HackRF One、天线(40-860MHz)软件环境---Ubuntu运行HackRF环境系统版本信息---Ubuntu-14.04 (64-bit),内核:3.13.0-32-generic实验步骤:按照下图所示搭建一个WBFM接收的GRC程序。1. HackRF接收信号Hac转载 2022-01-26 09:44:41 · 1366 阅读 · 0 评论 -
C++中virtual继承的深入理解
转自:https://www.cnblogs.com/weekbo/p/8384943.html今天专门看了一下虚继承的东西,以前都没怎么用过,具体如下:父类:复制代码代码如下:class CParent{....};继承类的声明比较特别:class CChild : virtual public CParent{....}请问,这个"virtual"是什么作用及含义?---------------------------...转载 2021-05-12 18:16:59 · 2253 阅读 · 1 评论 -
vs中能编译通过,但是会有红色下划线提示未定义标示符问题
方法一:项目能编译通过,但是代码中会有红色下划线提示未定义标示符。就连BOOL TRUE FALSE等都会有下划线。这通常是该代码文件包含在项目文件夹的子文件夹中。解决办法是配置包含项目目录即可:打开项目属性-》配置属性-》C/C++常规-》附加包含目录-》填入:$(ProjectDir)方法二:在c++代码引用其他类的时候,发现被标下划红色波浪线了,但是编译生成完全没问题。所以肯定是vs脑残了。网上搜了下,https://weblog.west-wind.com..转载 2021-05-12 14:23:10 · 5972 阅读 · 1 评论 -
设计模式使用c++实现
学习《大话设计模式》,按照自己的体会写的c++代码,仅用于记录,有问题欢迎指出。//FotoryMode.h#pragma once#include <string>template<class T> class Operation{public: Operation(T numA,T numB):m_numA(numA),m_numB(numB) { } Operation() = default; virtual ~Operation() = de原创 2020-12-21 15:28:30 · 276 阅读 · 1 评论 -
现代C++之理解decltype
decltype用于生成变量名或者表达式的类型,其生成的结果有的是显而易见的,可以预测的,容易理解,有些则不容易理解。大多数情况下,与使用模板和auto时进行的类型推断相比,decltype作用于变量名或者表达式只是重复了一次变量名或者表达式的确切类型:const int i = 0; // decltype(i) 为 const intbo...转载 2020-03-27 11:02:35 · 167 阅读 · 0 评论 -
C++ 工程实践:避免使用虚函数作为库的接口
原文:http://blog.csdn.net/Solstice/archive/2011/03/12/6244905.aspx陈硕 (giantchen_AT_gmail)Blog.csdn.net/Solstice摘要:作为 C++ 动态库的作者,应当避免使用虚函数作为库的接口。这么做会给保持二进制兼容性带来很大麻烦,不得不增加很多不必要的 interfaces,最终重蹈 COM...转载 2020-03-25 15:05:27 · 478 阅读 · 0 评论