自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

王旭—201706毕业—实习生—后台开发

思想有多远,就能走多远。

  • 博客(29)
  • 问答 (1)
  • 收藏
  • 关注

原创 x86杂记

编译器:将程序语言的代码转化为其他形式的软件。这个转换过程叫做编译。Eg:c->(gcc)Linux可执行的文件通常指符合(ELF)Executable and Linking Format)这种特定形式的文件。ls 、cp 这些命令对应的实体文件都是可执行文件,使用file命令能查看文件是否符合ELF形式。ELF文件包含了程序以及如何运行程序的相关信息(元数据),机器语言是唯一一种cpu能够直接

2017-02-18 18:57:02 656

原创 程序员自我修养杂记

计算机 对于系统程序开发者来说,计算机三个部件最为关键:CPU、内存、I/O控制芯片。 高速的北桥芯片:为了协调CPU、内存和高速的图形设备。此时慢速的I/O总线已经无法满足需求。 低速设备的南桥芯片:由于北桥芯片运行速度非常高,于是人们有设计了低速设备的南桥芯片,磁盘、usb、键盘、鼠标等设备都连接在南桥芯片上,由南桥芯片将他们汇总后链接到北桥上。 SMP(对称多处理器)多CPU的

2017-02-18 18:56:14 257

原创 程序员自我修养杂记

计算机 对于系统程序开发者来说,计算机三个部件最为关键:CPU、内存、I/O控制芯片。 高速的北桥芯片:为了协调CPU、内存和高速的图形设备。此时慢速的I/O总线已经无法满足需求。 低速设备的南桥芯片:由于北桥芯片运行速度非常高,于是人们有设计了低速设备的南桥芯片,磁盘、usb、键盘、鼠标等设备都连接在南桥芯片上,由南桥芯片将他们汇总后链接到北桥上。 SMP(对称多处理器)多CPU的

2017-02-18 18:55:59 590

原创 git入门

Git 是一款免费、开源、的分布式版本控制系统,最早由Linus Torvalds创建,用于管理linux内核开发。 版本控制系统(VSS)/源代码管理器(SCM)/修订控制系统(RCS):是指一个可以管理和追踪软件代码和其他类似内容的不同版本工具。有两种建立Git版本库的基础技术。一是从头·开始创建,用现有的内容填充它;二是克隆一个已有的版本库。 第一,从头开始创建: 1. 创建初始化版本

2017-02-18 18:54:57 393

原创 linux杂记

Linux可划分为:linux内核、GNU工具、图形化桌面环境、应用软件。 内核主要负责:系统内存管理、软件程序管理、硬件设备管理、文件系统管理。 交换空间:内核通过硬盘上的存储空间来实现虚拟内存的这块区域。一、linux内核内存管理:分段分页软件程序管理:内核控制着linux系统如何管理运行在系统上的所有进程。内核创建的第一个进程称为init进程,它是用来启动系统上所有其他进程

2017-02-18 18:53:19 251

原创 工作中用的Linux/unix下的命令

1. curl、wget、nvm(安装 Node.js 的最佳方式是使用 nvm。)cURL: $ curl https://raw.github.com/creationix/nvm/master/install.sh | sh Wget: $ wget -qO- https://raw.github.com/creationix/nvm/master/install.sh | sh

2017-02-11 11:31:13 194

原创 成长

学习学习要有自己的体系架构、思维方式与学习笔记。这样才能对自己有更大的提高。第一, 要多看书。书,看完后,不清楚时用来做查询的工具。所以有时间就要多读书,读好书。第二, 学习完一定要总结,要有自己的学习笔记。养成写博客的习惯。因为学习新东西,可能感觉自己懂了,但让自己讲出来或者写出来,可能就会发现自己还有一些东西不是很清楚。所以要写下来。另外,这也是自己复习的资料。第三, 对自己的bug和优秀

2016-10-04 21:52:58 209

原创 多态

C和C++的区别: 1> C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。C的优势在于编写的程序更接近于硬件,仅次于汇编语言,所以他相对其他编程语言高效的多,但同时程序员负责一切不安全,如内存泄露等。但正是由于这样的风险的存在,对程序员的紧密思维要求更高。 2> C++是有C,面向

2016-07-12 22:31:31 212

原创 Redis-sds源码剖析第一天

源码剖析第一天/* * 类型别名,用于指向 sdshdr 的 buf 属性 */typedef char *sds;/* * 保存字符串对象的结构 */struct sdshdr { // buf 中已占用空间的长度 int len; // buf 中剩余可用空间的长度 int free; // 数据空间;使用柔性数组;sizeof(sdshdr)时十8

2016-06-28 00:40:48 259

原创 private、protected、public

/************************************************************************* > File Name: private.cpp > Author: > Mail: > Created Time: Sat 16 Apr 2016 11:19:10 PM EDT ****************

2016-06-10 17:47:10 344

原创 清空缓存的四个函数

两个getchar()中间应清空缓存 1.fflush(stdin); 2.rewind(stdin); 3.setbuf(stdin,NULL); 4.flushall(std);

2016-06-09 23:21:53 539

原创 结构体、共用体、枚举

一、结构体 1.结构体和类一样定义时最后要加分号; 2.结构体类型定义变量时struct关键字不能省略; 3定义好的结构体,系统对之不分配存储单元; 4.c99标准允许对某一成员初始化; 5.不能企图输出结构体变量名来达到输出结构体的目的; 6.同类结构体间可以相互赋值;二、共用体 1.几个不同的变量共享同一段内存结构; 2.共用体所占字节为最长变量所占字节数;而结构体是,各变量所占

2016-06-09 23:12:53 452

转载 C++虚函数表解析

C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。 关于虚函数的使用方法,我在这里不做过多的阐

2016-06-09 22:42:29 161

转载 C++ const

1 最基本的用法: A) const int a=100; b的内容不变,b只能是100也就是声明一个int类型的常量(#define b =100) int const b=100; //和上面作用一样 B)const指针和引用一般用在函数的参数中 int* m = &a; //出错,常量只能用常指针,如下 int c= 1;const int*pc = &c;//常指针可指向常量 con

2016-06-09 22:38:53 165

原创 c++点滴

1.const变量和宏的区别? (1)宏是在预编译器直接在使用位置将代码直接展开插入的,不进行类型正确性检查,由于仅仅是单纯的展开替换,不会分配内存;而const常量具有具体的类型,编译阶段会严格执行类型检查,并且是一个编译期的常量,具体是否分配空间视情况而定,对于只声明未使用的const常量不分配内存,在编译期遇到有使用const常量时才会分配内存,并将常量名称保存在符号表中; 1. http

2016-06-09 22:35:00 228

转载 string函数用法详解

//string函数用法详解!附代码,写具体的用法! include //#includeinclude include using namespace std; int main() { //1.string类重载运算符operator>>用于输入,同样重载运算符operator<<用于输出操作 string str1; cin >> str1;//当用cin

2016-06-09 22:27:36 449

转载 C++中 模板Template的使用

1、在c++Template中很多地方都用到了typename与class这两个关键字,而且好像可以替换,是不是这两个关键字完全一样呢? 答:class用于定义类,在模板引入c++后,最初定义模板的方法为:template,这里class关键字表明T是一个类型,后来为了避免class在这两个地方的使用可能给人带来混淆,所以引入了typename这个关键字,它的作用同class一样表明后面的符号为一

2016-06-09 22:26:19 352

原创 c点滴

1.getss()函数以回车作为结束标志,字符串中可以输入空格。 scanf()函数以空白字符作为结束标志,不可在字符串中包含空格。2.字节对齐 a.普通变量存储是其所占字节整数倍地址。 b.结构体中存储地址是其中最大成员所占字节整数倍数。 c.以#pragma pack(n) 开始的结构体,是以n或者结构体中最大成员长度中最小者的整数倍。3.柔性数组:在结构体中出现,出现在结构体最后

2016-06-09 21:10:39 248

原创 c练习

一、编码实现某一变量某位清 0 或置 1。假如:给定一个整形变量 a,写两段代码,第一个 设置 a 的 bit3,第二个清 a 的 bit3,在以上两个操作中要保持其他位不变。 int set_one(int a, int n) { int temp = 1; temp = temp << (n - 1); return (a | temp); }int empty_ze

2016-06-09 20:48:14 277

原创 虚表探索

/*************************************************************************> File Name: class_mul_hin.cpp> Author:> Mail:> Created Time: Sat 09 Apr 2016 11:48:56 PM EDT ****************************

2016-06-09 20:33:16 246

原创 c语言小知识点总结

1、.h 头文件中的 ifndef/define/endif 的作用? 答:防止该头文件被重复引用。 2、简述 sizeof 和 strlen 的区别。 (1)sizeof 是一个操作符,strlen 是库函数。 (2)sizeof 的参数可以是数据的类型,也可以是变量,而 strlen 只能以 结尾为‘\0‘的字符串作参数。 (3)编译器在编译时就计算出了 sizeof 的结

2016-06-09 20:29:31 245

转载 Linux键盘快捷键

下述所有命令在Linux/unix的shell下有效,这里以bash为主。如有出入,以你自己的服务器为准。本文所指的Linux主要指RHEL/CentOS,unix指的是FreeBSD,这也是服务器中用得最多的版本。  Ctrl + a 切换到命令行开始  这个操作跟Home实现的结果一样的,但Home在某些unix环境下无法使用,便可以使用这个组合;在Linux下的vim,这个也是有效的;另外,在

2016-06-09 20:24:06 211

转载 vim

一、移动光标1、左移h、右移l、下移j、上移k2、向下翻页ctrl + f,向上翻页ctrl + b3、向下翻半页ctrl + d,向上翻半页ctrl + u4、移动到行尾$,移动到行首0(数字),移动到行首第一个字符处^5、移动光标到下一个句子 ),移动光标到上一个句子(6、移动到段首{,移动到段尾}7、移动到下一个词w,移动到上一个词b8、移动到文档开始gg,移动到文档结束G9、移动到匹配的{}

2016-06-09 20:23:09 233

原创 多处理机、多核cpu、多线程cpu的区别

一、多处理机(SMP): 1.多个物理cpu 2.每个cpu有自己的独立cache、寄存器、运算单元。 3.每个cpu对内存的访问速度一样。 二、多核cpu 1.一个物理cpu包含多个cpu核心。 2.每个核心有自己的独立寄存器和运算单元。 3.可共享最后一级cache. 三、多线程cpu 1.一个物理cpu包含多个逻辑cpu

2016-06-09 20:20:17 1588

转载 string

//string函数用法详解!附代码,写具体的用法! #include <iostream> //#include<iostream.h> //VC6.0未完全支持标准,对std命名空间也未完全兼容,g++已全部兼容 #include <string> #include <sstream> using namespace std;int main() { //1

2016-06-01 23:30:48 237

转载 printf,scanf,getchar

赋值运算符 赋值号也是运算符。 用运算符连接起来的式子称为表达式,表达式就有值。 a=4 是表达式,其值为4; a=b=6 是表达式,利用运算符= 的结合性进行分析。 = 结合性 自右至左:“右边粘性大”。1. printf函数 通式: printf(格式字符串,以逗号分开的零到多个表达式)#include<stdio.h>main(){double w1; float

2016-06-01 23:23:38 287

转载 c指针——上课

预编译 程序从编辑到执行的过程:预编译的输入是源程序(文本文件),输出依然是源程序(文本文件), 只不过作了一些替换而已. 1. #define 预编译指令 也称为宏定义. 在计算机技术中, 宏的意思是用一个字符序列替换另一个字符序列. 例:以下是用字符序列3.14 替换字符序列 PAI#include 预编译指令8地址、指针与内存的分配 以上引自于Kerniigan & Ritc

2016-06-01 23:12:21 226

转载 字符串函数

常见的C字符串处理函数的源代码 char *strcpy(char *strDes, const char *strSrc) { assert((strDes != NULL) && (strSrc != NULL)); char *address = strDes; while ((*strDes ++ = *strSrc ++) != ‘\0’)

2016-06-01 23:07:40 166

转载 关于C语言编程书写规范的规则和建议

关于C语言编程书写规范的规则和建议 一、 头文件 • 头文件由三部分内容组成: 1、头文件开头处的版权和版本声明。 2、预处理块。 3、函数和类结构声明等。 • 【规则】为了防止头文件被重复引用,应当用ifndef/define/endif结构产生预处理块。 • 【规则】用 #include

2016-06-01 23:05:54 354

空空如也

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

TA关注的人

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