linux C编程
ucan23
没有什么特长,但能吃苦。
展开
-
第一个C程序
/**File:helloworld.c*Function:my first C program, output "Hello world"*Author:Howard*Time:2012/10/14*/#include int main(void){ printf("Hello World!\n"); return 0;}gcc -o hello原创 2013-04-18 11:06:13 · 856 阅读 · 0 评论 -
Linux System Programming note 5—— Process Management
1. The four program -- be the init process /sbin/init /etc/init /bin/init /bin/sh2. /proc/sys/kernel/pid_max -----327683. Obtaining the Process ID and Parent Process ID原创 2014-06-06 09:18:08 · 1493 阅读 · 0 评论 -
Linux System Programming note 6—— Adcanced Process Management
1. Yield the Processor#include int sched_yield(void);Legal nice values range from -20 to 19 inclusive, with a default value of 0.2.nice()#incude int nice(int inc); // only root原创 2014-06-06 09:19:38 · 1039 阅读 · 0 评论 -
Linux System Programming note 7 —— Threading
1. Modern operating systems provide two fundamental virtualized abstractions to user-space: virtual memory and virtualized processor.2. 6 primary benefits to multithreadingProgramming abstract原创 2014-06-06 09:20:47 · 887 阅读 · 0 评论 -
Linux System Programming note 8 ——File and Directory Management
1. The Stat Family#include #include #include int stat(const char *path, struct stat *buf);int fstat(int fd, struct stat *buf);int lstat(const char *path, struct stat *buf);struct原创 2014-06-06 09:22:30 · 1672 阅读 · 0 评论 -
Linux System Programming note 9 ——Memory Management
1. Allocating Dynamic Memory#include void *malloc(size_t size);2. Allocating Arrays#include void *calloc(size_t nr, size_t size);//分配的内存被初始化为03. Resizing Allocations原创 2014-06-06 09:23:41 · 1000 阅读 · 0 评论 -
Linux System Programming note 11 ——Time
Wall time(or real time)Process timeMonotonic time1. Breaking Down Timestruct tm{ int tm_sec; int tm_min; int tm_hour; int tm_mday; int tm_mon; int t原创 2014-06-06 09:26:50 · 778 阅读 · 0 评论 -
Linux System Programming note3 —— Buffered I/O
1. Opening Files#include FILE *fopen(const char *path, const char *mode);Modes:r, r+, w, w+, a, a+, b2. OPening a Stream via File Descriptor#include FILE *fdopen(int fd, cons原创 2014-06-06 09:06:25 · 1083 阅读 · 0 评论 -
Linux System Programming note 4 —— Advanced File I/O
1. Scatter/Gather I/O(vectored I/O)#include ssize_t readv (int fd, const struct iovec *iov, int count);ssize_t writev (int fd,原创 2014-06-06 09:08:23 · 1257 阅读 · 0 评论 -
Linux System Programming note 10 —— Signal
1. SIGKILL和SIGSTOP不能被忽略2. Signal Identifiers3. Basic Signal Management#include typedef void (*sighandler_t)(int);sighandler_t signal(int signo, sighandler_t handler);4. Waiti原创 2014-06-06 09:25:22 · 1183 阅读 · 0 评论 -
判断机器的字节序
刚刚写了一个判断机器字节序的程序:原创 2014-06-08 09:18:19 · 1112 阅读 · 0 评论 -
Linux System Programming note 2 ——File I/O
1.#include #include #include int open(const char *name, int flags);int open(const char *name, int flags, mode_t mode);flags: O_RDONLY, O_RDWR, O_WRONLY, O_APPEND, O_ASYNC(available only fo原创 2014-06-06 09:05:01 · 988 阅读 · 0 评论 -
Linux System Programming note 1
1.#include char * strerror(int errnum);AND#include int strerror_r(int errnum, char *buf, size_t len);former:not thread-safelatter:thread-safe2.In single-threaded programs, errno i原创 2014-06-06 09:03:26 · 766 阅读 · 0 评论 -
人类的一小步(第二章)
准则1:小即是美ᅠᅠᅠᅠᅠᅠᅠᅠ将操作细化成一个个小的函数。2.2.1ᅠ小程序易于理解2.2.2ᅠ小程序易于维护2.2.3ᅠ小程序消耗的系统资源较少2.2.4ᅠ小程序容易与其他工具相结合准则2:让每一个程序只做好一件事原创 2013-11-17 11:14:34 · 873 阅读 · 0 评论 -
快速原型模型的好处(第三章)
拉玛人喜欢三五成群地去做一切事情。ᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠ——选自阿瑟.克拉克的《与拉玛相会》3.1 学习与学习曲线3.1.1 事实上,每个人有自己的学习曲线3.1.2 大师们也知道,变化不可避免3.1.3 为什么软件会被称为软件ᅠᅠᅠᅠᅠᅠᅠᅠ“入此门者,莫存希望”(Abandon all hope, all ye wh原创 2013-11-17 11:16:06 · 1165 阅读 · 0 评论 -
C语言关于++--的问题
以前一直认为在C语言中只有整形数据才能进行++,--的自增运算,今天发现其实我错了。例如看下面的一个程序: 在vc6.0中编译结果是这样的:--------------------Configuration: test_one - Win32 Debug--------------------Compiling...test_One.cpptest_One.obj -原创 2013-11-17 11:00:52 · 1096 阅读 · 0 评论 -
用scanf() != -1来判断输入是否结束
用scanf() != -1来判断输入是否结束原创 2013-11-17 11:18:08 · 3288 阅读 · 0 评论 -
unix哲学:集思广益的智慧(第一章 )
Unix哲学的几条准则:(1)小即是美。(2)让每一个程序只做好一件事情。(3)尽快建立原型。(4)舍高效率而取可移植性。(5)使用纯文本文件来存储数据。(6)充分利用软件的杠杆效应。(7)使用shell脚本来提高杠杆效应和可移植性。(8)避免强制性的用户界面。(9)让每一个程序都成为过滤器。UNIX文化:(1)允许用户指定环境。(2)尽量使操作系统原创 2013-11-17 11:13:00 · 915 阅读 · 0 评论 -
C语言中的格式输出
printf()的用法printf的格式控制的完整格式:% - 0 m.n l或h 格式字符下面对组成格式说明的各项加以说明:①%:表示格式说明的起始符号,不可缺少。②-:有-表示左对齐输出,如省略表示右对齐输出。③0:有0表示指定空位填0,如省略表示指定空位不填。④m.n:m指域宽,即对应的输出项在输出设备上所占的字符数。N指精度。用于说明输出的实型数的小数原创 2013-11-17 11:23:53 · 1273 阅读 · 0 评论 -
VC的几个常用的str函数
VC的几个常用的str函数头文件 #include strcpystrcatstrchr //在一个串中查找给定字符的第一个匹配之处strcmpstpcpystrcspn 原型:size_t strcspn(const char *s1,const char *s2); 相关头文件:#include 功能:顺序在字符串s1中搜寻与s2中字符的第一个相原创 2013-11-17 11:25:23 · 1308 阅读 · 0 评论 -
导言&操作符&控制流(C编程语言)
第一章 导言1、#include int getchar(void);getchar函数的返回值类型是int型,需注意不是char型。2、#include int putchar(int ch);putchar函数的返回值是输出的字符数,或者是错误号(-1——EOF)。3、此程序输出的结果为2554、此程序的输出结果为-15、 对于float类型和dou原创 2013-11-17 14:05:55 · 1199 阅读 · 0 评论 -
函数与程序结构&数组与指针(C编程语言)
1、如果函数定义中省略了返回值,则默认的返回值为int类型。2、外部变量的定义中必须指定数组的长度,但extern声明则不一定要指定数组的长度。外部变量的初始化只能出现在其定义中。3、在不进行显示初始化的情况下,外部变量和静态变量都将被初始化为0,而自动变量和寄存器变量的初值则没有定义。4、strlen函数在计算字符串长度时并不把‘\0’字符算在内,而sizeof操作符把结束符算在内。原创 2013-11-17 14:09:39 · 1159 阅读 · 0 评论 -
vi学习笔记
2012-9-21(1)假如想放弃本次回话所作的任何编辑,然后返回到初始文件,则命令::e!注:这里的返回初始文件指的是把先前做的任何修改清楚,还原为刚进入时的状态,并不推出vi编辑器假如想“文件另存为”,则可以使用命令::w newfilename要想在底行模式下执行linux命令,可以使用以下命令格式::!command注:在ex命令前加感叹号能访问UNIX。原创 2013-11-17 14:14:09 · 1250 阅读 · 0 评论 -
C语言中关于float、double、long double精度及数值范围理解
IEEE754浮点数的表示方法。C语言里对float类型数据的表示范围为-3.4*10^38~+3.4*10^38。double为-1.7*10^-308~1.7*10^308,long double为-1.2*10^-4932~1.2*10^4932.类型比特(位)数有效数字数值范围float32转载 2015-04-09 21:15:53 · 27712 阅读 · 1 评论