自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 资源 (2)
  • 收藏
  • 关注

转载 C++ auto 关键字

转自:C++ auto 关键字 - c&z - 博客园 (cnblogs.com)在C++ 98 中,auto的作用是让变量成为自动变量(拥有自动的生命周期),但是该作用是多余的,变量默认拥有自动的生命周期,在C++ 11 中,已经删除了该用法,取而代之的作用是:自动推断变量的类型。举例:  int32_t a = 1;  auto b = a;  std::cout <<typeid(b).name() << std::end; // 输出结果:in..

2022-04-25 08:32:43 1870

原创 c++ 拷贝构造函数的一点理解

函数形参,分配内存有3种情况:定义形参类型是值传递:函数调用时分配内存; 定义形参类型是引用传递:函数调用时不分配内存。 定义形参类型是指针传递:函数调用时不分配内存。1、定义形参类型是值传递,函数调用分配内存,如下定义一个函数int func(int a){ printf("value=%d\n",a); return 0;}当函数调用时,func(2);实际执行如下{ a = 2; printf("value=%d\n",a);

2022-04-15 18:14:47 1175

转载 用 const 限定类的成员函数

转自:(90条消息) 用 const 限定类的成员函数 _whyglinux的博客-CSDN博客类的成员函数后面加 const,表明这个函数不会对这个类对象的数据成员(准确地说是非静态数据成员)作任何改变。在设计类的时候,一个原则就是对于不改变数据成员的成员函数都要在后面加 const,而对于改变数据成员的成员函数不能加 const。所以 const 关键字对成员函数的行为 作了更加明确的限定:有 const 修饰的成员函数(指 const 放在函数参数表的后面,而不是在函数前面或者参数表内),

2022-04-14 16:40:45 431

原创 C++11可变参数模版简单理解

参考:(90条消息) C++11可变模版参数的妙用 typename... 三点解析_阿六_Dexter的博客-CSDN博客_c++11 typename1、概述C++11的新特性--可变参数模板(variadic templates),是C++11新增的最强大的特性之一,它对参数进行了高度泛化,它能表示0到任意个参数、任意类型的参数。相比于C++98/03的类模版和函数模版中只能含固定数量的模版参数,那么,可变参数模板(参数可变)无疑是一个巨大的改进。然而由于可变参数模板比较抽象,使用起来需要一定

2022-04-14 13:41:55 271

转载 利用Makfile给多文件、多目录C源码建立工程

转自:利用Makfile给多文件、多目录C源码建立工程 (qq.com)0. 前言粉丝留言,想知道如何使用Makefile给多个文件和多级目录建立一个工程,必须安排!关于Makefile的入门参考文章,可以先看这篇文章:《Makefile入门教程》为了让大家有个更加直观的感受,一口君将之前写的一个小项目,本篇在该项目基础上进行修改。该项目详细设计和代码,见下文:《从0写一个《电话号码管理系统》的C入门项目【适合初学者】》一、文件好了,开始吧!我们将该项目的所有功能函数

2021-10-19 14:03:22 131

转载 公钥密码学简介

转自:公钥密码学简介 (qq.com)作为工程师应学习的非对称密码学概念> Enigma machine by School of Mathematics — University of Manchester on flickr (CC BY 2.0)如果您从事软件开发,则可能已经以一种或另一种方式向您介绍了加密技术。签名消息,加密有效载荷,验证签名以及使用证书;这些都是我们每天都使用的功能,即使我们不知道也是如此。公钥密码学或非对称密码学是70年代中期开始的广泛科学研究的主题..

2021-10-08 10:15:59 308

转载 Windows 10系统下查看硬盘类型的方法

转自:(70条消息) Windows 10系统下查看硬盘类型的方法_liitdar的博客-CSDN博客本文主要介绍在 Windows 10 系统下,通过 Windows PowerShell 查看硬盘类型的方法。通过快捷键“Win+S”打开搜索框,输入“Windows PowerShell”,找到并打开 Windows PowerShell 程序(建议将此程序窗口最大化),在命令行中输入“Get-PhysicalDisk”,按下“Enter”键,即可查看电脑的硬盘类型,如下图:在上图中,..

2021-09-26 17:36:25 2720

转载 Linux Kernel代码艺术——系统调用宏定义

转自:Linux Kernel代码艺术——系统调用宏定义 - hazir - 博客园 (cnblogs.com)

2021-09-26 09:50:27 445

转载 用图文带你彻底弄懂 GDB 调试原理

转自:用图文带你彻底弄懂 GDB 调试原理 (qq.com)一、前言这篇文章来聊聊大名鼎鼎的GDB,它的豪门背景咱就不提了,和它的兄弟GCC一样是含着金钥匙出生的,在GNU的家族中的地位不可撼动。相信每位嵌入式开发工程师都使用过gdb来调试程序,如果你说没有用过,那只能说明你的开发经历还不够坎坷,还需要继续被 BUG吊打。我们都知道,在使用gcc编译时,可以使用-g选项在可执行文件中嵌入更多的调试信息,那么具体嵌入了哪些调试信息?这些调试信息是如何与二进制的指令之间进行相互交互...

2021-09-14 18:18:18 529

转载 UltraISO 怎样复制光盘

转自:UltraISO 怎样复制光盘_百度知道 (baidu.com)方法:1、将光盘放入驱动器内,运行UltraISO软件,点击“文件”--打开光盘。2、单击“工具--制作光盘映像文件”(F5),选择光盘驱动器,并选择操作为“制作光盘映像”,指定输出的ISO文件名,单击“制作”按钮,生成光盘映像文件。3、取出原光盘,放入空白光盘。4、点击“工具--刻录光盘映像文件”(F7),点击“刻录”即可。...

2021-09-14 12:53:37 2127

转载 结构体sizeof不想字节对齐

转自:(66条消息) 结构体sizeof不想字节对齐_lyw736632087的博客-CSDN博客问题描述:笔者在做一个项目:硬件要访问内存中按照Spec格式定义的一段数据包。在C语言中一般使用结构体初始化这个数据包,因为可以方便配置各个字段。但结构体默认需要字节对齐的(sizeof和实际大小不同),因此和内存真实的存放方式可能不同。解决方法:让结构体按1字节对齐,例如:  struct test{  char ch;  int size;  char str[10];  }__a...

2021-08-26 16:03:14 604

转载 C/C++ sizeof函数解析——解决sizeof求结构体大小的问题

转自:C/C++ sizeof函数解析——解决sizeof求结构体大小的问题 - WhyWin - 博客园 (cnblogs.com)C/C++中不同数据类型所占用的内存大小32位64位char11int4大多数4,少数8short2...

2021-08-26 15:48:23 1560

转载 VMware虚拟机(Ubuntu)添加物理串口

转自:(65条消息) VMware虚拟机(Ubuntu)添加物理串口_unbroken-CSDN博客1.关闭虚拟机,添加串口设备然后进行如下设置2.设置中添加物理串口,将创建的虚拟串口COM1映射到虚拟机上3.在虚拟机中(ubuntu14.04)使用minicom和外接开发板通信。注意打开的串口如果是COM1,一般虚拟机对应的为ttyS1.如果不对,一个个试验修改ttyS(0-31)# sudo minicom -s //设置4.退出...

2021-08-19 10:07:43 2430

转载 C++ 虚函数和纯虚函数的区别

转自:C++ 虚函数和纯虚函数的区别 | 菜鸟教程 (runoob.com)首先:强调一个概念定义一个函数为虚函数,不代表函数为不被实现的函数。定义它为虚函数是为了 允许用基类的指针来调用子类的这个函数。定义一个函数为纯虚函数,才代表函数没有被实现。定义纯虚函数是为了 实现一个接口,起到一个规范的作用,规范继承这个类的程序员必须实现这个函数。1、简介假设我们有下面的类层次:class A{public: virtual void foo() { .

2021-08-18 16:33:41 184

转载 析构函数

/* * deleteFunc.cpp * * Created on: 2016年8月17日 * Author: zroad */#include<string>#include<iostream>using namespace std;bool being = true;class Fruit {public: void print() { cout << color << " " <.

2021-08-18 15:20:20 64

转载 error: template with C linkage

转自:(65条消息) error: template with C linkage_jiong_1988的专栏-CSDN博客当编译C/C++混用的项目时,可能会遇到这个问题。1.某个头文件中extern “C”的使用存在问题,如果包含这个有问题的头文件之后,又包含<map>,<vector>等就会出现这个问题。 1). 需要检查extern "C"后面为一个函数extern "C" int get_value(void); 2). extern "...

2021-08-18 11:01:43 1548

转载 深入理解 Linux 的 epoll 机制

转自:深入理解 Linux 的 epoll 机制 (qq.com)在 Linux 系统之中有一个核心武器:epoll 池,在高并发的,高吞吐的 IO 系统中常常见到 epoll 的身影。IO 多路复用在 Go 里最核心的是 Goroutine ,也就是所谓的协程,协程最妙的一个实现就是异步的代码长的跟同步代码一样。比如在 Go 中,网络 IO 的read,write看似都是同步代码,其实底下都是异步调用,一般流程是:write ( /* IO 参数 */ ) 请求入..

2021-07-26 10:48:01 389

转载 C++11新特性之十:enable_shared_from_this

转自:https://blog.csdn.net/caoshangpa/article/details/79392878enable_shared_from_this是一个模板类,定义于头文件<memory>,其原型为:template< class T > class enable_shared_from_this;std::enable_shared_from_this 能让一个对象(假设其名为 t ,且已被一个 std::shared_ptr 对象 pt 管...

2021-07-21 13:54:40 88

转载 C/C++利用Boost::Asio网络库建立自己的Socket服务器

转自:https://blog.csdn.net/csnd_ayo/article/details/61577634引言寸光阴,当下我们或许更需要利用现有的知识,应用现有的技术。网络是当前互联网的根本,了解网络便开始显得极其重要。今天我们利用Boost库中Asio部分,浅尝网络服务器。此处不做过于深入的开展,为达成学习目的,只做简单的异步并发服务器。注意:本篇代码没有直接引用boost等命名空间,为的是新入门Boost的同学能够更好的了解每个参数在boost的具体命名空间位置,有助于更好的理解boos

2021-07-21 10:21:27 992

转载 C++11使用using定义别名(替代typedef)

转自:http://c.biancheng.net/view/3730.html大家都知道,在 C++ 中可以通过 typedef 重定义一个类型:typedef unsigned int uint_t;被重定义的类型并不是一个新的类型,仅仅只是原有的类型取了一个新的名字。因此,下面这样将不是合法的函数重载:void func(unsigned int);void func(uint_t); // error: redefinition使用 typedef 重定义类型是很方便的,但它也有一

2021-07-20 13:36:13 256

转载 C++使用kill发送信号终止目标进程

转自:https://blog.csdn.net/chengqiuming/article/details/88933756一 点睛#include<sys/types.h>#include<signal.h>int kill(pid_t pid,int sig);函数说明kill()可以用来送参数sig指定的信号给参数pid指定的进程。参数pid有几种情况:pid>0 将信号传给进程识别码为pid的进程。pid=0 将信号传给和目前进程相同进程组的所有进

2021-07-20 11:10:20 1569

转载 boost::asio::io_context的事件循环

转自: https://www.jianshu.com/p/d6ae8adb5914简介boost::asio::io_context看字面意思是io的上下文, 可以理解为, boost的任何io都会涉及到一个io_context, 同步io会隐式地启动一个io_context, 而异步io需要我们指定一个, 然后在合适的时机调用io_context::run()函数, 之后会进入io事件循环, 如果io完成会调用回调函数, 保证实现有关的功能. 根据官方文档, 在已经启动io_context::run

2021-07-20 09:40:15 1777

转载 bad_weak_ptr的原因

转自:https://blog.csdn.net/yockie/article/details/40213331前几天解了一个bug,表象是调用shared_from_this的时候就跑出bad_weak_ptr异常,类A明明是继承自boost::enable_shared_from_this<A>的,一时搞不明白为什么,后来搜了下出现“bad_weak_ptr异常”可能的原因才找到问题所在:创建类A的对象的时候没有用智能指针包裹,而是直接new的裸指针。【引申】enable_from_t

2021-06-25 10:03:46 1214

转载 设备树1-设备树文件.DTS文件格式

转自:https://www.cnblogs.com/Mike2019/p/12191769.html将描述板级硬件信息的内容从Linux分离出来,用一个专属的文件来描述,这个专属文件叫做设备树,文件扩展名.dts。而一个SOC可以做出很多不同的板子,这些板子都有共同的信息,将这些共同的信息提取出来作为一个通用的文件,其他.dts文件直接引用这个通用文件即可,这个通用文件就是.dtsi文件。1、存放路径使用设备树之前ARM架构的板级信息存放在:/arch/arm/mach-xxx/arch/ar

2021-06-04 14:34:18 453

转载 pthread 线程立即取消的两种方法

转自:https://blog.csdn.net/vertor11/article/details/54943923相关函数介绍int pthread_cancel(pthread_t thread)发送终止信号给thread线程,如果成功则返回0,否则为非0值。发送成功并不意味着thread会终止。int pthread_setcancelstate(int state, int *oldstate)设置本线程对Cancel信号的反应,state有两种值:PTHREAD_CANC

2021-05-27 10:21:32 882

转载 Expect工具的安装及使用方法

转自:https://blog.csdn.net/wangtaoking1/article/details/78268574Expect是一个用来处理交互的工具,通常用于需要手动输入数据的场景,可在脚本中使用expect来实现自动化。安装首先查看系统中是否有安装expect。# whereis expectExpect工具是依赖tcl的,所以也需要安装tcl。首先下载并安装tcl,这里安装8.4.19版本。# wget https://sourceforge.net/projects/tcl

2021-05-27 08:41:15 755

转载 shell报错:/bin/sh^M: bad interpreter: No such file or directory

转自:https://blog.csdn.net/xudailong_blog/article/details/82891506在windows环境下写了个shell脚本,然后在linux下运行的时候,发现并不能正常运行,而且是已经在使用命令 chmod 777 xxx.sh了,so,经过搜索,是shell脚本格式出了错误。测试shell#!/bin/shecho "test shell"运行,报错[root@localhost test]# ./test.sh -bash: ./te

2021-05-24 09:54:02 931

转载 解决程序运行问题“libreadline.so.6: cannot open shared object file: No such file or directory”

转自:https://blog.csdn.net/yehe111/article/details/1074602781、问题描述:error while loading shared libraries: libreadline.so.6: cannot open shared object file: No such file or directory原因分析:系统已安装libreadline.so.7,libreadline.so.6的版本已过时,将版本7做软连接为版本6即可解决问题!解决方

2021-04-10 10:31:39 6121 1

原创 Ubuntu18.04 iPerf3 安装

Ubuntu18.04 iPerf3 安装1、下载iPerf3源码:git clone https://github.com/esnet/iperf.git2、安装步骤2.1、cd iperf2.2、sudo ./configure2.3、sudo make2.4、sudo make install3、查看安装是否成功iperf3 –viperf 3.9 (cJSON 1.7.13) Linux ubuntu 5.4.0-52-generic#57~18.04.1-Ubuntu SM

2021-04-09 17:16:38 3002

转载 图解 | 你管这破玩意叫文件系统?

转自:https://mp.weixin.qq.com/s/2NQyDpSQ6E-OPYyaM4UqPQ你手里有一块硬盘,大小为 1T。你还有一堆文件:这些文件在硬盘看来,就是一堆二进制数据而已。你准备把这些文件存储在硬盘上,并在需要的时候读取出来。要设计怎样的软件,才能更方便地在硬盘中读写这些文件呢?首先我不想和复杂的扇区,设备驱动等细节打交道,因此我先实现了一个简单的功能,将硬盘按逻辑分成一个个的块,并可以以块为单位进行读写。每个块就定义为两个物理扇区的大小,即 1024 字节,就

2021-03-11 14:32:12 157

转载 wireshark抓包工具详细说明及操作使用

转自:https://blog.csdn.net/qq78069460/article/details/79153895wireshark是非常流行的网络封包分析软件,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。使用wireshark的人必须了解网络协议,否则就看不懂wireshark了。为了安全考虑,wireshark只能查看封包,而不能修改封包的内容,或者发送封包。wireshark能获取HTTP,也能获取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中

2021-02-24 13:55:53 964

原创 visio如何固定地调整图形大小

点击需要编辑的图形,然后依次点击"视图->任务窗格->大小和位置",这个时候,图形的大小和位置信息就会显示出来。这个时候可用鼠标点击"宽度"和"高度"的值上,并输入想输入的值来改变图形大小。还可选择多个图形,然后统一调整图形高宽。...

2021-02-24 08:57:17 15810 3

转载 switch变量的作用 域问题

转自:http://blog.chinaunix.net/uid-27103408-id-3340702.htmlswitch是我们做条件选择时,经常用到的一个语句。一直以来对于他的使用相信大家也都是得心应手,前几天在linux下写一个c++程序时遇到了这样的一个问题,请看例子:#includeusing namespace std;int main(){ int i; cout<<"please input the value of i ---(0-

2021-02-22 12:13:36 939

转载 Makefile 高亮显示Error、Warning等错误以及警告信息

转自:https://blog.csdn.net/chenshi2021/article/details/100714412/经常性用 Makefile 编译程序,但是出错后清一色的编译输出信息让人查找错误点时一阵头大!还好GitHub上有 color_cpmpile 项目,真是造福啊!感谢此项目的原作者!GitHub上的项目地址 https://github.com/chinaran/color-compile或者在这里下载源代码:http://pan.baidu.com/s/1kUTFtQ31

2021-02-21 17:25:05 2321

原创 PCI设备地址分配

假设分配起始地址 0x7000-0000,每一PCI设备占用0x0100-0000空间红色序号是分配顺序首先是PCI0总线,有3个设备。1、PCI0总线第一个设备是PCI桥,那么顺着PCI桥1向下递归,直到最后一个PCI设备被分配。2、PCI0总线第二个设备是PCI设备,先不管。3、PCI0总线第一个设备是PCI桥,那么继续顺着PCI桥4下递归,直到最后一个PCI设备被分配。4、最后分配PCI0总线第二个设备是PCI设备。...

2021-02-16 15:49:18 1622

转载 打开Office文件总是提示安装程序正在准备必要的文件

转自:https://www.cnblogs.com/Neil223/p/12719093.html不同的Office版本,运行的命令也不同,如果每次打开Office 2003/2007/2010版本也都是先显示“安装程序正在准备必要的文件”,提示配置进度,那么分别按照本法在运行框输入指令,点击确定即可。Office 2003版本输入命令:reg add HKCU\Software\Microsoft\Office\11.0\Word\Options /v NoReReg /t REG_DWORD /d

2021-02-07 19:10:15 3824

转载 浅谈 Linux 内核开发之 PCI 设备驱动

转自:https://www.ibm.com/developerworks/cn/linux/l-cn-pci/index.html#1.PCI%20%E4%BB%8B%E7%BB%8D|outlinePCI 介绍随着计算机应用的不断更新和发展(比如百兆网卡、视屏流等),计算机内数据传输的带宽要求越来越高,传统内部总线带宽已经远远不能满足这些应用的需要,因此人们推出了 PCI 总线标准PCI 是 Peripheral Component Interconnect 的缩写,它因为高性能、低成本以及良好的

2021-01-15 18:14:02 797

转载 windows10中安装ubuntu双系统时出现unable to find a medium containing a live file system解决办法

转自:https://blog.csdn.net/weixin_44621121/article/details/866496211、在ubuntu官网上下载最新的18.04.1LTS版本2、通过rufus软件将其写入U盘中3、但在电脑安装时出现如下错误(原文链接)解决办法:只需在安装进行到如下界面时,拔掉U盘再插上即可解决问题!...

2021-01-12 09:46:57 1688

转载 进入Linux系统命令行提示符美化(PS变量修改)

转自:https://www.icode9.com/content-3-641305.htmlexport PS1='$? [\u@\h] \w \$ '命令提示符PS1(大写ps加数字1)变量内容:PS1=’[\u@\h \W]$ '(系统默认格式)\d :可显示出『星期 月 日』的日期格式,如:“Mon Feb 2”\H :完整的主机名。\h :仅取主机名在第一个小数点之前的名字\t :显示时间,为 24 小时格式的『HH:MM:SS』\T :显示时间,为 12 小时格式的『HH:MM

2020-12-17 16:17:40 499

转载 C 库函数 - ftell()

转自:https://www.runoob.com/cprogramming/c-function-ftell.htmlC 标准库 - <stdio.h>描述C 库函数 long int ftell(FILE *stream) 返回给定流 stream 的当前文件位置。声明下面是 ftell() 函数的声明。long int ftell(FILE *stream)参数stream – 这是指向 FILE 对象的指针,该 FILE 对象标识了流。返回值该函数返回位置标识符的当

2020-12-16 15:29:17 238

安装freescale的ltib问题解决办法汇总

libstdc++ gcc-c++ zlib zlib-devel rpm rpm-build ncurses-devel m4 bison ALL = NOPASSWD: /usr/bin/rpm, /opt/freescale/ltib/usr/bin/rpm rpmdb: --force-debian: unknown option lxdialog mtd-utils uuid.h label_statement mux_server.c types.h

2016-06-15

小谈 IMX28系列开发板linux初始化Timer过程

#define MACHINE_START(_type,_name) __attribute__ machine_desc .arch.info.init 标号 多寄存器加载存储指令 do_initcalls

2016-05-04

空空如也

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

TA关注的人

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