elfprincexu的专栏

点滴积累 持之以恒

排序:
默认
按更新时间
按访问量

深入理解linux下进程和线程的空间分配,进程栈和线程栈的空间分配

最近学习了下linux下进程和线程空间的分配原理,觉得有必要坐下总结, 关于进程栈和线程栈总结:     (1)进程栈大小时执行时确定的,与编译链接无关     (2)进程栈大小是随机确认的,至少比线程栈要大,但不会超过2倍     (3)线程栈是固定大小的...

2017-12-12 10:03:24

阅读数:2560

评论数:1

汇编语言学习小结

汇编语言是仅次于机器语言的底层语言,学习汇编语言可以让我们更好的理解CPU的工作方式和原理,可以帮我们更好的写好高级语言 我们通常使用的C,C++,C#语言都是基于汇编语言的高级语言。通常这些高级语言在机器中变为可执行文件的时候,都会经历以下几个步骤预处理(头文件引入,宏替换,内联函数替换等...

2017-07-27 15:39:42

阅读数:185

评论数:0

文件系统深度理解之inode解读

一、问题:   在一台Linux服务器的/data分区内创建文件时,系统提示磁盘空间不足,用df -h命令查看了一下磁盘使用情况,发现/data分区只使用了66%,还有12G的剩余空间。    二、分析问题:   用df -i查看了一下/data分区的索引节点(inode),发现已经用满(...

2017-04-11 11:35:52

阅读数:1736

评论数:0

计算机程序是如何运动的

关于《深入理解计算机系统》 “这本书的中译名为“深入理解计算机系统”,我非常,十分,以及百分之一百二十地不满意。我这么说的原因在于这个译法完全扭曲了书的本意。如果直译原书名,应该是类似于“以程序员的视角理解计算机系统”,何来“深入”二字。可能在国内编辑看来,这是讲系统的,用C和汇编语言的,因...

2017-03-17 17:01:31

阅读数:612

评论数:0

计算机是如何启动的

从打开电源到开始操作,计算机的启动是一个非常复杂的过程。 我一直搞不清楚,这个过程到底是怎么回事,只看见屏幕快速滚动各种提示…… 这几天,我查了一些资料,试图搞懂它。下面就是我整理的笔记。 零、boot的含义 先问一个问题,”启动”用英语怎么说? 回答是boot。可...

2017-03-17 17:00:15

阅读数:256

评论数:0

浅谈C/C++中static extern关键字的作用

static:  1. 修饰变量,表明该变量是静态变量,变量声明周期为整个程序,存放在静态数据区, (同时限定该变量的作用域)可能是局部静态变量,或者是本文件静态变量。   2. 修饰函数,和上面大同小异, 3. 修饰类的变量和函数,表明该变量和函数属于类,不再仅仅是类的实例对象...

2016-07-18 16:07:41

阅读数:837

评论数:0

Makefile 中命令的@,-@,+@符号 作用, 案例分析

make/makefile中的加号+,减号-和at号@的含义 shell 命令 每个目标都可以具有与其关联的一系列 shell 命令,这些命令通常用来创建目标。此脚本中的每一条命令都必须以制表符开始。虽然任何目标都能够显示在相关性行上,但除非使用 :: 操作符,否则这些相关性中只有一个...

2016-07-12 10:33:49

阅读数:2115

评论数:0

网络工程师,路由器4种模式详解:AP,Router,Repeater,Bridger (接入点,无线路由,中继,桥接)

对于大多人来说使用路由器只会使用的就是PPPOE拨号,其他的都不是很懂,其实我们平时使用的是路由模式,那这次即将带来的各种模式有什么区别,又适合什么场合使用呢?这次就给朋友们说说路由器AP、路由、中继、桥接模式之间的区别。 现在的路由大多数已经开始支持多中网络连接模式,那么我们就挑一款...

2016-06-23 16:39:28

阅读数:9455

评论数:0

详解如何编译一个跨平台GCC

How to Build a GCC Cross-Compiler GCC is not just a compiler. It’s an open source project that lets you build all kinds of compilers. Some compiler...

2016-06-22 13:22:28

阅读数:3477

评论数:0

深入理解LINUX下动态库链接器/加载器ld-linux.so.2

最近在Linux 环境下开发,搞了好几天 Compiler 和 linker,觉得有必要来写一篇关于Linux环境下 ld.so的文章了,google上搜索了很多相关介绍性的文档,发现国内百度上却很少有相关类文档,觉得有必要来梳理一下: ld-linux.so.2 是linux下...

2016-06-17 17:18:07

阅读数:9135

评论数:0

Linux环境下最新版GCC安装总结--详细说明附案例(CentOS下安装最新版GCC 5.3.0)

1.  GCC 这篇文章主要用来提供一些常见的指导,通常我们在安装GCC过程中都会出现常见的问题,官方的安装文件可以访问官方网址:  Installing GCC  我们主要从 “源文件来安装GCC” 因为不同的操作系统不同的版本已经GCC所需要的必要的软件的版本不同,我们通常都是在下载完源代码...

2016-06-14 10:54:13

阅读数:4510

评论数:0

详解C++各种智能指针: auto_ptr, shared_ptr, weak_ptr, scoped_ptr

C++ 中经常被问到的一个问题就是如何分辨各种智能指针。  先归纳起来做一个综合的比较:  auto_ptr auto_ptr是现在标准库里面一个轻量级的智能指针的实现,存在于头文件 memory中,之所以说它是轻量级,是因为它只有一个成员变量(拥有对象的指针),相关的调用开销也非常小。...

2016-05-13 16:57:48

阅读数:2541

评论数:0

详解C/C++语言中Static 变量 或者 static函数的作用

1. 今天被问到C语言中Static假如修饰一个函数的话,这个Static 起到什么作用。 之前因为特别注意到这个问题,但一时之间可能说不出全部,我回答了关于 作用域的区别,其实是对的,因为其他文件无法访问这个函数了,static把这个函数局限于在这个文件当中,某种意义上“隐藏了”这个函数,但不...

2016-05-13 14:29:57

阅读数:440

评论数:0

二叉树的深度优先遍历与广度优先遍历 [ C++ 实现 ]

转自于 : http://www.blogjava.net/fancydeepin/archive/2013/02/03/395073.html 深度优先搜索算法(Depth First Search),是搜索算法的一种。是沿着树的深度遍历树的节点,尽可能深的搜索树的分支。 当节点v的...

2016-05-11 13:33:21

阅读数:1145

评论数:0

详解.net 中C# 编程中 堆(托管堆CLR) 和 栈

转载于 http://www.c-sharpcorner.com/article/C-Sharp-heaping-vs-stacking-in-net-part-ii/ Even though with the .NET framework we don't have to ac...

2016-05-10 15:16:35

阅读数:1021

评论数:0

详解数据库三种删除方法: delete drop truncate

Delete Delete :删除数据表中的行(可以删除某一行,也可以在不删除数据表的情况下删除所有行)。 删除某一行:Delete from 数据表名称 where 列名称=值; 删除所有行:Delete * from 数据表名称 Drop Drop :...

2016-05-10 10:35:02

阅读数:1071

评论数:0

详解数据库设计准则: 第一范式,第二范式,第三范式

为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。                   在实际开发中最为常见的设计范式有三个: 1.第一范...

2016-05-10 10:19:10

阅读数:2615

评论数:0

C++11新特性: 右值引用 和 右值语义(rvalue sematics)

转载于 http://blog.csdn.net/zwvista/article/details/12306283#comments  右值引用 为了解决移动语义及完美转发问题,C++11标准引入了右值引用(rvalue reference)这一重要的新概念。右值引用采...

2016-05-09 12:43:14

阅读数:777

评论数:0

C++基础知识: 公有继承,保护继承,私有继承的总结,私有继承的用意何在

今天被问到C++中私有继承的作用是什么?第一反应是关于访问权限的改变,基类被子类私有继承后,基类中即使是共有public,保护protected的成员变量或者成员函数都会在子类中变为私有成员和私有成员变量,子类的派生类或者子类的对象再也无法访问这些成员和成员变量。 其实,这个回答只答出了最为基...

2015-12-11 00:15:55

阅读数:576

评论数:0

经典算法: 堆排序的原理和实现, 建立堆,调整堆

1.堆   堆实际上是一棵完全二叉树,其任何一非叶节点满足性质:   Key[i]=Key[2i+1]&&key>=key[2i+2]   即任何一非叶节点的关键字不大于或者不小于其左右孩子节点的关键字。   堆分为大顶堆和小顶堆,满足Key[i]&g...

2015-12-09 20:58:53

阅读数:1601

评论数:0

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