- 博客(196)
- 资源 (7)
- 收藏
- 关注
转载 【golang】Go语言学习-select用法
golang 的 select 的功能和 select, poll, epoll 相似, 就是监听 IO 操作,当 IO 操作发生时,触发相应的动作。示例:ch1 := make (chan int, 1)ch2 := make (chan int, 1)...select {case <-ch1: fmt.Println("ch1 pop one elemen
2018-01-29 20:32:14 522
转载 [综合面试] 跨专业大牛的IT求职面试经验分享以及学习知识路线图梳理
百度三面,跪了,最中意的一家公司的最后一面,结束了我的校招应聘。总结经验和教训,希望能帮助一些人。个人背景:本科:大连理工信管专业,本科毕业代码量面试情况(研究方向都是后台开发):实习公司 ,临走前答应了给不低于阿里的offer,但是基本没考虑,还是想去大公司试试。上海某创业公司 两面搞定,笔试,面试都很简单,可能创业公司不太好招人,工资差不多给了相当于阿里
2018-01-29 20:31:34 570
转载 grep、egrep、fgrep的用法与特性详解
[转载自]http://tanxw.blog.51cto.com/4309543/1361993开篇 学习Linux也有一段时间了,对Linux多少也算是有点了解了,越是了解也就越对这个系统有兴趣,从0基础开始,已经学习了两周了吧,说实在的,很多的东西都是逻辑的问题,而学习Linux就是要熟悉命令,命令很多,要记的东西也很多,多得可以你让头皮发麻,不过话又说回来了,既然选择了这
2018-01-29 20:30:42 1056
转载 正则表达式grep, egrep, fgrep
grep,egrep,fgrep : print lines matching a pattern1.grep : grep [options] PATTERN FILE... PATTERN由元字符和和普通字符组成 -i : --ignore-case , 忽略大小写 -o : --only-matching, 只显示所匹配到的字符,二不是整行 -n : --l
2018-01-28 20:38:02 454
转载 ngrep 比 tcpdump 更方便查看的抓包显示工具
ngrep 是grep(在文本中搜索字符串的工具)的网络版,他力求更多的grep特征,用于搜寻指定的数据包一: ngrep的安装 CentOS6.2 64位 wget http://nchc.dl.sourceforge.net/sourceforge/ngrep/ngrep-1.45.tar.bz2 下载下来是一个 bz2的包, 用bzip2命令加压成tar包
2018-01-28 14:38:21 611
转载 【正则表达式1】C++11正则表达式
头文件#include regex_match:整个字符串是否匹配按 Ctrl+C 复制代码按 Ctrl+C 复制代码regex_match:只返回第一个匹配结果 smatch rr1; smatch rr2; cout endl; //true cout "s1匹配结果:" endl; /
2018-01-28 14:25:07 294
转载 读懂正则表达式就这么简单
一 前言 对于正则表达式,相信很多人都知道,但是很多人的第一感觉就是难学,因为看第一眼时,觉得完全没有规律可寻,而且全是一堆各种各样的特殊符号,完全不知所云。其实只是对正则不了解而以,了解了你就会发现,原来就这样啊正则所用的相关字符其实不多,也不难记,更不难懂,唯一难的就是组合起来之后,可读性比较差,而且不容易理解,本文旨在让大家对正则有一个基本的了解,能看得懂简单的正则表达式,写得出简
2018-01-28 14:24:49 335
转载 对深拷贝与浅拷贝的再次理解
对深拷贝与浅拷贝的再次理解 记得11年底找工作的时候,面试时曾经遇到有面试官问的对深拷贝与浅拷贝的理解,那时候自己回来查了资料,写了篇博客,感觉自己理解了,其实理解的不深刻,最近在调试bug的时候,再次遇到深拷贝与浅拷贝,认真分析了,写写自己的心得吧。 先说下自己的理解吧,浅拷贝,即在定义一个类A,使用类似A obj; A obj1(obj);或者A obj1 = obj;
2018-01-28 14:24:00 265
转载 处理大并发之一 对异步非阻塞的理解
处理大并发之一 对异步非阻塞的理解 在研究nginx和node.js的时候常会遇到异步、非阻塞等,之前自己也经常使用epoll,对其同步与阻塞,异步与非阻塞有了一定的认识,现对参考资料总结下。 首先讨论下使用事件驱动,异步编程的优点: 充分利用了系统资源,执行代码无须阻塞等待某种操作完成,有限的资源可以用于其他的任务。其非常适合于后端的网络服务编程。 在
2018-01-28 14:23:40 430
转载 高级数据结构研究-B树系列以及红黑树
程序员做的越久,越发觉得基本功显得越来越重要了。基本功不扎实会潜移默化的影响你的程序开发,这不是,上次浏览博客,看到了一篇运用B+树实现数据库索引的功能,当时就不明白了,看似毫无关系的两者,怎么会有联系呢,所以想把大学时学的数据结构拿来看看,这到底怎么回事,当然了,看过了之后,顺便把另一种高级树结构-红黑树也看了一下,红黑树,说起来,容易,实现起来那代码看的人真是眼花。红黑树的插入,删除实现,同学
2018-01-28 14:23:01 330
转载 函数的可重入性理解
最近,项目要求可能需要做博通的交换芯片的驱动程序,涉及到多用户同时进行操作,和大量的数据处理,因此在进行代码架构的时候需要进行前期简单的验证设计。考虑到一点就是程序设计的可重入性。经过简单的搜索,在维基百科和其他朋友的帖子里找到了相关概念。为了帮助自己今后理解,特地将此概念加上自己的理解整理在此。一、维基百科解释 1 若一个程序或子程序可以安全的被并行执行,则称其为可重入(reen
2018-01-28 14:22:30 308
转载 函数可重入性(Reentrancy)概念详解
1.什么是可重入性重入一般可以理解为一个函数在同时多次调用,例如操作系统在进程调度过程中,或者单片机、处理器等的中断的时候会发生重入的现象。可重入的函数必须满足以下三个条件:(1)可以在执行的过程中可以被打断;(2)被打断之后,在该函数一次调用执行完之前,可以再次被调用(或进入,reentered)。(3)再次调用执行完之后,被打断的上次调用可以继续恢复执行,并正确执行。可
2018-01-28 14:19:35 1852
转载 关于C++模版的连接错误问题
好久不用C++了,前几天写了一个模版,按以前的习惯,把定义写在头文件中, 把实现写在cpp文件中。结果在编译的时候没有发生错误,但在连接的时候出现了找不到xxx的错误。一时之间不知道该怎么办才好,后来上网一查,自己再一想,唉,原来如此: 模版之所以为模版,就是可以容纳不同的类型嘛,所以它只有在指定了其类型的时候才会生成实际的代码,如果你只把模版的定义写在头文件中,那么你生成在使用模版的
2018-01-28 14:19:01 904
转载 C/C++面试题精选
转载来自:http://blog.csdn.net/cadcisdhht/article/category/785138总结: static的作用是表示该函数只作用在类型的静态变量上,与类的实例没有关系;而const的作用是确保函数不能修改类的实例的状态,与类型的静态变量没有关系。因此不能同时用它们。 空类实例不包含信息,本来求sizeof应该是0。但当我们声明该类型的实例的时候,它必
2018-01-27 00:35:32 285
转载 面向对象的5个基本设计原则
转载来自:http://blog.csdn.net/luxiaoxun/article/details/8041885面向对象的3个基本要素:封装、继承、多态面向对象的5个基本设计原则:单一职责原则(Single-Resposibility Principle) 其核心思想为:一个类,最好只做一件事,只有一个引起它的变化。单一职责原则可以看做是低耦合、高内聚在面向对象原则上的
2018-01-27 00:35:11 233
转载 C/C++中程序内存区域划分大总结
此图来自http://www.blog.163.com/tao198352__4232/blog/static/8502064520105611157897/程序由代码和数据组成,其中代码存储在代码区中,数据根据类型的不同存储在不同的区域中。本文分别介绍了C和C++中内存区域的划分。 C++作为一款C语言的升级版本,具有非常强大的功能。它不但能够支持各种程序设计风格,而且还具有C语言的
2018-01-27 00:34:51 407
转载 C/C++内存分配方式与存储区
C/C++内存分配有三种方式:[1]从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。[2]在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。[3]从堆上分配,亦称动态内存分配。程序在
2018-01-27 00:34:29 282 1
转载 计算机程序是怎样运行的-hello world程序运行原理
关于《深入理解计算机系统》“这本书的中译名为“深入理解计算机系统”,我非常,十分,以及百分之一百二十地不满意。我这么说的原因在于这个译法完全扭曲了书的本意。如果直译原书名,应该是类似于“以程序员的视角理解计算机系统”,何来“深入”二字。可能在国内编辑看来,这是讲系统的,用C和汇编语言的,因此很“深入”,但我认为这只能说明国内技术氛围的浅薄。因为事实上,这是一本入门级别的书,这本书其实并不“
2018-01-27 00:34:16 7980
转载 c语言程序-hello world-运行原理简介
本文从一个最简单C程序(hello)是如何被编译和链接讲起,描述了一个程序运行的原理。一、程序运行之前使用IDE(集成开发环境)的朋友们经常会有这样的疑问:代码是怎么从一个文本文件变成可执行程序的呢?代码毕竟不是咒语,一个c程序在被运行之前其实经过了四个步骤,两次编译,汇编和链接。1.预编译这里我们只需要知道有一个叫预处理器(preprocessor也称预编译器)的
2018-01-27 00:34:04 3820
转载 使用C++实现一套简单的状态机模型——实例
原文地址:http://blog.csdn.net/breaksoftware/article/details/44042287一般来说,“状态机”是一种表达状态转换变换逻辑的方法。曾经有人和我讨论过为什么不直接用ifelse,而要使用“状态机”去实现一些逻辑,认为使用“状态机”是一种炫技的表现。然而对于大型复杂逻辑的变化和跳转,使用ifelse将带来代码难以阅读等弊端。其实ifelse也
2018-01-27 00:33:18 1609
转载 基于C++有限状态机的实现技术
一.引言言有限状态机是一种用来进行对象行为建模的工具,其作用主要是描述对象在它的生命周期内所经历的状态序列,以及如何响应来自外界的各种事件。在面向对象的软件系统中,一个对象无论多么简单或者多么复杂,都必然会经历一个从开始创建到最终消亡的完整过程,这通常被称为对象的生命周期。一般说来,对象在其生命期内是不可能完全孤立的,它必须通过发送消息来影响其它对象,或者通过接受消息来改变自身。在大多数情况下
2018-01-27 00:32:57 394
转载 C++ 编译,运行过程 详解。
要更深入了解C++, 必须要知道一个程序从开始到结束都干了些什么, 怎么干的。 所以我从C++编译到运行过程,解析下程序是怎么跑的。 首先,初略的说一下之前C++的编译过程,C++编译过程包括预编译-》汇编-》编译-》链接。称为一个可执行文件。(Windows平台下为.exe文件)。预编译主要展开包含的头文件,宏定义等操作。例如一个简单的main程序,编译预编译后,的文件对比
2018-01-27 00:32:39 6728
转载 C/C++程序从编译到最终生成可执行文件的过程分析
转载http://apps.hi.baidu.com/share/detail/32660500C/C++程序编译步骤 如何生成可执行文件 *******************************************************篇一*****************************************************
2018-01-27 00:31:44 278
转载 C++运行时候库操作概述和整个程序运行流程
一、任何一个C/C++程序,它的背后都是一套庞大的代码来进行支撑,以使得该程序能够正常运行。这套代码至少包括入口函数、及其依赖的函数所构成的函数集合。当然,它还应该包括各种标准函数(如字符串,数学运算等)的实。一般的程序运行过程如下:1.操作系统创建进程后,把控制权交给程序的入口函数(gcc -e (_startEntryPoint)),这个函数往往是运行时库的某个入口函数,glibc的入口函
2018-01-26 00:25:35 411
转载 c内存管理详解
伟大的Bill Gates 曾经失言: 640K ought to be enough for everybody — Bill Gates 1981 程序员们经常编写内存管理程序,往往提心吊胆。如果不想触雷,唯一的解决办法就是发现所有潜伏的地雷并且排除它们,躲是躲不了的。本文的内容比一般教科书的要深入得多,读者需细心阅读,做到真正地通晓内存管理。 1、内存分配方式
2018-01-26 00:25:19 207
转载 简单C语言程序的执行过程
程式的運行方式在開始進行程式開發前,我們先來探討最簡單的C程式如何運作。為了使程式足夠簡單,我們可讓CPU直接從Flash上取得指令(fetch instruction)並執行,而且程式中沒用到全域變數,因此編譯出來的目的檔(object file)中是data section長度是0,如此一來,避免了初始化RAM的步驟,因為data section是可讀寫的,如果目的檔中有dat
2018-01-26 00:25:05 852
转载 C++程序的执行过程
要理解一个程序的执行过程,首先要理解什么是编译器。我们用C语言写的程序,计算机只能识别机器语言(二进制指令),计算机并不能理解。因此,必须 将C语言转换为机器语言。编译器就是用来实现这一功能的。编译器将源代码文件按照一定的对应规则映射程计算机能够识别的二进制指令。 关于源文件、目标文件和可执行文件源文件:保存源代码的文件(*.c, *.cpp)目标文件:编译器根据源
2018-01-26 00:24:52 16360
转载 通过分析一个C程序的汇编指令执行过程,理解计算机的工作。
郑德伦 原创作品转载请注明出处 《Linux内核分析》MOOC课程 http://mooc.study.163.com/course/USTC-1000029000首先创建一个C程序的文件,main.c将一段C程序代码使用命令 gcc –S –o main.s main.c -m32编译成汇编代码。 我们删除点开头的辅助信息来得到汇编代码。 这样就可以清晰的看到m
2018-01-26 00:24:34 423
转载 MVC模式和文档/视图结构
MVC(Model-View-Controller)模式的基本思想是数据,显示和处理相分离。模型(Model)负责数据管理,视图(View)负责数据显示,控制器(Controller)负责业务逻辑和响应策略。从MVC的形成过程来看,最初只有模型和视图两个元素。模型封装了数据并提供操作接口,视图用来表现数据和接收用户请求。模型是独立的,而视图依赖于模型:从模型获取数据进行显示;向模型发送用户
2018-01-26 00:23:15 619
转载 QQ视频直播架构及原理
作者:王宇(腾讯音视频高级架构师)自我介绍下,毕业以来加入腾讯,一直从事客户端研发,身处互联网公司,踏着互联网的浪潮,一直在浪尖行走,从最早的PC QQ,到移动时代的手Q,再到腾讯物联的嵌入式,以及最近这两年直播领域风起云涌,接下来主要给大家介绍下QQ视频直播的架构及原理。今天主要给大家介绍三个方面的内容,视频直播的框架及基础介绍;直播中的一些关键技
2018-01-26 00:22:59 2285 1
转载 原来... C++ explicit的作用
原来...C++ explicit的作用explicit作用:在C++中,explicit关键字用来修饰类的构造函数,被修饰的构造函数的类,不能发生相应的隐式类型转换,只能以显示的方式进行类型转换。explicit使用注意事项: * explicit 关键字只能用于类内部的构造函数声明上。 * explicit 关键字
2018-01-26 00:22:41 186
转载 C++ 模板详解(一)
C++模板 模板是C++支持参数化多态的工具,使用模板可以使用户为类或者函数声明一种一般模式,使得类中的某些数据成员或者成员函数的参数、返回值取得任意类型。 模板是一种对类型进行参数化的工具; 通常有两种形式:函数模板和类模板; 函数模板针对仅参数类型不同的函数; 类模板针对仅数据成员和成员函数类型不同的类。 使用模板的目的就是能够让程序员编写与类型无关的代码。
2018-01-26 00:22:19 234
转载 C++ 模板详解(二)
C++模板 四、类模板的默认模板类型形参 1、可以为类模板的类型形参提供默认值,但不能为函数模板的类型形参提供默认值。函数模板和类模板都可以为模板的非类型形参提供默认值。 2、类模板的类型形参默认值形式为:template class A{};为第二个模板类型形参T2提供int型的默认值。 3、类模板类型形参默认值和函数的默认参数一样,如果有多个类型形参则从第一
2018-01-26 00:22:05 381
转载 select,epoll,poll比较(网络资源总结)
select,poll,epoll简介selectselect本质上是通过设置或者检查存放fd标志位的数据结构来进行下一步处理。这样所带来的缺点是:1 单个进程可监视的fd数量被限制2 需要维护一个用来存放大量fd的数据结构,这样会使得用户空间和内核空间在传递该结构时复制开销大3 对socket进行扫描时是线性扫描poll
2018-01-25 00:02:55 198
转载 可重入函数与不可重入函数(转)
转自:http://www.cppblog.com/franksunny/archive/2007/08/03/29269.html主要用于多任务环境中,一个可重入的函数简单来说就是可以被中断的函数,也就是说,可以在这个函数执行的任何时刻中断它,转入OS调度下去执行另外一段代码,而返回控制时不会出现什么错误;而不可重入的函数由于使用了一些系统资源,比如全局变量区,中断向量表等,所以它如果被
2018-01-25 00:02:20 224
转载 C++ 函数模板特化导致的多重定义链接错误
转载请注明文章:C++ 函数模板特化导致的多重定义链接错误 出处:多客博图标题说的可能不是很清楚,解释一下,函数模板,一般都是放在头文件里面,所以有些时候,我也会做一个特化,也放在这个头文件里面,当这个头文件出现多次的包含之后,就会出现链接多重定义的错误,先说一个例子,如下:现象描述有文件"header.h"#ifndef HEADER#define HEADERte
2018-01-25 00:02:01 2479 1
转载 C++输入输出运算符重载(“>>”“<<”)
//输入输出运算符只能用友元函数重载#include #include #include using namespace std;class Complex{ double re,im;public: Complex(double r,double i):re(r),im(i) { } Complex()
2018-01-25 00:01:41 401
转载 C++中的4个类型转换关键字
n多书里面推荐要养成使用转型关键字的习惯,几年过去了,感觉还是不习惯,C风格的转型操作实在太强大太方便了。1、const_cast号称唯一具有常量性移除的转型操作符,这个说法实在很废话,不解释。平时几乎没有用过,遇到需要这个关键字的时候,都是直接修改了接口的类型,也不会去用这个关键字,一般来说老接口设计有问题啊。明明是const的,非得转成non-const实在别扭。2、dynamic
2018-01-25 00:01:19 196
转载 C++中四种类型转换方式
C风格的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是:TYPE b = (TYPE)a,但是c 风格的类型转换有不少的缺点,有的时候用c风格的转换是不合适的,因为它可以在任意类型之间转换,比如你可以把一个指向const对象的指针转换成指向非 const对象的指针,把一个指向基类对象的指针转换成指向一个派生类对象的指针,这两种转换之间的差别是巨大的,但是传统的c语言风格的类型转
2018-01-25 00:01:02 368
转载 虚函数、纯虚函数、虚函数与析构函数
一、虚函数只有用virtual声明类的成员函数,使之成为虚函数,不能将类外的普通函数声明为虚函数。因为虚函数的作用是允许在派生类中对基类的虚函数重新定义。所以虚函数只能用于类的继承层次结构中。 一个成员函数被声明为虚函数后,在同一类族中的类就不能再定义一个非virtual的但与该虚函数具有相同的参数(包括个数和类型)和函数返回值类型的同名函数。 根据什么考虑是否把一
2018-01-25 00:00:47 369
android sdk 模拟器 懒人版-part3
2014-12-31
vc编程pppoe-discovery
2012-09-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人