
linux
文章平均质量分 88
小_鱼
这个作者很懒,什么都没留下…
展开
-
Linux C库之- 文件操作篇
相关函数 open、close、fopen、fclose、read、write、fread、fwrite、fcntl、link、unlink、stat、umask、头文件 基本数据类型caddr_t 核心地址。clock_t 表示系统时间(以时钟周期为单位)。comp_t 压缩的时钟滴答。dev_t 用于设备号。fd_set 文件描述集。fpos_t 文件位置。gid原创 2013-07-08 00:17:15 · 720 阅读 · 0 评论 -
linux系统调用和库函数调用的区别
Linux下对文件操作有两种方式:系统调用(system call)和库函数调用(Library functions)。可以参考《Linux程序设计》(英文原版为《Beginning Linux Programming》,作者是Neil Matthew和Richard Stones)第三章: Working with files。系统调用实际上就是指最底层的一个调用,在linux程序设计里面就是底原创 2014-06-10 22:25:44 · 515 阅读 · 0 评论 -
Linux下使用doxygen自动生成注释和文档
一、 安装工具1. 获取DoxygenToolkit.vim插件下载地址:http://www.vim.org/scripts/script.php?script_id=987将其拷贝到如下目录:/usr/share/vim/vim72/plugin/2. 获取doxygen-1.8.2.src.tar.gz源码包该工具用于生成文档和注释,可以从其官网上获取:转载 2014-06-10 22:11:02 · 1584 阅读 · 0 评论 -
atoi函数
把字符串转换成整型数.2.原型:int atoi(const char *nptr);3.函数说明: 参数nptr字符串,如果第一个非空字符不存在或者不是数字也不是正负号则返回零,否则开始做类型转换,之后检测到非数字(包括结束符 \0) 字符时停止转换,返回整型数。4.头文件: #include stdlib.h>1234.5678 --> 1转载 2013-06-29 12:37:13 · 459 阅读 · 0 评论 -
几个 关于时间 的函数
一、 基础知识1、时间类型。Linux下常用的时间类型有4个:time_t,struct timeval,struct timespec,struct tm。(1)time_t是一个长整型,一般用来表示用1970年以来的秒数。(2)Struct timeval有两个成员,一个是秒,一个是微妙。struct timeval { long tv_se转载 2013-06-29 12:30:40 · 725 阅读 · 0 评论 -
C语言写 系统日志
我门在做一些大型项目时候,在编写程序中时会考虑到,如果出现一些异常的时候是直接抛出异常呢,还是将异常写入到日志文件中,提供给系统管理员来查看。以下就针对这两种情况分别介绍在Linux中如何将异常写入日志或者是直接抛出异常。一.抛出异常在C语言中抛出异常,是用的最多,也是最简单的。因为我们先来talk下它的使用方法。1.使用exit()函数来实现抛出异常1转载 2013-06-29 12:04:52 · 1991 阅读 · 0 评论 -
GCC 及其选项
1.gcc编译器(1)程序的编译过程在使用gcc编译程序时,编译过程可以分为4个阶段:a.预处理(pre-processing)b.编译(compiling)c.汇编(assembing)d.链接(linking)(2)在功能上,预处理,编译,汇编是三个不同的阶段a.在预处理阶段,输入的是C语言的源文件,通常为*.c或*.C.它们一般转载 2013-06-29 09:59:49 · 644 阅读 · 0 评论 -
如何查看进程打开了哪些文件?
有许多情况下,我们需要查看一个进程当前打开了哪些文件,反过来我们也希望知道某一个文件正在被哪些进程所读写。在Linux下有许多有用的工具可以帮我们完成这两个工作,下面介绍这两个工具:lsof与fuser。 fuser find files or sockets' user 格式:fuser [选项] fname -k 如果找到打开文件的进程,则发送SIGKILL杀死此进程,通过-转载 2013-06-29 00:07:59 · 918 阅读 · 0 评论 -
GNU C扩展
注意:一下函数在windows下可能不能通过编译,在linux下可以。 (GNU C )一.结构体赋值:1、对成员赋值例如结构体struct st1 {int a;int b;int c;}1.1 用 {}形式struct st1 st1 = {1,2,3);1.2 linux kernel风格stru转载 2013-06-28 23:50:30 · 676 阅读 · 0 评论 -
return 与 exit 联系与区别
exit函数是退出应用程序,删除进程使用的内存空间,并将应用程序的一个状态返回给OS,这个状态标识了应用程序的一些运行信息,这个信息和机器和操作系统有关,一般是 0 为正常退出,非0 为非正常退出。.return是语言级别的,它表示了调用堆栈的返回;而exit是系统调用级别的,它表示了一个进程的结束。C语言中的return, exit, break, conti转载 2013-06-27 11:21:35 · 461 阅读 · 0 评论 -
poll 和select 区别
unix下poll()函数 函数 Linux中的字符设备驱动中有一个函数 unsigned int (*poll)(struct file * fp, struct poll_table_struct * table) 此函数在系统调用select内部被使用,作用是把当前的文件指针挂到设备内部定义的等待 队列中。这里的参数table可以不考虑,是在selec转载 2013-06-27 00:39:05 · 956 阅读 · 0 评论 -
VI的使用
vi有3个模式:插入模式、命令模式、底行模式。插入模式:在此模式下可以输入字符,按ESC将回到命令模式。命令模式:可以移动光标、删除字符等。低行模式:可以保存文件、退出vi、设置vi、查找等功能(低行模式也可以看作是命令模式里的)。1、打开文件、保存、关闭文件(vi命令模式下使用)vi filename //打开filename文件:w转载 2013-06-26 15:38:38 · 411 阅读 · 0 评论 -
使用GDB 调试程序
一般来说,GDB主要帮忙你完成下面四个方面的功能: 1、启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。 2、可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式) 3、当程序被停住时,可以检查此时你的程序中所发生的事。 4、动态的改变你程序的执行环境。一般来说GDB主要调试的是C/C++的程序。要调试C/C++的程序,转载 2013-06-24 21:51:41 · 573 阅读 · 0 评论 -
进程和线程的区别
如果说,在操作系统中引入进程的目的,是为了使多个程序能并发执行,以提高资源利用率和系统吞吐量。那么,在操作系统中再引入线程,则是为了减少程序在并发执行时所付出的空间开销,使OS具有更好的并发性。 简而言之,一个程序至少有一个进程,一个进程至少有一个线程. 线程的划分尺度小于进程,使得多线程程序的并发性高。另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高转载 2013-06-23 14:41:55 · 639 阅读 · 0 评论 -
一步一步写makefile
概述什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefil转载 2014-06-10 22:18:43 · 440 阅读 · 0 评论