自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

十一月zz的博客

一步步搬砖

  • 博客(210)
  • 资源 (3)
  • 收藏
  • 关注

原创 LINUX 逻辑地址、线性地址、虚拟地址和物理地址

1、概念解释物理地址: 用于内存芯片级的单元寻址,与地址总线相对应。这个概念应该是这几个概念中最好理解的一个,但是值得一提的是,虽然可以直接把物理地址理解成插在机器上那根内存本身,把内存看成一个从0字节一直到最大空量逐字节的编号的大数组,然后把这个数组叫做物理地址,但是事实上,这只是一个硬件提供给软件的抽像,内存的寻址方式并不是这样。所以,说它是“与地址总线相对应”,是更贴切一些,不过抛开对...

2018-05-26 17:23:22 7424

原创 vim安装Taglist(Tlist)插件

一、建立 .vimrc文件由于是把Taglist插件安装在服务器上面,所以我想的尽量Taglist起作用的区域只是我自己的用户目录下,这就涉及到home目录下的.vimrc文件。普通用户的home目录下一开始是没有.vimrc文件的,没有的话就自己新建一个就行,然后在里面放上如下的内容:set nocpset rusyntax on "语法高亮set number set t...

2018-01-20 10:27:52 10965

转载 c++中static的用法详解

转自:c++中static的用法详解C 语言的 static 关键字有三种(具体来说是两种)用途:1. 静态局部变量:用于函数体内部修饰变量,这种变量的生存期长于该函数。int foo(){ static int i = 1; // note:1 //int i = 1; // note:2 i += 1; return i; } 要明白这个...

2018-01-10 09:50:20 349

转载 new和delete

new和delete的用法,参考[1]new() 分配这种类型的一个大小的内存空间,并以括号中的值来初始化这个变量;  new[] 分配这种类型的n个大小的内存空间,并用默认构造函数来初始化这些变量;使用举例:1、new和new[]#include <iostream>#include <string.h>using namespace std;i...

2018-01-08 15:13:13 944

原创 c语言编译、汇编、链接、执行过程分析

1、c程序的编译过程一般为:预处理编译成汇编代码(生成 .s 文件)汇编成目标代码(生成 .o 文件)链接 (生成 .exe)2、举例分析        c编译器基本都是以c文件为单位进行编译的,也就是说当编译器在编译某个c文件的时候,编译器并不知道项目中有其他的c文件的存在。c编译器只针对当前正在编译的c文件,它并不知道还有多少个其他的c文件,也不知道这些c文件之

2018-01-05 22:06:11 1793

原创 cache结构与工作原理

在经历N次的阅读之后,终于明白了cache的结构和工作原理。 首先,要想理解cache,先理解内存。内存的简单表示如下图,内存里面的内容的查找是根据地址来进行的,也就是说内存包含两点①地址②内存的内容(存的数据),根据地址来找数据。 ...

2017-11-23 14:44:55 68243 6

原创 科普:ARM的授权方式

在和同学聊天的时候老是听到IP核这种称呼,不太清楚这个IP核应该怎么理解,是A53、A72这种东西吗?今天专门调研了一下。IP核是具有知识产权的、功能具体、接口规范的可以在多个集成电路中重复使用的功能模块,是实现系统芯片的基本构件。 你可以简单理解为设计完善的功能模块。(而这里的【设计】是根据完善程度有不同的形式,可分为三类:软核、固核、硬核)软核:理解为【程序代码】,是用硬件描述语言实现...

2017-11-04 23:02:49 32493 2

转载 计算机学科国际会议排名

转自:http://blog.csdn.net/xiangyunl/article/details/5975722序号 会议名称 会议介绍 代表领域 1 ACM SIGCOMM: ACM Conf on Communication Architectures, Protocols & AppsA

2017-08-30 10:16:52 27385

原创 指令集架构、arm内核、SoC、处理器、CPU、GPU等的关系

指令集结构如:ARMv5、ARMv6、ARMv7-A/R、ARMv8-A       ARM内核如:ARM7、ARM9、ARM11(v6)、到cortex-A7、A8、A9、A12、A15(v7-A/R)、到cortex-A53、A57(V8)、A72、A73       soc芯片如:高通(Qualcomm)的骁龙(Snapdragon)820、821,麒麟950(4XCortex-A7

2017-08-26 22:40:39 22301 3

原创 C语言中return 0和return 1和return -1

return语句用来结束循环,或返回一个函数的值。return 0:一般用在主函数结束时,按照程序开发的一般惯例,表示成功完成本函数。return -1::表示返回一个代数值,一般用在子函数结尾。按照程序开发的一般惯例,表示该函数失败;以上两个是约定俗成,系统提供的函数绝大部分定义为int类型返回值的都是这样的。布尔类型返回:return 0:返回假;return 1:返回

2017-08-24 22:17:29 144935 2

原创 MSHR(miss status handling register)

MSHR的作用:    On a cache hit, a request will be served by sending data to the register file immediately. On a cache miss, the miss handling logic will first check the miss status holding register (MSHR) t...

2017-08-24 11:28:04 5099

原创 undefined symbol: _ZN5boost15program_options22error_with_option

系统的默认搜索路径/lib64下有一个boost_program_options.so是原罪,如果没有的话,在链接阶段-L/-l的时候,因为没有找到libboost_program_options.so, 所以会去转而使用boost_program_options.a, 这个 .a文件在/xxx/boost/boost-1.80.0目录下是存在的,也就避免了上面这一系列的问题。

2024-02-05 19:04:57 396

原创 ssh免密登录

如果此时还是不行,那就需要进一步查看/home/目录的属性,要保证有读属性。读写执行的属性设置还是挺重要的,之前我一直设置不成功就是因为属性的问题。

2024-01-16 18:18:47 524

原创 Linux .a .so 整理记录

在Linux系统下,

2023-12-15 17:06:05 82

原创 makepp/make for prebuild target

考虑一个场景,某些cpp文件是通过脚本生成的,并且生成的文件数目还很多,所以想用$(wildcard )来模糊匹配出生成的所有cpp文件。

2023-12-13 20:02:39 98

原创 cout << 输出格式突然变成了16进制

在工程中,我通过cout打印一个被频繁调用的函数里面某个参数的值,在前面若干次调用中,cout

2023-05-11 14:19:09 418 1

原创 编译预处理:#if

elif#end 是整数比较的表达式,例如:切记,

2023-04-14 14:52:48 609

原创 win10搜索大文件

win10搜索文件

2023-01-16 16:00:41 689

原创 shell 重定向 2>&1

linux bash shell重定向问题

2022-06-05 16:07:24 407

转载 什么是DPI

什么是DPIDPI是“Dots Per Inch”的缩写,即像素每英寸,是专门为打印和印刷存在的参数。 在打印时,图像是数以百万计的墨点组成的,而DPI定义的就是每单位英寸的距离上,打印机会打出多少个墨点。这一参数影响着打印时最重要的两个方面:打印质量。简单来说,DPI越高打印质量就越好。如今功能优秀的家用打印机可以输出300DPI,而专业打印机可以支持更高的DPI。打印尺寸。图片上的像素,对应的就是打印机打出的墨点。因此,如果你有一张1800像素宽度的图片,在300DPI下打印,那么你将得到6英寸宽

2022-05-23 08:33:33 1077

原创 有符号数的左移和右移

对于无符号数的左移和右移,因为不涉及到符号位的问题,比较好理解:左移低位补零,高位舍弃右移高位补零,低位舍弃对于有符号数的左移和右移,因为符号位的参与,可能各个编译器的实现方式上有差别我在/home/utils/gcc-5.2.0/bin/g++ 这个g++编译器的版本上试了下:左移低位补零,高位舍弃(和无符号数的实现相同)右移高位补符号位,低位舍弃参考:C语言中无符号数和有符号数的左移和右移...

2022-04-30 12:12:34 3669 1

原创 extern inline

参考:C 语言中的冷门知识点:extern inline 函数

2022-04-17 21:49:05 380

原创 ImportError: /lib64/libatk-1.0.so.0: undefined symbol: g_type_check_instance_is_fundamentally_a

error log: import cv2ImportError: /lib64/libatk-1.0.so.0: undefined symbol: g_type_check_instance_is_fundamentally_a一步步来分析:为什么会报这个错误? => 这涉及到执行到import cv2, python是如何来找到cv2所在的路径的?答案是通过PYTHONPATH环境变量。其实我们pip intall库的时候,只是工具在背后帮我们把库放到了PYTHONPATH

2022-04-17 10:50:02 7022

原创 -Wshift-negative-value

/////* main.c *///////#include<stdio.h>int main(void) { int count = 2; printf("%d\n", ~0<<count); //warning printf("%d\n", ~0<<2); // warning:shifting a negative signed value is undefined [-Wshift-negative-value] return

2022-03-31 21:14:03 593

原创 算法:如何在100个人中找出有且仅有的一位确诊新冠的人

问题:假如现在有100个人,有一个人感染了新冠肺炎,问只检测一轮(即统一去做,每个人可以做多次,但是不能等到检测结果出来再去做)的情况下,如果用最少的试剂定位到感染者?答案:对1~100名进行二进制编号:因为2^6 < 100 < 2^7。所以用7bit的二进制进行编号。1号: 000 00012号: 000 00103号: 000 00114号: 000 01005号: 000 01016号: 000 01107号: 000 0111。。100号: 110 0100所以

2022-03-29 17:46:10 4616 3

原创 myfile.cpp:15:6 warning: ‘val‘ may be used uninitialized in this function [-Wmaybe-uninitialized]

本身这个问题很简单,提示也说的很清楚,val没有初始化。但是,奇怪的地方在于去查看myfile.cpp:15并没有 val 这个变量,myfile.cpp:15 指向了一个函数myfunc()的开头,这个函数里面压根并没有定义val这个变量。甚至,整个myfile.cpp里面也没有定义这个变量。解决方法:经过查找资料发现,myfile.cpp在编译的时候是加了 -O3优化选项的,经过测试发现除去把-O3删掉,问题就会消失,O3优化具体做了什么可以自行google。但问题是我就是需要-O3,那怎么办?

2022-03-29 17:16:56 4850

原创 undefined reference to `memcpy@GLIBC_2.14‘_清风捷影 - 博客

root cause 应该是 没有 -L -l 正确的libc.so可以通过strings 某个版本的libc.so | grep GLIBC_2.14查看当前link到的glibc的版本是否正确。

2022-02-24 20:40:19 2876

原创 g++: fatal error: cannot specify -o with -c, -S or -E with multiple files

如题中的错误是由于build cmdline中包含空的-I(大写的i) 导致的,如:-I /home/inc -I -I -I -imacros …/…/xxx.h

2022-02-23 16:58:16 3964

原创 Makefile的隐含规则

Makefile是有一些隐含规则的:参考这里默认把 *.c 编译成 *.o默认把 *.o 链接成 *看个例子:/* main.c */#include <stdio.h>int main(){ printf("helloworld\n"); return 0;}此时一个最简单的Makefile只需要下面这样就可以:main :运行make,就会生成可执行程序main.注意,Makefile里面 目标main的命名取自于main.c,必须配套才行,否

2021-10-14 21:19:16 350

原创 Sat Sep 25 07:38:46 Local time zone must be set--see zic manual page 2021

周末打开电脑,想看下昨天kick off的regression出结果了没有,但是:hk-xterm-02:~> tmuxltmux: need UTF-8 locale (LC_CTYPE) but have ANSI_X3.4-1968简单上网查找了一下解决方法,发现都需要apt install一些东西,或者sudo 改变一些系统环境。因为是公司的服务器,我也没有权限,所以就放弃了,不用tmux了,用vnc。然后,工作需要,我想kick off一轮新的regression,竟然发现公司非常

2021-09-25 16:19:33 383

原创 三维数组。。

三维数组的结构:参考这里指针指向三维数组:参考这里

2021-09-24 14:54:56 313

原创 class的static const成员变量类内初始化

//***** class.h *****//class Widget{public: static const int i = 111;};//****main.cpp****//#include <iostream>#include "class.h"int main() { int bigger = std::max(Widget::i, 1000); //写法1 std::cout << bigger << std:

2021-09-14 22:14:58 823

原创 变长数组VLA(variable length array)

暂时没有得到完整的结论,都是一些零星的解答,但是我的理解是这样的:对于分配在data段的数组(即全局变量或者static变量),是没办法支持VLA的。对于分配在栈上的数组,是可以使用VLA的。参考:GCC 中零长数组与变长数组c99-draft知乎:C语言如何定义一组长度不定的数组?下面“潇涵”的回复数组长度是“变量”,这个变量不是任意变量,而是函数参数,在调用函数是确定的参数值。如果直接用变量作数组长度这个变量必须编译期确定,不是什么变量都可以的。...

2021-09-14 22:00:19 510

原创 C++ class 的 static const 成员

////**** class.h *** ////class Widget{public: static const int i = 111;};////*** main.cpp **** ////#include <iostream>#include "class.h"int main() { Widget widget; int bigger = std::max(widget.i, 1000); std::cout <&lt.

2021-09-10 21:08:38 105

原创 getline和cin混用的问题

cin/getline是什么?cin其实是一个istream对象(object),参考这里。getline是一个标准库函数(function),参考这里。cin/getline停止读取的标志用cin来读取键盘输入的时候,遇到 "空格、tab、回车" 停止读取。 用getline来读取键盘输入的时候,遇到 "回车" 停止读取。cin/getline读取输入流的细节当cin读取键盘输入的时候,会先判断当前读取的字符是否是 "空格,tab,回车"的一种或者几种,如果是的话,则会自动跳过,从

2021-08-28 13:42:35 973

转载 how to enable core dump in csh

转载:https://kb.iu.edu/d/awdhIf you're usingbashorksh, use theulimitcommand to check the stack size:[dartmaul@h2 ~]$ ulimit -acore file size (blocks, -c) 0data seg size (kbytes, -d) unlimitedscheduling priority (-e...

2021-08-06 16:31:26 340

原创 error: expected primary-expression before ‘my_map‘

#include <iostream>#include <map>int main{ std::map<int, int> my_map; return 0;}error log:6:22: error: expected primary-expression before ‘my_map’6:22: error: expected ‘}’ before ‘my_map’6:22: error: expected ‘,’ or ‘;’ befo

2021-04-21 14:20:38 407

原创 Python Exception exceptions.NameError Installation error: gdb.execute_unwinders function is missing:

提示标题所示错误的gdb 版本:gdb-7.10.1使用的gdb的时候遇到如标题所示的错误提示信息,其实不影响正常的使用,但是一直输出这个也很烦人,网上看了下,发现有可能是当前gdb版本的bug,或者当前gdb版本安装的问题。于是换了一个gdb-9.2 版本的gdb来使用,问题消失。参考:这里...

2021-02-23 21:28:32 3280

原创 关联git和CSDN Code China

1. 在Code China新建一个project2. 给项目添加文件3. 给Code China添加自己电脑的ssh key3.1 什么是ssh key?我也不太懂,这里说SSH 密钥对 最直观的作用:让你方便的登录到 SSH 服务器,而无需输入密码。由于你无需发送你的密码到网络中,SSH 密钥对被认为是更加安全的方式。使用SSH key的步骤:在客户端生成SSH key(密钥对:公钥和私钥)在服务端的配置文件中加入你的公钥。(比如我们需要再GitHub中粘贴你的公钥)3.2 如何生成

2021-01-28 21:13:28 178

转载 A CMake Demo

参考这里:CMake入门——简单CMakeLists的编写1. CMake简介CMake是一种跨平台的开源项目管理工具,所做的事其实就是告诉编译器如何去编译链接源代码。与之相似的是直接编写makefile文件,但makefile最大的缺点就是不能跨平台,一旦更换环境就要重新编写,于是我们可以使用CMake编写CMakeLists文件来解决此问题。你可以认为CMake是通过编写CMakeLists.txt,然后运行CMake命令,来自动生成Makefile。2. CMake常用的命令#cmake最小

2021-01-28 20:35:39 554

数据结构与算法分析:C语言描述(原书第2版)

数据结构与算法分析:C语言描述(原书第2版)是《data structures and algorithm analysis in c》一书第2版的简体中译本。原书曾被评为20世纪顶尖的30部计算机著作之一,作者mark allen weiss在数据结构和算法分析方面卓有建树,他的数据结构和算法分析的著作尤其畅销,并受到广泛好评.已被世界500余所大学用作教材。

2017-09-07

linux C函数库参考手册(中文高清版)

Linux C函数库参考手册

2017-08-28

空空如也

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

TA关注的人

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