
Unix/Linux系统编程
大头狗
一个很菜的老程序员
展开
-
Linux系统编程学习之《标准I/O操作》
在上一篇文章中已经说了不少文件操作,那些大多数都是POSIX标准上的操作今天我来总结一下ISO-C标准的标准I/O库函数及操作标准I/O文件可用于单字节或多字节(“宽”)字符集。流的定向决定了所读、写的字符是单字节还是多字节的。一个流最初被创建时,它没有定向如果要在未定向的流上使用一个多字节I/O函数,则将该流的定向设置为宽定向的如果在未定向的流上使用一个单字节I/O函数,则将原创 2013-08-21 18:41:13 · 854 阅读 · 0 评论 -
Linux系统编程学习之《Socket套接字》
说道Linux的网络应用的编写,我们最常用的就是socket套接字了Socket主要有三种类型:流式套接字(SOCK_STREAM)、数据报套接字(SOCK_DGRAM)和原始套接字(SOCK_RAW)流式套接字对应的就是我们经常听到的TCP协议数据报套接字对应的就是我们经常听到的UDP协议而原始套接字它不同于TCP和UDP,它提供一些更底层的网络操作给我们,一般我们使用不到原创 2013-09-02 22:44:02 · 1082 阅读 · 0 评论 -
Linux系统编程学习之《文件和目录操作》
今天学习了Linux的文件操作,现在来总结一下原创 2013-08-21 11:07:07 · 1249 阅读 · 0 评论 -
Linux系统编程学习之《FIFO文件的应用》
之前说过管道的应用,在进程间通讯的时候,还有一种常用的方式,就是创建FIFO文件用于通讯FIFO文件相对于管道的区别就是FIFO文件能被与创建进程无关的其他进程进行通信,但只限于本机上的进程(管道也是)创建FIFO文件之需要调用mkfifo函数即可#include #include int mkfifo(const char * pathname,mode_t mode);/原创 2013-09-27 10:29:07 · 4532 阅读 · 0 评论 -
Linux系统编程学习之《论使用mmap复制文件》
由于想加速今天使用了mmap来写一个复制文件的程序,发现原来使用mmap来复制文件原来是不够直接用read和write来复制文件快的也许有人会觉得我不对,不过我首先说明复制背景:我的复制文件不像《UNIX网络编程卷2》上面说的那样,有一个客户端和一个服务端进程,我的只有一个进程,在这一个进程内进行复制操作。首先列出一下我写的两个复制文件的函数:使用mmap复制的函数:sta原创 2013-10-12 17:52:57 · 1071 阅读 · 0 评论 -
Win7与CentOS7双系统安装
今天搞了一天WIn7跟CentOS7双系统安装,现在来总结一下:我是先安装WIN7,后安装CentOS7的,但是安装CentOS的时候会覆盖了系统的MBR,导致无法引导WIN7,这个后面要用grub2来引导1.首先写镜像的时候,我们要用USBWriter来写入USB镜像,我一个早上都用UltraISO来写镜像,最后都不行,最后用这个工具就行了。。下载地址:http://downlo原创 2016-05-28 16:32:06 · 14141 阅读 · 0 评论 -
Linux系统编程学习之《vim配置与使用总结》
语法高亮 syntax on 自动缩进 set autoindent 设置 Backspace 和 Delete 的灵活程度,backspace=2 则没有任何限制 设置在哪些模式下使用鼠标功能,mouse=a 表示所有模式 set mouse=a set backspace=2 不自动换行 set nowrap 设置超过100字符自动换原创 2013-09-15 15:45:21 · 1107 阅读 · 0 评论 -
eclipse Error处理:Invalid arguments ' Candidates are: void luaL_openlibs(*)'
最近写服务端框架,想用lua搭建上层逻辑。我使用的编辑器是eclipse C/C++编辑器但是在加入lua源代码时,却会出现lua提供的C-API参数不正确的如调用函数luaL_openlibs时会提示Invalid arguments ' Candidates are: void luaL_openlibs(*)'网上找了一下原因,原来是因为eclipse无法识别到该到哪原创 2016-06-14 11:58:52 · 3986 阅读 · 0 评论 -
编译lua5.3扩展.so文件时遇到的一些问题总结
最近尝试在linux下写一些lua的扩展函数,即.so文件,遇到的一些问题总结一下1.如果编译.cpp结尾的C++文件时,在那个函数函数前一定要加extern "C"如果遇到编译时说类似如下文字的:/usr/bin/ld: /usr/local/lib/liblua.a(lapi.o): relocation R_X86_64_32 against `luaO_nilobject_' can not be used when making a shared object; recompile with原创 2016-06-23 18:00:21 · 5233 阅读 · 1 评论 -
Windows7与arch-linux双系统安装方法
今天我来说一说如何在windows7下安装arch-linux双系统:安装方法有:1.下载安装包后刻光盘录盘(或U盘),然后重启,设置BOOT,启动光盘(U盘)来执行安装2.使用EasyBCD(或grub4dos)来编写MBR启动由于我刻录U盘安装的方法老不成功,于是我是使用EasyBCD来安装的:1.准备一个空的磁盘,格式化为FAT32格式,然后把镜像里面的VMLIN原创 2013-09-09 12:20:24 · 9730 阅读 · 0 评论 -
Linux系统编程学习之《Git仓库使用总结》
git维护着三棵树第一个是工作目录,表示本主机中实际持有的文件第二个是缓存区,临时保存改动第三个是HEAD,指最后一次的提交结果安装好git仓库后,新建一个文件mkdir gittestcd gittest初始化git环境git init配置使用git仓库的人员姓名 git config --global user.nam原创 2013-09-03 15:49:04 · 775 阅读 · 0 评论 -
Linux系统编程学习之《Linux中常见的头文件》
首先来了解一下Linux中常见的头文件有哪些其实这些头文件都是根据各种国际标准定义出来的1.ISO-C标准定义的头文件ISO-C标准的意图是提供C程序的可移植性,使其能适合于大量不同的操作系统,而不只是UNIX系统。 头文件 说明 验证程序断言 支持复数算术运算 字符支持 出错码 浮点环境 浮点常量 整型格式转换 替代关系操作符原创 2013-08-19 12:13:47 · 1301 阅读 · 0 评论 -
Linux系统编程学习之《系统数据文件和信息》
今天学习了系同数据文件和信息的一些调用函数和数据结构,现在总结如下:1.口令文件口令文件就是/etc/passwd文件口令文件有一个数据结构用于定义数据,结构如下:/* * #include * struct passwd{ * char * pw_name; //用户名 * char * pw_passwd; //加密口令 * uid_t pw_uid; //数原创 2013-08-22 17:18:47 · 749 阅读 · 0 评论 -
Linux系统编程学习之《进程环境》
众锁周知,C程序的入口是main函数,其实标准main韩式原型是如下所示的:int main(int argc,char * argv[]);argc是命令行参数的数目,argv是参数的指针已个C进程的终止方式如下,其中5种为正常终止:1.从main返回2调用exit3.调用_exit或_Exit4.最后一个线程从其启动例程返回5.最后一个线程调用phread_ex原创 2013-08-23 13:49:18 · 534 阅读 · 0 评论 -
Linux系统编程学习之《进程控制》
终于学到进程了,现在总结如下:我们知道,进程在系统内部都是采用标识符(ID)来来进行表示的1.进程标识符的获取取得进程标识符的函数如下:/* * #include * pid_t getpid(void); //返回调用进程的进程ID * pid_t getppid(void); //返回调用进程的父进程ID * uid_t getuid(void);原创 2013-08-24 12:24:47 · 860 阅读 · 0 评论 -
Linux系统编程学习之《编程前的准备》
在进行Linux系统编程钱,先来看看编程前的准备吧!先说说我为什么学习Linux系统编程,因为我觉得现在Linux是IT行业的主流,学习一下Linux相关知识,对于学计算机专业的我来说肯定是有必要的而Linux系统需要学习的知识其实有很多方面的:1.基本知识,就是整个Linux系统有个整体认识,这个阶段主要是熟悉一下Linux环境,学习一下文件系统,学习一下基本的shell命令吧。这个原创 2013-08-18 19:52:11 · 1284 阅读 · 0 评论 -
Linux系统编程学习之《线程》
今天来总结一下Linux下的线程方面知识:和进程相似,线程也有系统内的标识符,它的类型是pthread_t(进程是pid_t)线程标识符只在同一进程内有效,不同进程之间可以有相同的线程标识符1.线程标识符我们先来看看有关线程标识符的函数/* * #include * int pthread_equal(pthread_t tid1,pthread_t ti原创 2013-08-29 21:08:58 · 898 阅读 · 0 评论 -
LInux系统编程学习之《管道的应用》
今天来总结一些管道的一些应用有时候我们需要在父进程和子进程之间进行信息的交换通讯,那么管道就是我们选择的一种办法1.匿名管道创建管道需要使用pipe函数/* * #include * int pipe(int pipedes[2]); * 成功返回0,出错返回-1,错误记录在errno变量中 * pipedes是用来定义管道的读取文件 * pipedes[0原创 2013-09-01 13:53:10 · 792 阅读 · 0 评论 -
Nginx编程学习资料总结
这几天在学习Nginx服务器框架,并且学习这个服务器框架的源程序是怎么写的,现在把我这几天学习的参考资料罗列如下:1.一群淘宝大神写的总结:http://tengine.taobao.org/book/chapter_02.html#id32.Nginx模块开发参考http://www.oschina.net/question/12_41803.Nginx模块开发参考2原创 2013-09-08 21:44:39 · 1185 阅读 · 0 评论 -
运行错误:error while loading shared libraries: xxx.so.0:cannot open shared object file: No such file or
本文转载于:http://blog.youkuaiyun.com/newthinker_wei/article/details/8843133CentOS 编译成功,但运行时提示:error while loading shared libraries: xxx.so: cannot open shared object file: No such file or directory转载 2016-08-05 20:37:15 · 3932 阅读 · 0 评论