共14页: 首页 上一页 3 4 5 6 7 8 9 10 11 下一页 末页 
摘要: 在linux中,用fork来创建一个子进程,该函数有如下特点: 1)执行一次,返回2次,它在父进程中的返回值是子进程的 PID,在子进程中的返回值是 0。子进程想要获得父进程的 PID 需要调用 getppid 函数。 2)生成的子进程会复制父进程一样的代码和数据 3)父子进程的全局变量和局部变量,阅读全文
posted @ 2018-01-12 21:11 ghostwu 阅读(111) 评论(0) 编辑
摘要: truncate的使用非常简单: int truncate(const char *path, off_t length); 参数1:文件名 参数2: 文件需要被调整的大小 length 大于 文件大小, 文件后面会填充空白字节或者空洞 length 小于 文件大小, 文件多出的部分,会被舍弃 源代阅读全文
posted @ 2018-01-11 16:44 ghostwu 阅读(1616) 评论(0) 编辑
摘要: 所谓原子性操作指的是:内核保证某系统调用中的所有步骤(操作)作为独立操作而一次性加以执行,其间不会被其他进程或线程所中断。 举个通俗点的例子:你和女朋友OOXX的时候,突然来了个电话,势必会打断你们高潮的兴致,最好的办法就是,你们做这事的时候,把通讯设备关机,就能确保,这次的事情很圆满的完成,这就是阅读全文
posted @ 2018-01-11 12:42 ghostwu 阅读(586) 评论(0) 编辑
摘要: 这个实例根据命令行参数进行相应的读学操作: 用法: file参数:文件名, 如果不存在会自动创建 r<length>: 如r5, r: 读取操作,表示在当前文件指针后面读取5个字节的内容,以文本形式输出. R<length>:如R5 R:读取操作,表示在当前文件指针后面读取5个字节的内容,以十六进制阅读全文
posted @ 2018-01-10 22:29 ghostwu 阅读(290) 评论(0) 编辑
摘要: 之前,这篇文章:linux系统编程:自己动手写一个cp命令 已经实现过一个版本。 这里再来一个版本,涉及知识点: linux系统编程:open常用参数详解 Linux系统编程:简单文件IO操作 1 /* 2 * Copyright (C) 2018 . All rights reserved. 3 阅读全文
posted @ 2018-01-10 17:20 ghostwu 阅读(167) 评论(0) 编辑
摘要: open用于打开一个文件,通过设置不同的flag,可以让进程只读,只写,可读/可写等操作 一、对一个不存在或者存在的文件(test.txt),进行写入操作 1 /* 2 * Copyright (C) 2018 . All rights reserved. 3 * 4 * 文件名称:cp.c 5 *阅读全文
posted @ 2018-01-10 16:57 ghostwu 阅读(814) 评论(0) 编辑
摘要: 我的环境是ubuntu16.04 glibc官网:http://www.gnu.org/software/libc/libc.html 方法一、一般来说,涉及到库调用的程序,在链接时候都会链接到glibc,所以,可以用ldd命令来查看 这个就是我的电脑上glibc的路径:/lib/x86_64-li阅读全文
posted @ 2018-01-10 15:17 ghostwu 阅读(611) 评论(0) 编辑
摘要: pwd命令:打印当前的工作目录 我们都知道每个目录下面都有两个特殊的目录( . 和 .. ), .: 当前目录, ..: 上层目录, 每个目录都有一个i节点与之相关联 通过ls -i就可以显示每个文件和目录的inode值,比如下面我用ls -ia显示所有文件的inode 1,当工作在basic目录下阅读全文
posted @ 2018-01-10 11:00 ghostwu 阅读(134) 评论(0) 编辑
摘要: ls用于列举目录内容,要实现这个功能,毫无疑问,需要读取目录,涉及到两个api: opendir:DIR *opendir(const char *name), 传文件名,返回一个指针,指向目录序列 readdir:struct dirent *readdir(DIR *dirp), 把opendi阅读全文
posted @ 2018-01-09 20:54 ghostwu 阅读(1149) 评论(0) 编辑
摘要: cp命令的基本用法: cp 源文件 目标文件 如果目标文件不存在 就创建, 如果存在就覆盖 实现一个cp命令其实就是读写文件的操作: 对于源文件: 把内容全部读取到缓存中,用到的函数read 对于目标文件: 把缓存中的内容全部写入到目标文件,用到的函数creat 1 /* 2 * Copyright阅读全文
posted @ 2018-01-08 19:05 ghostwu 阅读(413) 评论(0) 编辑
摘要: who命令的作用用于显示当前有哪些用户登录到系统。 这个命令执行的原理是读取了系统上utmp文件中记录的所有登录信息,直接显示出来的 utmp文件在哪里呢? man who的时候,在手册下面有这么一段说明:意思就是不指定文件参数,那么读取的就是/var/run/utmp,到底是不是,验证下 当我指定阅读全文
posted @ 2018-01-08 16:52 ghostwu 阅读(547) 评论(0) 编辑
摘要: 什么是socket? socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,都可以用“打开open –> 读写write/read –> 关闭close”模式来操作。其实socket就是该模式的一个实现,socket即是一种特殊的文件,一些socket函数就是对其进行的操阅读全文
posted @ 2018-01-08 12:05 ghostwu 阅读(2988) 评论(0) 编辑
摘要: 字节序:就是数据在内存中的存放顺序,也可称之为端模式。 大端模式和小端模式的定义 1) Little-Endian就是低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。 2) Big-Endian就是高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。 3) 网络字节序:TCP/I阅读全文
posted @ 2018-01-08 09:45 ghostwu 阅读(262) 评论(0) 编辑
摘要: 这个技巧来自于我的实际开发碰到的: inet_addr这个函数用于把ip地址转成网络字节序,他的原型:in_addr_t inet_addr(const char *cp); 返回值为一个in_addr_t的类型,很显然这不是一个c语言的标准数据类型,想搞清楚他到底是什么类型,肯定要找到头文件,在l阅读全文
posted @ 2018-01-07 22:17 ghostwu 阅读(253) 评论(0) 编辑
摘要: 一个用c语言写的程序把他编译成计算机可执行的文件,一般有4个步骤 1,预处理:这个步骤,主要是包含头文件,展开宏定义 gcc -E helloworld.c -o helloworld.i 2,生成汇编代码 gcc -S helloworld.i -o helloworld.s 3,编译汇编 gcc阅读全文
posted @ 2018-01-06 12:19 ghostwu 阅读(549) 评论(0) 编辑
摘要: 目前打造完成的IDE主要有: terminator+Bundle+NERDtree+YCF(youcompleteme)+UltiSnips+新创建文件自动补充注释和作者,版权信息等 1,当任务比较多的时候,如果在Ubuntu下切换多个终端,会比较麻烦,这里我找到一个比较好的终端(terminato阅读全文
posted @ 2017-12-27 10:43 ghostwu 阅读(2522) 评论(0) 编辑
摘要: 使用Linux的文件API,经常看见一个东西,叫做文件描述符. 什么是文件描述符? (1)文件描述符其实实质是一个数字,这个数字在一个进程中表示一个特定的含义,当我们open打开一个文件时,操作系统在内存中构建了一些数据结构来表示这个动态文件,然后返回给应用程序一个数字作为文件描述符,这个数字就和我阅读全文
posted @ 2017-12-25 11:01 ghostwu 阅读(1279) 评论(0) 编辑
摘要: 1、安装Sublime Text 3 首先添加sublime text 3的仓库: sudo add-apt-repository ppa:webupd8team/sublime-text-3 根据提示按ENTER 继续,建立信任数据库 更新软件库 sudo apt-get update 安装Sub阅读全文
posted @ 2017-12-11 12:54 ghostwu 阅读(331) 评论(0) 编辑
摘要: 1,下载解压 tar xf php-7.2.0.tar.gz cd php-7.2.0/ 2,安装必要的库 sudo apt-get install libxml2-devsudo apt-get install openssl sudo apt-get install libssl-devsudo阅读全文
posted @ 2017-12-10 12:06 ghostwu 阅读(3325) 评论(0) 编辑
摘要: 一,安装 adobe flash player sudo apt-get upgradesudo apt-get install flashplugin-installer 二,安装chrome浏览器 1.将下载源添加到系统源中。 sudo wget https://repo.fdzh.org/ch阅读全文
posted @ 2017-12-10 10:39 ghostwu 阅读(233) 评论(0) 编辑
共14页: 首页 上一页 3 4 5 6 7 8 9 10 11 下一页 末页 
Copyright ©2017 ghostwu