Makefile 初探
摘要:Makefile简介 Makefile是一些编译规则(规定了各种依赖关系)和一些命令的集合,可以说是大型工程必须可少的一部分。之前从未接触过Makefile,直到下载点云库自己编译时以及编译一些开源代码时才发现Makefile。Makefile可以说命令的集合,make则是命令的解释工具。那么如何编
阅读全文
posted @
2017-07-23 16:02
Seven_noon
阅读(156)
推荐(0)
编译性语言和解释性语言
摘要:计算机只能识别机器语言,不管使用的是哪种高级语言进行编程,最终都要翻译成机器语言。一般存在两种翻译方式:一种时编译,一种时解释。 编译性语言 编译性语言在执行之前都会有一个编译过程,就是将高级语言转化成二进制可执行文件的一个过程。一般编译完成,之后每次运行就不用重新编译。像c/c++就是编译性语言。
阅读全文
posted @
2017-07-21 14:39
Seven_noon
阅读(223)
推荐(0)
使用chmod和chown创建一个多用户共享文件夹
摘要:首先要创建一个组MUSIC,为这个组添加两个用户A和B。 然后创建目录/usr/local/share/Music 然后要更改目录的所属组位MUSIC并更改组权限位rwx,因为要进入目录必须有x权限,要读取目录内容必须有r权限,要更改目录文件必须有w权限。 现在还有两个问题: 1、一是要改变系统默认
阅读全文
posted @
2017-07-20 11:28
Seven_noon
阅读(746)
推荐(0)
cpu调度
摘要:cup调度即:按照一定的调度算法从就绪队列中选择一个进程,把cpu的使用权交给这个进程。 有以下调度算法: 1、先来先服务 2、短作业优先 3、最短剩余时间 4、最高响应比优先 响应R=周转时间/处理时间=(等待时间+处理时间)/处理时间=1+等待时间/处理时间 5、时间片轮转 6、最高优先级调度算
阅读全文
posted @
2017-07-19 20:42
Seven_noon
阅读(120)
推荐(0)
c++ new, operator new, placement new
摘要:c++ new 用于动态分配内存。比如 A* a=new A();其实这里一共有三步: 1、分配sizeof(A)的内存,这里的分配是通过operator new(std::size_t)实现的 2、在分配的内存上初始化,调用A的构造函数 3、返回相应指针 某些时候我们需要重载operator ne
阅读全文
posted @
2017-07-19 16:03
Seven_noon
阅读(128)
推荐(0)
linux 静态链接和动态链接
摘要:链接 一个可执行目标文件的生成需要经过预编译(g++ -E)、编译(g++ -S)、汇编(g++ -c)、链接四个步骤。链接是将多个可重定位目标文件合并到一个目标文件的过程。链接由链接器完成,链接器重要完成两个任务: 1、符号(符号表由汇编器构造)解析。也就是将符号引用和符号定义关联起来。其中符号定
阅读全文
posted @
2017-07-17 22:47
Seven_noon
阅读(250)
推荐(0)
linux内存管理
摘要:虚拟内存 为了有效的管理内存,linux提出了虚拟内存的概念。虚拟内存是硬件异常、主存、硬件地址翻译、磁盘、和内核软件的完美交互。 虚拟内存提供了三个重要的能力: 1、将内存看作是磁盘的缓存 2、使得进程具一致的地址空间(线性地址) 3、使得进程的地址空间相互独立 虚拟内存的实现机制 内核会为每个进
阅读全文
posted @
2017-07-17 17:22
Seven_noon
阅读(140)
推荐(0)
DNS解析过程
摘要:DNS是域名系统,完成域名和ip之间的转换。DNS是一个分层树状结构,比如会以com、edu、cn、net等分为不同的子树。那么DNS的查询过程是怎么样的呢? 客户端到本地服务器之间的查询叫做递归查询(服务器以客户端的名义进行查询也属于这类),服务器之间的查询叫做迭代查询(向根服务器查询,根服务器指
阅读全文
posted @
2017-07-14 16:58
Seven_noon
阅读(119)
推荐(0)
TCP和 UDP的区别
摘要:TCP TCP协议提供一种可靠的、面向连接的字节流服务。在传输数据前,必须要通过三次握手建立连接。可靠性通过超时重传、收发按序来实现,并且提供流量控制和拥塞控制。所以我们可以推断出,在TCP报文段头部必有: UDP UDP则提供不可靠的,无连接的面向报文的服务。在传输数据前无需建立连接。只要应用层有
阅读全文
posted @
2017-07-14 16:26
Seven_noon
阅读(133)
推荐(0)
死锁的四个必要条件及死锁伪代码
摘要:互斥条件 死锁的发生一定是在对临界资源的访问上,即同一时刻资源只能由一个进程访问。 持有且保持条件 进程占有一个资源同时请求另一资源,在未获取另一资源的情况下并不释放原有资源。 不可抢占条件 低优先级进程占有的资源在自由释放前,不可被其他进程抢占。 环路等待条件 发生死锁时必定会有一条进程-资源环形
阅读全文
posted @
2017-07-12 17:17
Seven_noon
阅读(894)
推荐(0)