- 博客(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
2077
原创 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
1296
转载 用 const 限定类的成员函数
转自:(90条消息) 用 const 限定类的成员函数 _whyglinux的博客-优快云博客类的成员函数后面加 const,表明这个函数不会对这个类对象的数据成员(准确地说是非静态数据成员)作任何改变。在设计类的时候,一个原则就是对于不改变数据成员的成员函数都要在后面加 const,而对于改变数据成员的成员函数不能加 const。所以 const 关键字对成员函数的行为 作了更加明确的限定:有 const 修饰的成员函数(指 const 放在函数参数表的后面,而不是在函数前面或者参数表内),
2022-04-14 16:40:45
527
原创 C++11可变参数模版简单理解
参考:(90条消息) C++11可变模版参数的妙用 typename... 三点解析_阿六_Dexter的博客-优快云博客_c++11 typename1、概述C++11的新特性--可变参数模板(variadic templates),是C++11新增的最强大的特性之一,它对参数进行了高度泛化,它能表示0到任意个参数、任意类型的参数。相比于C++98/03的类模版和函数模版中只能含固定数量的模版参数,那么,可变参数模板(参数可变)无疑是一个巨大的改进。然而由于可变参数模板比较抽象,使用起来需要一定
2022-04-14 13:41:55
325
转载 利用Makfile给多文件、多目录C源码建立工程
转自:利用Makfile给多文件、多目录C源码建立工程 (qq.com)0. 前言粉丝留言,想知道如何使用Makefile给多个文件和多级目录建立一个工程,必须安排!关于Makefile的入门参考文章,可以先看这篇文章:《Makefile入门教程》为了让大家有个更加直观的感受,一口君将之前写的一个小项目,本篇在该项目基础上进行修改。该项目详细设计和代码,见下文:《从0写一个《电话号码管理系统》的C入门项目【适合初学者】》一、文件好了,开始吧!我们将该项目的所有功能函数
2021-10-19 14:03:22
177
转载 公钥密码学简介
转自:公钥密码学简介 (qq.com)作为工程师应学习的非对称密码学概念> Enigma machine by School of Mathematics — University of Manchester on flickr (CC BY 2.0)如果您从事软件开发,则可能已经以一种或另一种方式向您介绍了加密技术。签名消息,加密有效载荷,验证签名以及使用证书;这些都是我们每天都使用的功能,即使我们不知道也是如此。公钥密码学或非对称密码学是70年代中期开始的广泛科学研究的主题..
2021-10-08 10:15:59
409
转载 Windows 10系统下查看硬盘类型的方法
转自:(70条消息) Windows 10系统下查看硬盘类型的方法_liitdar的博客-优快云博客本文主要介绍在 Windows 10 系统下,通过 Windows PowerShell 查看硬盘类型的方法。通过快捷键“Win+S”打开搜索框,输入“Windows PowerShell”,找到并打开 Windows PowerShell 程序(建议将此程序窗口最大化),在命令行中输入“Get-PhysicalDisk”,按下“Enter”键,即可查看电脑的硬盘类型,如下图:在上图中,..
2021-09-26 17:36:25
3125
转载 Linux Kernel代码艺术——系统调用宏定义
转自:Linux Kernel代码艺术——系统调用宏定义 - hazir - 博客园 (cnblogs.com)
2021-09-26 09:50:27
541
转载 用图文带你彻底弄懂 GDB 调试原理
转自:用图文带你彻底弄懂 GDB 调试原理 (qq.com)一、前言这篇文章来聊聊大名鼎鼎的GDB,它的豪门背景咱就不提了,和它的兄弟GCC一样是含着金钥匙出生的,在GNU的家族中的地位不可撼动。相信每位嵌入式开发工程师都使用过gdb来调试程序,如果你说没有用过,那只能说明你的开发经历还不够坎坷,还需要继续被 BUG吊打。我们都知道,在使用gcc编译时,可以使用-g选项在可执行文件中嵌入更多的调试信息,那么具体嵌入了哪些调试信息?这些调试信息是如何与二进制的指令之间进行相互交互...
2021-09-14 18:18:18
705
转载 UltraISO 怎样复制光盘
转自:UltraISO 怎样复制光盘_百度知道 (baidu.com)方法:1、将光盘放入驱动器内,运行UltraISO软件,点击“文件”--打开光盘。2、单击“工具--制作光盘映像文件”(F5),选择光盘驱动器,并选择操作为“制作光盘映像”,指定输出的ISO文件名,单击“制作”按钮,生成光盘映像文件。3、取出原光盘,放入空白光盘。4、点击“工具--刻录光盘映像文件”(F7),点击“刻录”即可。...
2021-09-14 12:53:37
2626
转载 结构体sizeof不想字节对齐
转自:(66条消息) 结构体sizeof不想字节对齐_lyw736632087的博客-优快云博客问题描述:笔者在做一个项目:硬件要访问内存中按照Spec格式定义的一段数据包。在C语言中一般使用结构体初始化这个数据包,因为可以方便配置各个字段。但结构体默认需要字节对齐的(sizeof和实际大小不同),因此和内存真实的存放方式可能不同。解决方法:让结构体按1字节对齐,例如: struct test{ char ch; int size; char str[10]; }__a...
2021-08-26 16:03:14
729
转载 C/C++ sizeof函数解析——解决sizeof求结构体大小的问题
转自:C/C++ sizeof函数解析——解决sizeof求结构体大小的问题 - WhyWin - 博客园 (cnblogs.com)C/C++中不同数据类型所占用的内存大小32位64位char11int4大多数4,少数8short2...
2021-08-26 15:48:23
1797
转载 VMware虚拟机(Ubuntu)添加物理串口
转自:(65条消息) VMware虚拟机(Ubuntu)添加物理串口_unbroken-优快云博客1.关闭虚拟机,添加串口设备然后进行如下设置2.设置中添加物理串口,将创建的虚拟串口COM1映射到虚拟机上3.在虚拟机中(ubuntu14.04)使用minicom和外接开发板通信。注意打开的串口如果是COM1,一般虚拟机对应的为ttyS1.如果不对,一个个试验修改ttyS(0-31)# sudo minicom -s //设置4.退出...
2021-08-19 10:07:43
2795
转载 C++ 虚函数和纯虚函数的区别
转自:C++ 虚函数和纯虚函数的区别 | 菜鸟教程 (runoob.com)首先:强调一个概念定义一个函数为虚函数,不代表函数为不被实现的函数。定义它为虚函数是为了 允许用基类的指针来调用子类的这个函数。定义一个函数为纯虚函数,才代表函数没有被实现。定义纯虚函数是为了 实现一个接口,起到一个规范的作用,规范继承这个类的程序员必须实现这个函数。1、简介假设我们有下面的类层次:class A{public: virtual void foo() { .
2021-08-18 16:33:41
227
转载 析构函数
/* * 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
104
转载 error: template with C linkage
转自:(65条消息) error: template with C linkage_jiong_1988的专栏-优快云博客当编译C/C++混用的项目时,可能会遇到这个问题。1.某个头文件中extern “C”的使用存在问题,如果包含这个有问题的头文件之后,又包含<map>,<vector>等就会出现这个问题。 1). 需要检查extern "C"后面为一个函数extern "C" int get_value(void); 2). extern "...
2021-08-18 11:01:43
2147
转载 深入理解 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
473
转载 C++11新特性之十:enable_shared_from_this
转自:https://blog.youkuaiyun.com/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
143
转载 C/C++利用Boost::Asio网络库建立自己的Socket服务器
转自:https://blog.youkuaiyun.com/csnd_ayo/article/details/61577634引言寸光阴,当下我们或许更需要利用现有的知识,应用现有的技术。网络是当前互联网的根本,了解网络便开始显得极其重要。今天我们利用Boost库中Asio部分,浅尝网络服务器。此处不做过于深入的开展,为达成学习目的,只做简单的异步并发服务器。注意:本篇代码没有直接引用boost等命名空间,为的是新入门Boost的同学能够更好的了解每个参数在boost的具体命名空间位置,有助于更好的理解boos
2021-07-21 10:21:27
1314
转载 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
336
转载 C++使用kill发送信号终止目标进程
转自:https://blog.youkuaiyun.com/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
1901
转载 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
2205
转载 bad_weak_ptr的原因
转自:https://blog.youkuaiyun.com/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
1440
转载 设备树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
582
转载 pthread 线程立即取消的两种方法
转自:https://blog.youkuaiyun.com/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
1164
转载 Expect工具的安装及使用方法
转自:https://blog.youkuaiyun.com/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
888
转载 shell报错:/bin/sh^M: bad interpreter: No such file or directory
转自:https://blog.youkuaiyun.com/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
1013
转载 解决程序运行问题“libreadline.so.6: cannot open shared object file: No such file or directory”
转自:https://blog.youkuaiyun.com/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
8880
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
3493
1
转载 图解 | 你管这破玩意叫文件系统?
转自:https://mp.weixin.qq.com/s/2NQyDpSQ6E-OPYyaM4UqPQ你手里有一块硬盘,大小为 1T。你还有一堆文件:这些文件在硬盘看来,就是一堆二进制数据而已。你准备把这些文件存储在硬盘上,并在需要的时候读取出来。要设计怎样的软件,才能更方便地在硬盘中读写这些文件呢?首先我不想和复杂的扇区,设备驱动等细节打交道,因此我先实现了一个简单的功能,将硬盘按逻辑分成一个个的块,并可以以块为单位进行读写。每个块就定义为两个物理扇区的大小,即 1024 字节,就
2021-03-11 14:32:12
205
转载 wireshark抓包工具详细说明及操作使用
转自:https://blog.youkuaiyun.com/qq78069460/article/details/79153895wireshark是非常流行的网络封包分析软件,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。使用wireshark的人必须了解网络协议,否则就看不懂wireshark了。为了安全考虑,wireshark只能查看封包,而不能修改封包的内容,或者发送封包。wireshark能获取HTTP,也能获取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中
2021-02-24 13:55:53
1035
原创 visio如何固定地调整图形大小
点击需要编辑的图形,然后依次点击"视图->任务窗格->大小和位置",这个时候,图形的大小和位置信息就会显示出来。这个时候可用鼠标点击"宽度"和"高度"的值上,并输入想输入的值来改变图形大小。还可选择多个图形,然后统一调整图形高宽。...
2021-02-24 08:57:17
20396
4
转载 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
1103
转载 Makefile 高亮显示Error、Warning等错误以及警告信息
转自:https://blog.youkuaiyun.com/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
2859
原创 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
1836
转载 打开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
4276
转载 浅谈 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
1004
转载 windows10中安装ubuntu双系统时出现unable to find a medium containing a live file system解决办法
转自:https://blog.youkuaiyun.com/weixin_44621121/article/details/866496211、在ubuntu官网上下载最新的18.04.1LTS版本2、通过rufus软件将其写入U盘中3、但在电脑安装时出现如下错误(原文链接)解决办法:只需在安装进行到如下界面时,拔掉U盘再插上即可解决问题!...
2021-01-12 09:46:57
2095
转载 进入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
608
转载 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
307
安装freescale的ltib问题解决办法汇总
2016-06-15
小谈 IMX28系列开发板linux初始化Timer过程
2016-05-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人