摘要: 粘着位(Sticky Bit) S_ISVTX位被称为粘着位。如果一个可执行程序文件的这一位被设置了,程序第一次运行完之后,程序的正文部分的一个副本仍被保存在交换区(程序的正文部分是机器指令)。这使得下次执行该程序能更快的被载入内存。因为在通常的UNIX文件系统中,文件的各数据块很可能是随机存放的, 阅读全文
posted @ 2017-09-19 00:33 李学文 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 2.1 信息存储 一个 字节 占8个位,计算机中最小的可寻址的存储器单位。 机器级程序将存储器视为一个非常大的字节数组,称为 虚拟存储器 。 存储器的每个字节都由一个唯一的数字来标识,称为它的 地址 。 所有这些可能的地址的集合称为 虚拟地址空间 。 2.1.1 十六进制表示法 十进制和十六进制之间 阅读全文
posted @ 2017-09-17 15:26 李学文 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 在某些时刻我们经常需要判断某个变量是否存在,若变量存在则使用既有的设置,若变量不存在则给予一个常用的设置。 (1) 变量未被设置或者内容为空,则替换为新的内容. 范例一:测试一下是否存在 username 这个变量,若不存在则给予 username 内容为 root bash [root@www ~ 阅读全文
posted @ 2017-09-17 13:13 李学文 阅读(327) 评论(0) 推荐(0) 编辑
摘要: 计算机系统漫游 1.1 信息就是位+上下文 基本思想:系统中所有的信息——包括磁盘文件、存储器中的程序、存储器中存放的用户数据以及网路上传送的数据,都是由一串位表示的。区分不同数据对象的唯一方法是我们读到这些数据对象时的上下文。 1.2 程序被其他程序翻译成不同的格式 一个hello.c文件到一个可 阅读全文
posted @ 2017-09-16 00:04 李学文 阅读(357) 评论(0) 推荐(0) 编辑
摘要: 一步到位的hello world 首先一个简单的C语言版本的hello world例子,保存在文件hello.c中。 一般而言,我们通常可以使用gcc命令将其转化为可执行程序 执行上面命令后,就会在当前目录生产一个hello的可执行文件。在Centos 64位机器上执行file hello,可以得到 阅读全文
posted @ 2017-09-15 01:01 李学文 阅读(396) 评论(0) 推荐(0) 编辑
摘要: 错误信息: : undefined reference to `err_quit': undefined reference to `err_sys' 解决方法: 因为err_quit跟err_sys是作者自己定义的错误处理函数。所以最简单的解决办法是修改下apue.h文件,如下 阅读全文
posted @ 2017-09-12 00:27 李学文 阅读(4532) 评论(0) 推荐(0) 编辑
摘要: 问题的原因: 在编译sudo包的时候默认开启了- -with-secure-path选项。 方法1: sudo vim /etc/sudoers,并在文件内增加这么一行:Defaults secure_path=”/bin:/usr/bin:/usr/local/bin:…”, 把要用的命令path 阅读全文
posted @ 2017-09-11 23:57 李学文 阅读(30928) 评论(0) 推荐(0) 编辑
摘要: 本文介绍了如何在CentOS 7中构建C++11构建环境 Clang的定制C++库是libc++(libcxx)。然后,libcxx还需要一个ABI库,libc++abi(libcxxabi)。不幸的是,这两个库有一个循环依赖问题。为了打破循环依赖问题,可以在不连接libc++abi的情况下构建li 阅读全文
posted @ 2017-09-09 22:56 李学文 阅读(3894) 评论(0) 推荐(0) 编辑
摘要: 天在CentOS上将最新版本的LLVM套件(LLVM,Clang和Libc++)编译安装好了,中间遇到了不少问题。虽然已经有很多博客介绍如何编译安装LLVM了,但是根据我自己亲身体验的情况来看,还是有地方需要注意的,也有东西值得跟大家分享一下。 下面开始: 首先从http://releases.ll 阅读全文
posted @ 2017-09-09 22:19 李学文 阅读(12731) 评论(1) 推荐(1) 编辑
摘要: 软件开发(尤其是商业软件)离不开项目管理,Issue 是最通用的管理工具之一。 阅读全文
posted @ 2017-09-04 19:54 李学文 阅读(409) 评论(0) 推荐(0) 编辑
levels of contents