c/c++ linux编程
mazheng1989
努力中。
展开
-
gcc 编译使用动态链接库和静态链接库
在windows下动态链接库是以.dll后缀的文件,二在Linux中,是以.so作后缀的文件。动态链接库的好处就是节省内存空间。1、Linux下创建动态链接库在使用GCC编译程序时,只需加上-shared选项即可,这样生成的执行程序即为动态链接库。例如有文件:hello.c hello.h main.c编译:gcc hello.c -fPIC -o libhello.so原创 2012-02-29 15:27:10 · 1159 阅读 · 0 评论 -
程序比程序员更理解c语言! cdecl程序(分析c语言的声明
c语言的声明有时侯是很复杂的;比如int (*a[5])(int); 再比如:int*((*p)(int))(int);你能说明白它们的意思吗?像这样的声明很容易把一般的程序员弄蒙逼的。cdecl是一个分析这种声明的程序,输入声明形式,用英语输出其描述。一个在线的cdecl.我们也可以自己编写分析程序。编写一个这样的分析程序,很有助于帮助我们理解c语言的声明。下面是原创 2012-02-29 18:13:05 · 7547 阅读 · 3 评论 -
运用管道(pipe)进行进程间通信
<!--@page {margin:2cm}p {margin-bottom:0.21cm}--> 在linux系统中,管道是一种特殊的文件,它的主要作用是实现进程间的通信。 管道的一个显著特点是:当一个管道建立后,将获得两个文件描述符,分别用于对管道读取和写入,通常将其称为管道的写入端和读取端,从写入端写入管道的任何数据都可以从读取端读取。原创 2012-03-11 14:46:57 · 1432 阅读 · 0 评论 -
运用消息队列进行进程间通信
发送消息端:/* * ===================================================================================== * * Filename: message_send.c * * Description: * * Version: 1.0 * C原创 2012-03-12 19:27:00 · 519 阅读 · 0 评论 -
fread fwrite 的使用
下面是一个用fread,fwrite向结构体中写入结构体,读出结构体的代码:#include #include #include #includestruct stu{ char name[20]; char sex[20]; int age;};int save(){ struct stu mystu[3]; FILE *fp;原创 2012-05-01 22:03:42 · 920 阅读 · 0 评论 -
标准I/O函数库的缓冲
标准I/O函数库执行以下三类缓冲:1,完全缓冲意味着只在出现下列情况时才发生I/O缓冲:缓冲区满,进程显示调用fflush,或者进程调用exit终止/标准I/O缓冲区的通常大小为8192字节。2,行缓冲意味着只是在出现下列情况时才发生I/O:碰到一个换行符,进程调用fflush,或者进程调用exit终止3,不缓冲意味着每次调用标准I/O输出函数都发生I/O标准I/O库函数的大多数u原创 2012-05-24 22:49:42 · 911 阅读 · 0 评论