C语言volatile关键字详解 is a project mainly written in , based on the .volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。下面举例说明。在DSP开发中,经常需要等待某个事件的触...
三字母词和转义字符 is a project mainly written in , based on the .1. 三字母词 在C语言中有一种三字母词的说法,trigraph sequences,目前为止有九种三字母词,如下 ??= # ??) ] ??! | ??( ...
操作符和表达式 is a project mainly written in , based on the .一. 操作符 1. 算术操作符 + - * / % 除了%之外其余的几个操作符既可以用于计算整型也可以用于计算浮点型数据,%只能计算整型数据,得到的结果是余数 2. 移位操作符 << 左移位操作符 >> 右移位操作符 <<左移时,值最左边的几位被丢弃,右边多出来的几个空位由...
杂记3 is a project mainly written in , based on the .0. const受保护权限 请看下面的代码片 int num = 0; const int *p = # 这一段代码在C语言中是可以通过的,因为num在定义的时候没有修饰,所以权限很大,当用*p指向它的时候可以对它进行修改。 再看下面的代码片: const int num = 0; i...
结构和联合--结构体内存和位段内存开辟规则 is a project mainly written in , based on the .一. 结构的基本知识 聚合数据类型能够存储多个数据,C语言提供了两种类型的聚合数据类型,数组和结构。数组是相同的数据,结构是不同类型的数据聚合。结构也是一些值得集合,这些值成为它的成员,每个结构都有它的名字,他们是通过名字来访问的。 1. 结构声明 在结构声明时,必须列出它包含的所有成员,这个列表包括每个成员的类型和...
函数返回类的对象与拷贝构造函数 is a project mainly written in , based on the . C++中,如果我们在一个函数中,定义了一个类的对象,然后返回这个对象,在main函数中用一个对象去接受这个返回的对象的时候,这里面参与的函数调用大家可能不熟悉,这里通过程序和注释的方式给大家讲解一下。编译的环境是vs2013,我下面是进入单步调试时测试出来的结果。大家可以把下面的代码在自己的vs上面调试一下,结合着我的注释内容(...
杂记4 is a project mainly written in , based on the .0. switch switch()这个括号里面的数据必须是整型值 1. goto 语句使用形式 flag:.... ......; ...... goto flag; 这里需要注意的一点是,goto语句只能放在本函数内使用,不能跳转到其他的函数中去。 2. EOF 文件结束标志,请看下面...
杂记5 is a project mainly written in , based on the .0. 赋值运算符的重载 在C++中,写赋值运算符的重载的时候,一定要考虑自赋值的情况 1. 定义C++函数 在定义C++函数的时候我们尽量把这个函数里面的参数赋初值,还有就是构造函数中尽量去使用初始化成员列表去初始化这个成员变量,函数中注意const的使用 2. 析构函数判断 析构函数里面,最好加一个判断,一般析构函...
Linux下stat + 文件名后, Access,Modify,Change的含义 is a project mainly written in , based on the .我们首先在一个目录下创建了一个文件使用命令touch file 然后输入命令:stat file,这个时候会输出一系列信息 大家注意红色框中的三个时间 Access : 文件最近一次被访问的时间 Modify: 文件内容最近一次被修改的时间 Change: 文件属性最近一次被改变的时间 接着我使...
Linux目录读写和可执行权限 is a project mainly written in , based on the .一 . 进入目录权限 如果我在普通用户下创建了一个目录f1,然后使用chomd u-rwx,g-rwx,o-rwx之后,我在普通用户下想进入f1目录,权限不允许。 然后我切换到超级用户下,再次尝试进入到f1目录,这个时候允许进入。 然后回到普通用户下,只给f1的所有者读的权限,然后在普通用户下尝试进入,此时权限还是...
Vim基础入门 is a project mainly written in , based on the .一. vim的三种模式 在Linux操作系统下,我们一般会使用vim进行文本编辑,它相当于Windows下的记事本,但是它比记事本的功能强大的多。vim一般有三种模式分别是普通模式,编辑模式和命令模式。普通模式和编辑模式可以来回的切换,普通模式可以和命令模式来回的切换,但是编辑模式和命令模式不能来回的切换。 二. vim三种模...
创建专属博客栏目 is a project mainly written in , based on the .今天给大家get新技能了,是不是很期待捏 我们一般看到的博客页面是这样的 但是你是不是特别期待这样的捏 其实技术上面也不是特别的 难,我们登录自己的csdn博客,然后选择“管理博客”,跳转页面之后选择“博客栏目” 进入到这个页面之后,鼠标使劲往下翻,找到一个“添加栏目”,...
Linux命令find的35个实例 is a project mainly written in , based on the .注:本文内容参考《35 Practical Examples of Linux Find Command》 网址:http://www.tecmint.com/35-practical-examples-of-linux-find-command/ Linux 查找命令是Linux系统中最重要和最常用的命令之一。查找用于根据与参数...
《C++primer》第一章--开始 is a project mainly written in , based on the . 之前开始读《C++primer》,想着读书不动笔不如不读书,于是就想做一个读书笔记的内容,于是就想起了写一个《C++primer读思录》的一个专栏。一是为了给自己平时读书做笔记,方便自己随时查看。二是为了督促自己每天学习。三是为了知识的分享。于是《C++primer读思录》专栏开始了。 文章中有技术上错误之处,理解不够深入或者...
Vim进阶技巧 is a project mainly written in , based on the .本篇博文是在之前的《vim基础入门》的基础之上写的,不懂的同学可以先看之前的分享 1. 视觉范围的选择 普通模式下,按v键确定范围起点,然后移动光标,光标所在位置为范围的终点,然后按操作键完成其他操作,之后范围消失常见的操作:y复制,d删除,p复制(上一篇博文有分享)长方形范围选择方式:与v操作相似,只不过这里按Ctrl +...
进程管理(图文) is a project mainly written in , based on the .进程的图文形象表示 阮一峰–进程与线程的一个简单解释 多进程实质 现在,多核CPU已经非常普及了,但是,即使过去的单核CPU,也可以执行多任务。由于CPU执行代码都是顺序执行的,那么,单核CPU是怎么执行多任务的呢? 答案就是操作系统轮流让各个任务交替执行,任务1执行0.01秒,切换到任务2,任务2执行0.01秒,再切换到任务...
《C++primer》第二章--变量和基本内置类型 is a project mainly written in , based on the .基本内置类型 如何选择类型的几点建议 当明确知晓数值不能为负数时,选用无符号类型使用int进行整数运算。因为short一般表示的范围比较小,而long一般和int有相同的范围。如果表示的范围超过了int就使用long long算术运算时尽量不要使用char和bool,只有在存放字符型数据和布尔值的时候使用。因为char的符号在有的...
Linux进程描述符task_struct结构体简析 is a project mainly written in , based on the .进程是处于执行期的程序以及它所管理的资源(如打开的文件、挂起的信号、进程状态、地址空间等等)的总称 Linux内核通过一个被称为进程描述符的task_struct结构体来管理进程,这个结构体包含了一个进程所需的所有信息。它定义在include/linux/sched.h文件中。 这个结构体中包含了很多的信息,下面就让我们来一一简单...
进程内核栈 is a project mainly written in , based on the .进程内核栈 为什么有进程内核栈 进程在创建的时候也可以理解为一个程序,或者在简单的理解也可以把进程理解为一个函数,只不过这个函数很大而已,这个进程也需要有一些函数调用,也需要有一些函数去标记一些信息,于是 便有了进程内核栈这个东西。 简单理解,进程内核栈实际上就是为进程开辟一个栈帧空间。 但是这个栈帧空间...
Linux虚拟机连不上网 is a project mainly written in , based on the .问题:我们在使用Linux虚拟机的时候经常会出现各种各样的问题,其中的一个问题就是Linux虚拟机连不上网,这是我最近经常遇到的问题,下面提供一种方法解决这个问题 Linux网络设置 打开虚拟机依次单击【System】–>【Preferences】–>【Network Connections】,如下图所示 这个时候会弹出一...