这一周主要就是在linux下进行c++的开发,以此为契机记录下遇到的问题....有时候拉取代码不成功,可以ssh/https两种链接都试试 代码编写 vim进行临时的一些修改,vscode用于较大的项目,VS Studio用于windows下的调试 目前主要使用vscode,开发环境是无界面的linux...libc库版本 查看log 一般程序会输出log到磁盘文件,想要实时监控日志文件的更新内容,可以使用tail -f filename命令,它会在文件内容有更新时将结果输出到命令窗口 调试 使用gdb调试C+...打断点到文件的某一行,也可以直接打到某函数位置 n 下一步 c 继续运行,直到程序结束或者遇到断点 s 单步调试 r 重头运行程序 p 打印变量内容 help 查看命令提示 性能分析 gprof工具 linux
AIX上使用的是xlc++编译器,Linux上使用的是g++编译器。对C标准中没有严格定义的行为,两个编译器的处理方式不一定相同,会造成一些bug。...double型变量amt,使用前没初始化amt默认值0.0amt默认值为超大正数,导致程序崩溃增加初始化处理memset(&ret, '\0', sizeof(ret)); 如果AIX是32位版本到Linux
单个源文件生成可执行程序 下面是一个保存在文件 helloworld.cpp 中一个简单的 C++ 程序的代码: /* helloworld.cpp */ #include int...该代码可用以下命令编译为可执行文件: $ g++ helloworld.cpp 编译器 g++ 通过检查命令行中指定的文件的后缀名可识别其为 C++ 源代码文件。.../helloworld hello, world 程序 g++ 是将 gcc 默认语言设为 C++ 的一个特殊的版本,链接时它自动使用 C++ 标准库而不用 C 标准库。...在大多数系统中,GCC 安装时会安装一名为 c++ 的程序。...下面的命令将由 C++ 源码文件生成汇编语言文件 helloworld.s: $ g++ -S helloworld.cpp 生成的汇编语言依赖于编译器的目标平台。
C++面试题总结 编程基础 C++ 内存管理方式 堆、栈、自由存储区、全局/静态存储区、常量存储区 自由存储区存储malloc申请的内存 (1)从静态存储区域分配 。...+中的static关键字的总结 几个复制的声明 void * ( * (*fp1)(int))[10]; //fp1是一个指针,指向一个函数,函数参数为int,函数返回参数是一个指针,指针指向一个数组...在Linux中以.a结尾 动态库(共享库)的代码在可执行程序运行时才载入内存,在编译过程中仅简单的引用,因此代码体积比较小,在程序运行时还需要动态库存在。...在Linux中以.so结尾 当静态库和动态库同名时, gcc命令将优先使用动态库.为了确保使用的是静态库, 编译时可以加上 -static 选项,因此多第三方程序为了确保在没有相应动态库时运行正常,喜欢在编译最后应用程序时加入...对于C++来说,有些操作也不是类型安全的,比如不同类型指针之间可以强制转换(reinterpret cast) 注:C#、Java是类型安全的 C++使用得当,可以远比C更有类型安全性。
0、c++期末总结 0.1、程序的构成 一个C++程序可以由一个程序单位或多个程序单位构成。每一个程序单位作为一个文件。在程序编译时,编译系统分别对各个文件进行编译,因此,一个文件是一个编译单元。...0.2、程序的编写与实践 用高级语言编写的程序称为“源程序”,C++的源程序是以.cpp作为后缀的 对源程序(.cpp)进行编译 ➡ 目标程序(.obj) ➡ 二进制文件(.exe) 编写C++程序一般需要经过的几个步骤是...<表达式n cout<<a,b,c; //错误,不能一次插入多项 cout<<a+b+c; //正确,这是一个表达式,作为一项 cin>>a>>b>>c>>d; 1.7、变量命名规则 C+...; – 前置递减 a=2; b=–a; a=1; b=1; – 后置递减 a=2; b=a–; a=1; b=2; 注意: 两个整数相除结果依然是整数(这里不进行四舍五入,直接舍去小数点后面数字) C+...= 3 1 < 小于 4 < 3 0 > 大于 4 > 3 1 <= 小于等于 4 <= 3 0 >= 大于等于 4 >= 1 1 注意:C和C++ 语言的比较运算中,“真”用数字“1”来表示, “
前言: 大家好,今天给大家分享一篇关于 c++ 模板总结概述. 模板(Template)指 C++ 程序设计设计语言中采用类型作为参数的程序设计,支持通用程序设计。...C++ 的标准库提供许多有用的函数大多结合了模板的观念,如 STL 以及 IO Stream。...模板是 C++ 支持参数化多态的工具,使用模板可以使用户为类或者函数声明一种一般模式,使得类中的某些数据成员或者成员函数的参数、返回值取得任意类型。...五、模板的实例化: 总结一下,C++ 只有模板显式实例化 (explicit instantiation), 隐式实例化 (implicit instantiation) ,特化 (specialization...标准 C++ 要求这样的成员函数只有在被调用或者取地址的时候,才被实例化。用来实例化成员函数的类型,就是其成员函数要调用的那个类对象的类型。
本文由知乎答主我是龙套小果丁提供 前注:笔者在暑假时偶然关注到C++的ABI问题,对此进行了比较长时间的探究。...ABI本身并没有在C++标准中出现过,这导致C++的ABI问题比较混乱;这也是C++相关提案出现的原因——"not controlled by WG21"。事实上C标准也没有这个概念。...具体地,C++的ABI可以分为两个方面,我们也会按两方面讨论: 语言ABI/编译器ABI。 库的ABI(尤其是标准库的ABI)。...具体地,C++由编译器决定的ABI主要包括: 名称修饰/重整(Name mangling):C++具有函数重载、模板、名称空间等,他们在目标文件中应该具有不同的名称,来让可执行文件可以调用到唯一的函数。...这给库程序员造成很大的麻烦,因为C++程序员几乎不可避免使用标准库;如果要兼容所有版本,保险起见就需要每个ABI break的版本都提供新的库。
这条可以参照Effective C++[1]的Item 31。主要原因是局部变量会在函数返回后被销毁,因此被返回的引用就成为了"无所指"的引用,程序会进入未知状态。...这条原则可以参照Effective C++[1]的Item 30。...这个唯一选择很关键,它说明了引用的重要性以及无可替代性,也许这就是C++语言中引入引用这个概念的原因吧。 赋值操作符=。...它们不能返回引用,Effective C++[1]的Item23详细的讨论了这个问题。...C++规定,当一个成员函数被声明为虚函数后,其派生类中的同名函数都自动成为虚函数。
本文链接:https://blog.csdn.net/ZY_FlyWay/article/details/102490751 最近在blink看到很多刚学C++的学弟学妹,手有点痒,毕业快5年了,C...写这篇文章回顾下C++我在大学学习时候的误区,希望可以让和我一样的同学少走点弯路。 指针 这是我大学的噩梦,好几个问题一直在脑子里转来转去,虽然老师讲了指针就是一块内存,它可以指向另一个内存。...总结:为了更方便的去使用数据\color{red}{总结: 为了更方便的去使用数据}总结:为了更方便的去使用数据 问题一: 指针指向指针的故事 ---- 其实这个问题挺简单,只是以前被我想复杂了,主要是二维数组的例子
前言: 大家好,我是小涂,今天给大家分享一篇关于c++模板总结概述. 模板(Template)指C++程序设计设计语言中采用类型作为参数的程序设计,支持通用程序设计。...C++ 的标准库提供许多有用的函数大多结合了模板的观念,如STL以及IO Stream。...模板是C++支持参数化多态的工具,使用模板可以使用户为类或者函数声明一种一般模式,使得类中的某些数据成员或者成员函数的参数、返回值取得任意类型。...五、模板的实例化: 总结一下,C++只有模板显式实例化(explicit instantiation),隐式实例化(implicit instantiation),特化(specialization,...标准C++要求这样的成员函数只有在被调用或者取地址的时候,才被实例化。用来实例化成员函数的类型,就是其成员函数要调用的那个类对象的类型。
C++中,实现多态有以下方法:虚函数,抽象类,覆盖,模板(重载和多态无关)。 C++ 类(纯虚函数和抽象类) a. 纯虚函数是一个在基类中只有声明的虚函数,在基类中无定义。...4.指针和引用的区别总结 ①指针有自己的一块空间,而引用只是一个别名; ②使用sizeof看一个指针的大小是4,而引用则是被引用对象的大小; ③指针可以被初始化为NULL,而引用必须被初始化且必须是一个已有对象的引用...C++中,class与struct都可以定义一个类。...C++默认是哪种? __cdecl、__stdcall是声明的函数调用协议。主要是传参和弹栈方面的不同。...__cdecl: 一般c++用的是__cdecl 函数参数按照从右到左的顺序入栈 由调用函数者把参数弹出栈以清理堆栈 PS:那么为什么还需要_cdecl呢?
C++提供了构造函数来处理对象的初始化。构造函数是一种特殊的成员函数,与其他成员函数不同,构造函数不需要用户来调用它,而是建立对象时自动执行。
C++程序的内存布局与C程序布局类似,区别是C++不再区分全局变量和静态变量是否已经初始化,全部存储在静态存储区;另外堆中存放new/delete申请释放的资源,而malloc和free申请的资源存放在自由存储区...malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。...3.13 static总结 函数体内static变量的作用范围为该函数体,不同于auto变量,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值。...3.13 const总结 欲阻止一个变量被改变,可以使用const关键字。在定义该const变量时,通常需要对它进行初始化,因为以后就没有机会再去改变它了。...算法 迭代器 参考文献 [1] c++面试知识,知乎。
类是c++中最基本的特性之一。标准库类型种,如istream estream都是类。 类类型 类定义的类型,类名即为类型名 注释 被编译器忽略的程序文本。...c++中有两种类型的注释:单行注释以 // 开始,从 // 到行尾的所有都是注释 再一个就是/* */,从第一个/ *开始到 * /结束,中间的内容全部被注释。 条件 求值结果为真或假的表达式。...标准库 一个类型和函数的集合,每一个c++编译器都必须支持。标准库提供了支持IO操作的类型。c++程序员倾向·于用 库指代整个标准库。
/静态局部变量 cout<<"out="<out<<endl; func1(); func2(); return 0; } 在这个例子中我尽量表现了各种情况,虽然写得很不合理… 先给出<em>C+</em>...对于一个<em>C++</em>程序,内存区域分六个部分:依次是rodata区,text区,data区,bss区,heap区和stack区。
cat tail -f 日 志 文 件 说明 /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一 /var/log/secure 与安全相关的日志信息
linux的核心概念知识: linux软件是开源免费的,而linux是由Unix演变而成,Unix是由MINIX演变而成。...2000年以后,linux系统日趋成熟,涌现大量基于linux服务平台的应用并广泛用于ARM技术嵌入式系统之中。 1990年,芬兰赫尔辛基大学学生linuxTorvalds首次接触MINIX。...1991年底,linuxTorvalds公开了linux内核源码0.02版。 1984年,AndrewS.Tanerbaum(谭宁邦)开发了教学的Unix系统,名为MINIX(miniunix)。...linux的诞生: 始于芬兰赫尔辛基大学的一位计算机系的学生,名字为:linux Torvalds Unix:1969年在贝尔实验室诞生,70年代盛行,1977年诞生(BSD),从...打开VMware软件:点击创建虚拟机选择自定义模式点击下一步兼容性选择默认点击下一步安装客户机操作系统选择稍后安装怎么说呢,其实这个步骤是个坑点击下一步选择linux系统版本应为现在大部分系统都是64位的所以选择
1.Linux介绍 Linux 内核最初只是由芬兰人林纳斯·托瓦兹( Linus Torvalds) 在赫尔辛基大学上学时出于个人爱好而编写的。...Linux 能运 行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。 Linux 继承 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。...系统 3)在VMWARE中安装linux系统 第一步 :选择创建新的虚拟机 第二步:选择默认典型,下一步 第三步:选择默认的稍后安装操作系统 第四步:选择linux和对应的安装版本 第五步:安装位置选择资源充足的盘...qq_39052513/article/details/100272502 3.Linux文件与目录结构 1)文件 Linux系统中一切皆文件 2)目录结构 4.linux中文本编辑器 vim是从 vi...这些服务程序都放在相应 LINUX系 统启动级别的文件夹下面。
/BBB 路径的使用总结: 如果离当前目录近使用相对路径,如果离根目录近使用绝对路径,如果进入的是中间目录建议使用绝对路径 自动补全: 两次tab键 cp: 拷贝 14.1 cp 文件名 路径: 把文件拷贝到指定路径...在终端显示的内容信息重写规定方向,保存到指定文件里面,以后查看数据是文件查看就可以了 26.1 > :如果文件不存在,那么先创建,否则会先把原有文件的数据清空然后再写入 26.2 >> : 在原有数据的基础上进行追加 26.3 总结...表示下一页 29.3 回车: 表示下一行 29.4 b:表示上一页 29.5 q:退出 文件合并 cat 1.txt 2.txt > 3.txt 管道: 可以理解成是一个容器,存放在终端显示的内容 28.1 总结...那么需要使用绝对路径创建软连接 grep: 根据指定的内容在文件中进行查找 30.1 grep "a" 8.txt : 根据指定内容在文件中进行查找 30.2 -n:行号, -i:忽略大小写 -v: 取反 30.3 总结...-perm 666: 在当前目录查找文件权限是可读可写的, -perm根据权限查找 31.3 总结: ? [] 支持的通配符 ls:支持的通配符: _,?
进程,是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。它的执行需要系统分配资源创建实体之后,才能进行。...
领取专属 10元无门槛券
手把手带您无忧上云