- 博客(21)
- 收藏
- 关注
原创 Docker迁移/var/lib/docker之后镜像容器丢失问题
迁移/var/lib/docker时,如果目标目录少写一个/,/etc/docker/daemon.json中的data-root后面需要多加一级目录docker。在/etc/docker/daemon.json中添加如下内容。在/etc/docker/daemon.json中添加如下内容。
2025-02-27 10:38:15
495
原创 docker容器内安装SPEC CPU2017 fuse: device not found, try ‘modprobe fuse‘ first
由于实验室的权限限制,docker容器内无sudo权限,无法使用mount进行挂载。删除容器,在docker run命令中加入--privileged重新生成容器。使用fuseiso进行cpu2017.iso的挂载。2.挂载cpu2017.iso。1.安装fuseiso。
2023-06-08 11:17:24
1299
原创 End-of-central-directory signature not found. unzip: cannot find zipfile directory in one of /tmp/
End-of-central-directory signature not found. unzip: cannot find zipfile directory in one of /tmp/
2022-11-13 17:02:54
459
原创 fatal: unable to connect to github.com:github.com[]: errno=Resource temporarily unavailable
vim ~/.gitconfig删除所有的instead of
2022-05-15 10:46:47
4693
3
翻译 C++The unexpected() function
当一个具有异常规范( exception specification)的函数抛出了异常规范中没有列出的异常时,c++运行时做如下操作:1.调用unexpected()函数。2.unexpected()函数调用由unexpected_handler指向的函数,默认情况下,unexpected_handler指向函数terminate()。你可以用set_unexpected()函数替换unexpected_handler的默认值。虽然unexpected()不能返回,但它可能抛出(或重新抛出)异常。假
2020-08-13 11:38:45
986
原创 C++malloc与new的区别
malloc/free是标准库函数,new/delete是C++运算符malloc失败返回空,new失败抛异常new/delete会调用构造、析构函数,malloc/free不会,所以他们无法满足动态对象的要求。new返回有类型的指针,malloc返回无类型的指针...
2020-08-06 11:54:36
137
转载 C++构造函数析构函数调用顺序
在使用构造函数和析构函数时,需要特别注意对它们的调用时间和调用顺序。在一般情况下,调用析构函数的次序正好与调用构造函数的次序相反:最先被调用的构造函数,其对应的(同一对象中的)析构函数最后被调用,而最后被调用的构造函数,其对应的析构函数最先被调用。简单来说,其构造函数的顺序就一句话:基类构造函数 -> 成员的构造函数 -> 构造函数体内语句eg.#include <iostream>using namespace std;class A { public: A(
2020-08-06 11:29:36
598
原创 c++类的自动类型转换和强制类型转换
下面讨论类的类型转换。我们先来看看C++是如何处理内置类型转换的。将一个标准类型变量的值赋给另一种标准类型的变量时,如果这两种类型兼容,则C++自动将这个值转换为接受变量的类型。double time = 11; //int value 11 converted to type double利用构造函数将typename->类在C++中,接受一个参数的构造函数为将类型与该参数相同的值转换为类提供了蓝图。下面的构造函数用于将double转换为Stonewt类类型;class Stonewt
2020-08-04 13:52:12
376
原创 c++运算符重载限制
1.重载后的运算符必须至少有一个操作数是用户定义的类型2.使用运算符不能违反运算符原来的语法规则,eg.不能将%重载成使用一个操作数,此外不能修改运算符的优先级。3.不能创建新的运算符。4.以下运算符不能重载:5.大多数运算符都可以通过成员或非成员函数进行重载,但以下运算符只能通过成员函数进行重载。1)= 赋值运算符2) ()函数调用运算符3)[ ] 下标运算符4)-> 通过指针访问类成员的运算符。...
2020-08-03 12:31:13
527
转载 C++中类中静态变量在类外初始化
我们知道C++类的静态成员变量是需要初始化的,但为什么要初始化呢。其实这句话“静态成员变量是需要初始化的”是有一定问题的,应该说“静态成员变量需要定义”才是准确的,而不是初始化。两者的区别在于:初始化是赋一个初始值,而定义是分配内存。静态成员变量在类中仅仅是声明,没有定义,所以要在类的外面定义,实际上是给静态成员变量分配内存。可以通过以下几个例子更形象的说明这个问题//test.cpp #include <stdio.h> class A { public:
2020-08-02 15:32:59
5186
2
原创 c++带默认参数的函数
c++默认参数默认参数指的是当函数调用中省略了实参时自动使用的一个值。1)如何设置默认值呢?默认参数在函数声明中提供,当又有声明又有定义时,定义中不允许默认参数。如果函数只有定义,则默认参数才可出现在函数定义中。2)对于带参数列表的函数,必须从右向左添加默认值,也就是说,要为某个参数设置默认值,则必须为它右边的所有参数提供默认值:int harpo(int n,int m = 4 ,int j = 5); // VALIDint chico(int n,int m = 6, int j);
2020-07-31 10:56:46
438
转载 C++ 定义与声明
C++声明与定义的区别:①变量定义:用于为变量分配存储空间,还可为变量指定初始值。程序中,变量有且仅有一个定义。②变量声明:用于向程序表明变量的类型和名字。③定义也是声明:当定义变量时我们声明了它的类型和名字。④extern关键字:通过使用extern关键字声明变量名而不定义它。1.定义也是声明,extern声明不是定义,即不分配存储空间。extern告诉编译器变量在其他地方定义了。extern int i // 声明不是定义int i // 定义也是声明2.如果声明有初始化式,就被当作定义
2020-07-28 12:10:09
1416
转载 c语言signed int与unsigned int的运算
一、C语言的int类型与unsigned int运算的问题1、signed int 可以简写成int ,unsigned int 一般不做简写。2、在不同类型的混合运算中,编译器也会自动地转换数据类型,将参与运算的所有数据先转换为同一种类型,然后再进行计算。转换的规则如下:(1)转换按数据长度增加的方向进行,以保证数值不失真,或者精度不降低。例如,int 和 long 参与运算时,先把 int 类型的数据转成 long 类型后再进行运算。(2)所有的浮点运算都是以双精度进行的,即使运算中只有 flo
2020-07-26 15:19:10
5868
原创 C++STLvector的用法
vector:1.vector是表示可变大小数组的序列容器,与数组类似;2.vector中的元素相继存储,意味着可以采用下标对vector的元素进行访问,和数组一样高效,但是不同于数组,vector的大小是可以动态改变的。3.vector的存储是自动管理的,按需扩张收缩。vector通常占用多于静态数组的空间,因为要分配更多的内存以管理将来的增长,vector所用的方式不是在每次插入元素时,而只在额外内存耗尽时重分配。分配的内存总量可用capacity()函数查询vector上的常见操作复杂度:随
2020-05-12 20:18:53
198
原创 Dijkstra算法C语言实现(附图解)
Dijkstra算法:问题:给定一个带权图G=(V,E,w),找到从给定源点u0到其他各点的最短路径。绿色顶点表示源点到该顶点的距离已确定 蓝色顶点表示要加入集合S的顶点 {dis,v},v表示前驱动点,dis表示源点到该顶点的最短距离.........
2020-05-10 20:28:23
22034
4
原创 Prim算法C语言实现(图解)
Prim算法:图论中的一种算法,可在加权连通图里搜索最小生成树。意即由此算法搜索到的边子集所构成的树中,不但包括了连通图里的所有顶点,且其所有边的权值之和亦为最小。Prim算法的描述:已知带权连通图G(V,E),求其最小生成树T(Vnew,Enew),步 骤如下:1.初始从G中任选一顶点v0,Vnew={v0},Enew={};2.从V-Vnew中选取一顶点v,使得v到树T的距离最小,将v加入Vnew中,对应的边加入Enew中3.重复步骤2,直到Vnew=V;例求下图的最小生成树将顶点D
2020-05-08 20:20:39
1727
原创 C/C++函数匹配
c++函数匹配函数匹配:编译器将函数调用和函数定义进行联系的过程。Function matching int C(gcc)c语言中使用函数名进行函数匹配,所以c语言中的每一个函数的函数名都应该不同。Function matching in C++(g++)C++使用函数签名进行函数匹配。函数签名:由函数名和参数列表组成,不包括函数返回值!void print(int a,int ...
2020-05-07 20:25:17
610
空空如也
使用perf对spec cpu2017进行热点分析
2023-02-12
TA创建的收藏夹 TA关注的收藏夹
TA关注的人