自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(306)
  • 收藏
  • 关注

转载 C++中的new、operator new与placement new

C++中的new/delete与operator new/operator deletenew operator/delete operator就是new和delete操作符,而operator new/operator delete是函数。new operator(1)调用operator new分配足够的空间,并调用相关对象的构造函数(2)不可以被重载operator new...

2019-09-03 16:20:43 144

原创 GCC编译优化级别具体干了啥

O2:在-O1基础上,另外增加了不执行空间和时间折中的优化,涉及指令重排,不进行循环展开和函数内联,该优化选项会牺牲部分编译速度,采用几乎所有的目标配置支持的优化算法,用以提高目标代码的运行速度。-O3:最高级别优化,这是最高最危险的优化等级。用这个选项会延长编译代码的时间,编译所有的软件包将产生更大体积更耗内存的二进制文件,大大增加编译失败的机会或不可预知的程序行为(包括错误)-O1:最基本的优化等级,主要涉及常量合并,条件分支和表达式优化,循环展开Loop Unroll与简化等,函数内联,

2023-05-13 09:43:39 929 1

原创 gcc编译参数的指定问题

那些以.开头的行主要用于后期链接时期使用的辅助信息,不会实际执行。生成的.s文件中的以.开头的行,可以直接删掉,得到纯汇编代码。-m32 :指定32位编译。-m64:指定64位编译。1. 指定生成汇编代码: -S。

2023-05-13 09:15:40 171

转载 cmake学习

cmake

2023-04-13 17:18:33 151

原创 C++定时器

C++实现定时器

2023-04-12 17:39:29 1917

原创 FreeRTOS小知识点

介绍FREERTOS的一些小细节

2022-10-25 22:48:55 1229

原创 面试问题精选一

专供面试环节,

2022-10-25 22:44:27 99

原创 面试问题精选一

专供面试

2022-10-25 22:43:09 456

原创 C++常见的I/O宏

C++常见IO宏

2022-10-09 11:00:42 430

原创 模板函数匹配规则

模板函数匹配是一般规则是:1. 先匹配模板及其重载(模板本身的匹配)2. 上面一步没匹配到的话,再继续匹配特例化模板(模板实例化的匹配)可以看看下面的代码:// Example program#include <iostream>#include <string>using namespace std;template<class T> /// 1void foo(T t) { cout << 0;}tem

2022-04-30 10:37:53 372

原创 C++常用容器内存分布情况

首先,强调一点,对象(如容器)本身的存储位置和其数据的存储位置往往不是在一起的,比如堆栈存储分离的模式。先举个例子:vector和arrayvector和arrayarray是c++11之后新加的容器类型,他比vector更加轻便。 array的数据存储在栈中,vector的数据存储在堆中。所以 array容器处理数据的效率更快 vector处理数据的量更大 vector更强大,封装的函数更多;array更轻便,更适合一些操作简单,数据量比较少的情况。另外,其他的容器,智能指

2022-04-29 09:45:15 1310

原创 使用{}和()调用构造函数的区别

使用{}和()调用构造函数有哪些区别呢?我们知道,初始化列表是C++11后新加的特性,用来方便类类型的初始化。另外,它也可以用在基本类型的初始化上。

2022-04-28 17:49:45 1320

原创 算法题解1

题目:给定一个二维数组,数字表示海拔高度,输入起始点和终点,判断从起始点能否达到终点?条件:1. 搜寻过程,每次只能移动一步,步长为1,且海拔为0的点才能作为搜寻经过的路线2. 搜寻过程中,直角拐弯(90度)次数不能超过K次, K=2例子:矩阵matrix=[[1 0 5 5][3 0 0 3][5 7 0 1]]起点:(0,0), 终点:(2,3)输出: No解题思路:(1)路径搜索,用回溯算法,必须定义访问数组vis(...

2022-04-21 19:15:57 949

转载 Linux IO模式及 select、poll、epoll详解

注:本文是对众多博客的学习和总结,可能存在理解错误。请带着怀疑的眼光,同时如果有错误希望能指出。同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么区别?不同的人在不同的上下文下给出的答案是不同的。所以先限定一下本文的上下文。本文讨论的背景是Linux环境下的network IO。一 概念说明在进行解释之前,首先要说明几个概念:- 用户空间和内核空间- 进程切换- 进程的阻塞- 文件描述符- 缓存 I/O用户空间与内核空间现在操作系统都是采用虚拟存储器,那.

2022-04-05 20:14:50 547

原创 c/c++函数调用栈入栈顺序

{...6 bool flag;7 int a = 12;8 char c = 'k';9 addToFirst(a, c);//把结果赋给第一个参数,引用传递10 flag = 12 > a;...}当运行到行9时,系统栈上新建一个栈帧,依次入栈:c,a,下一条指令地址,如下:第10行代码指令地址//代码区调用指令的下一条指令地址压入栈中,供函数返回时继续执行 (栈顶)ac...原先栈的内容(栈底)

2022-04-05 16:25:59 1274

原创 关于远程连接身份验证错误,又找不到加密Oracle修正的问题

1. 打开注册表,快捷输入 “regedit”(类似找命令提示符 输入 cmd 一样)2.找文件夹 路径,看看是否存在AllowEncryptionOracle:[HKEY_LOCAL_MACHINE]\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters3. 若不存在,可以直接复制以下内容到记事本,然后把文件后缀改成.reg,点击运行即自动注册到注册表:...

2022-03-14 15:27:05 976

原创 专业的翻译网站

给大家推荐一个用于专业翻译的网站:CNKI学术翻译:https://dict.cnki.net/h_33281000.html

2021-04-24 18:58:18 244

转载 C++11 POD类型

C++11 POD类型POD,全称plain old data,plain代表它是一个普通类型,old代表它可以与c兼容,可以使用比如memcpy()这类c中最原始函数进行操作。C++11中把POD分为了两个基本概念的集合,即:平凡的(trival)和标准布局的(standard layout)。1、首先是平凡的(trival)定义,通常一个平凡的类或者结构体需要满足以下定义  (1).拥有平凡的默认构造函数和析构函数。默认的意思就是由编译器为我们自动生成的,不许是我们自己定义的,而一旦定义了构

2020-10-03 10:09:40 259

转载 Xilinx FPGA内部体系结构

Xilinx的FPGA的基本结构是一样的,主要由6部分组成,分别为可编程输入/输出单元、基本可编程逻辑单元、嵌入式块RAM、丰富的布线资源、底层嵌入功能单元和内嵌专用硬核等。但随着半导体工艺的发展,FPGA的逻辑容量越来越丰富,速度更快,嵌入越来越多的硬核了,比如:ARM处理器,PCIe, ETHERNET等。在制程工艺上,Xilinx的7系列FPGA采用28 nm工艺,UltraScale采...

2020-03-12 10:42:01 1197

原创 截长图

2020-03-06 17:04:30 247

转载 1. Vivado 常用 tcl 命令 &GUI

在 Vivado 中用 tcl命令非常强大。例如可以把整个工程导出到.tcl文件,非常方便分发、备份。1(a).把工程保持成.tcl文件tcl: write_project_tcl c:/vivado_project/pro.tclgui: File->Project->Write tcl...,然后选择tcl路径即可。注意:最好把.tcl中列出的依赖文件(....

2020-03-06 16:52:58 3232

转载 VIVADO 之 TCL脚本工具 [上] (基本语法)

TCL脚本语言注:TCL在VIVADO中的具体使用将写在VIVADO 之 TCL脚本工具 [下]中,本文只有TCL语法Tcl(Tool Command Language)是一种很通用的脚本语言,它几乎在所有的平台上都可以解释运行,而且VIVADO也提供了TCL命令行。最近发现TCL脚本貌似比GUI下操作VIVADO效率高一些,方便一些。而且最近跟着官网文档做SDSOC的flatform,发现...

2020-03-06 16:50:55 1133

转载 Windows 有没有办法查看文件被哪个进程占用

经常当我们删除文件时,有时会提示【操作无法完成,因为文件已在另一个程序中打开,请关闭该文件并重试】,到底是哪些程序呢?有时候一个一个找真不是办法,已经被这个问题折磨很久了,今天下决心要把它解决,找到办法了。如果系统是win7,可以这么做:在开始菜单中的搜索框内输入“资源监视器”,回车,打开“资源监视器”。看下图,在“资源监视器”界面中,点击第二个选项卡“CPU”。在“关联的句柄”右侧搜...

2020-03-06 10:24:15 962

原创 截长图方法

找到当前页,CTRL+M

2019-12-27 10:51:41 586

转载 c++ define的用法(转)

蒂其之死c++ define的用法(转)#define是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率,但学生在学习时往往不能 理解该命令的本质,总是在此处产生一些困惑,在编程时误用该命令,使得程序的运行与预期的目的不一致,或者在读别人写的程序时,把运行结果理解错误,这对 C语言的学习很不利。1 #define命令剖析1.1 #...

2019-12-21 15:42:42 587

原创 WPS通配符查询和替换

首先,贴上最全链接:Word查找和替换通配符(完全版)先选中“使用通配符”然后设置替换的内容和通配符,如下:查找内容输入:式([0-9])(.)([0-9]{1,10})([- ]{1,10})([0-9])(.)([0-9]{1,10})替换行里设置为:式(\1.\3)-(\5.\7)效果展示:按照式3.1-3.44计算方 按照...

2019-11-16 12:11:04 7697

原创 wps如何跨页续表

先来看一个反面例子:显然这种跨页表格不美观。解决步骤如下:1.如下图,鼠标来到第二页第一行,右键选择“插入”-“行(在上方)”2. 接着看到,创建了一条新的行。3.把第一页标题复制过来,4.光标移到第二页第一行第一格,5. 点击“表格工具” - “拆分表格”-“”按行拆分”6. 点击后,在第二页出现新的一行,如下图:...

2019-11-14 10:07:00 16583

原创 Chrome浏览器安装不了crx的问题

常规直接拖拽crx到Chrome不管用,可采用以下方法:1. 将原crx改为后缀zip或rar,再解压到一个新建的文件夹(用于将来打包为新的crx,名字随意),删除压缩包2. 再打开chrome://extensions/谷歌扩展应用管理,点击右上角的开发者模式,就可以看到“加载正在开发的扩展程序”这一选项。3. 选择刚才步骤1中解压好的文件夹,在开发者模式中,选择“load unpack...

2019-11-13 20:07:46 458

转载 assert用法,原理,改编(C++)

最近才发现,原来assert这么好用啊。。。再看看是怎么实现的,又找到了些有趣的东西。用法:先包含#inlcude <assert.h>在想用的地方给一句:assert(expression)就可以了。expression是任意有效的逻辑表达式。比如:FILE *fp = fopen("in.txt","r") ;if ( ! fp ){ exit(0) ...

2019-11-13 16:52:20 259

转载 #pragma warning 指令集

#pragma warning 指令集该指令允许有选择性的修改编译器的警告消息的行为指令格式如下:#pragma warning( warning-specifier : warning-number-list [; warning-specifier : warning-number-list…]#pragma warning( push[ ,n ] )#pragma war...

2019-11-13 16:39:23 196

原创 GitHub C/C++项目新奇写法

1. 对象的特殊初始化:逗号表达式,结果返回逗号表达式中最后一项。#define MKSTATUS(ret, codev) ( ret.code=codev, ret.sourcefile=__FILE__, ret.sourcelineno=__LINE__, ret )2. 枚举类型,用作常量 (C++11中可采用匿名namespace的方式定义)typedef enum S...

2019-11-13 16:08:14 358

转载 如何有效解决C与C++的相互调用问题

在实际工作中可能经常要进行C和C++的混合编程,C++调用C语言的代码通常都比较容易,但也有一些细节需要注意。C要调用C++的代码就略为麻烦一些,因为C不支持面向对象的特征。首先我们来看一下C++调用C语言的代码。要让你的C代码既能被C代码又能被C++调用虽说容易,但是还是有需要注意的地方。现有三个文件分别如下:/* file TestC.h */#ifndef TESTC_H#defin...

2019-11-13 15:59:03 239

转载 C/C++程序员必须熟练应用的开源项目

其他最全参考:值得学习的C++项目开源作为一个经验丰富的C/C++程序员, 肯定亲手写过各种功能的代码, 比如封装过数据库访问的类, 封装过网络通信的类,封装过日志操作的类, 封装过文件访问的类, 封装过UI界面库等, 也在实际的项目中应用过, 但是回过头仔细想想,其实以前自己写过的这些代码,只能是在特定的项目或者特定的环境中使用, 对于自己来说, 在不同的项目中应用, 只需要复制代码, ...

2019-11-13 15:23:40 198

转载 如何让电脑带双显示屏,显示不同的内容

按:使用电脑,有时希望有两个显示器,一个显示资料页面,一个显示自己正在做的工作,比如写文章页面,这样,就不必来回切换页面了。下面的文章解决了这个问题。出处是http://diybbs.zol.com.cn/8/106_74625.html时代在进步,电子产品功能丰富到一定程度,价格足够便宜,就已经没有太多可以YY的地方,而这却方便了用户可以玩Double甚至更多的电子产品,比如双手机;PS3、...

2019-11-13 14:43:05 4674

原创 如何为WPS不同章节设置不同的页眉

写论文时,很多人碰到一个问题:如何为不同章节设置不同的页眉??在一般设置时,我们发现,第1章的页眉影响到了第2章!(如上图)下面就为大家来介绍一下具体解决方法。1. 光标移动到 在上一章(第1章)末尾,如箭头1.2. 点击“插入”,如箭头23.在“分页”下拉框中选择“下一页分节符”,如箭头34. 来到本章(第2章),鼠标双击页眉,进入页眉编辑状态,...

2019-11-13 10:24:14 12527

转载 FPGA网表

首先声明不是HDL语言里面的东西,而是综合工具里面的东西~~综合的概念就是你写的是verilog代码。但是他只是代码。其实不起到任何作用,只是做了这个模块的行为级的描述。但是电脑对verilog不能直接识别。所以要通过编译器和综合工具进行翻译。编译器检查你的语法错误,以及初步逻辑功能的检查。然后综合工具将对应的设计转化成“网表”。真正将你的HDL代码变为可用的电路过程如下:xilinx的步骤...

2019-11-02 19:18:20 5751

转载 从硬件级别说明for和if..else的利弊

1.实际工作中,除了描述仿真测试激励时使用for循环语句外,极少在RTL级编码中使用for循环这是因为for循环会被综合器展开为所有变量情况的执行语句,每个变量独立占用寄存器资源,不能有效的复用硬件逻辑资源,造成巨大的浪费。一般常用case语句代替。2. if…else…和case在嵌套描述时是有很大区别的if…else…是有优先级的,一般来说,第一个if的优先级最高...

2019-11-02 19:06:57 488

转载 Model LSTM

其他参考: LSTM Networks应用于股票市场探究 ***** LSTM模型在问答系统中的应用 *** 最全 LSTM 模型在量化交易中的应用汇总(代码+论文)*** 分享一下你所了解到的LSTM/RNN的应用Case?*****(含有各种具体应用场景)In atraditionalrecu...

2019-10-30 10:33:27 426

转载 高效C++:模板和泛型编程

模板和泛型编程的关注重点在编译期,所有的行为都在编译期确定,因此其规则和玩法也有自己特殊的一套,和其他模块不通用。了解隐式接口和编译期多态了解typename的双重含义 声明template参数时,前缀关键字class和typename可以互换 使用typename关键字声明嵌套从属类型名称,但不可以出现在基类列表和初始化里列表中 嵌套从属名称 ...

2019-10-28 10:44:39 172

转载 Linux 互斥锁、原子操作实现原理

futex(快速用户区互斥的简称)是一个在Linux上实现锁定和构建高级抽象锁如信号量和POSIX互斥的基本工具。它们第一次出现在内核开发的2 5 7版;其语义在2 5 40固定下来,然后在2 6 x系列稳定版内核中出现。在Linux下,信号量和线程互斥锁的实现都是通过futex系统调用。futex(快速用户区互斥的简称)是一个在Linux上实现锁定和构建高级抽象锁如信号量和POSIX互斥的...

2019-10-28 09:57:20 845

空空如也

空空如也

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

TA关注的人

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