linux C系统编程_学习笔记
hb707934728
这个作者很懒,什么都没留下…
展开
-
Linux IO模式及 select、poll、epoll详解
转自:http://www.codeceo.com/article/linux-io-and-select-poll-epoll.html同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么区别?不同的人在不同的上下文下给出的答案是不同的。所以先限定一下本文的上下文。本文讨论的背景是Linux环境下的network IO。 一 概念说明在进行解释之前,转载 2016-08-15 17:30:49 · 483 阅读 · 0 评论 -
网络编程之阻塞与非阻塞的理解
linux网络编程中 connect,send,recv 关于阻塞与非阻塞的理解1,send,recv如果非阻塞,会立即返回,但每次返回的结果是不确定的,有可能一次发送或者接收完成也有可能需要多次,所以需要在一个循环中,多次发送或者接收,直到数据发送或者接收完毕。2,send,recv如果阻塞,可以设置超时时间,阻塞的话会一直等到发送或者接收完毕所有数据才会返回,防止主线程阻塞,...原创 2019-03-06 14:43:30 · 1848 阅读 · 0 评论 -
linux系统编程之网络编程(一)
tcp client#include #include #include #include #include #include #include #include #define portnumber 3333int main(int argc, char *argv[]) { int sockfd; char buffer[1024]; str原创 2016-08-11 10:08:12 · 388 阅读 · 0 评论 -
linux系统编程之线程(二)
#include #include #include struct menber{ int a; char *b;}temp={8,"zieckey"};//线程执行函数void *create(void *arg){ printf("new thread ... \n"); return (void *)&temp;}int main(i原创 2016-08-11 10:03:25 · 374 阅读 · 0 评论 -
linux系统编程之线程(一)
#include #include #include /*getpid()*/void *create(void *arg){ printf("New thread .... \n"); printf("This thread's id is %u \n", (unsigned int)pthread_self()); printf("The process原创 2016-08-09 10:13:10 · 334 阅读 · 0 评论 -
linux进程通信之消息队列(二)
#include#include#include#include#include#includeint main(){ int pid,msqid;//后者为消息队列识别代号 struct msgbuf { long mtype;//消息类型 char mtext[20];//消息内容 }send_buf,receive原创 2016-08-09 10:04:17 · 315 阅读 · 0 评论 -
linux进程通信之消息队列
/* msend.c */#include #include #include #include int main(){ int msqid; key_t msgkey; struct msgbuf { long mtype;原创 2016-08-09 09:58:59 · 506 阅读 · 0 评论 -
linux进程通信之共享内存
#include #include #include #include #include #include #include #include #include #define PERM S_IRUSR|S_IWUSR/* 共享内存 */int main(int argc,char **argv) { int shmid; char *p_addr,*c_add原创 2016-08-09 09:54:32 · 522 阅读 · 0 评论 -
linux平台下基于C语言实现遍历文件目录
#include #include #include #include #include #include #include #include #include /* 文件大小和修改时间 */static int get_file_size_time(const char *filename){ struct stat statbuf; /* 判断未打开文件 */原创 2016-08-03 10:04:48 · 3159 阅读 · 0 评论 -
linux平台C语言打开文件
#include #include #include #include #include int main(int argc ,char *argv[]){ int fd; if(argc<2){ puts("please input the open file pathname!\n"); exit(1); }原创 2016-08-03 09:56:19 · 1865 阅读 · 0 评论 -
linux 平台下C语言创建文件
#include #include #include #include #include void create_file(char *filename){ if(creat(filename,0755)<0){ printf("create file %s failure!\n",filename); exit(EXIT_F原创 2016-08-03 09:54:34 · 11113 阅读 · 2 评论 -
linux C遍历指定目录下面的文件
#include #include #include #include #include void print_usage(void);void print_usage(void){printf("Usage: test dirname\n");}int main(int argc,char *argv[]){DIR * dp;struct dirent *file原创 2016-08-03 09:51:19 · 1451 阅读 · 0 评论 -
linux进程通信之pipe
#include #include #include #include #include int main(){ int pipe_fd[2]; pid_t pid; char buf_r[100]; char* p_wbuf; int r_num; memset(buf_r,0,sizeof(buf_r)); if(pipe(pipe_fd)<0) {原创 2016-08-05 15:20:53 · 431 阅读 · 0 评论 -
linux进程间通信之信号
#include #include #include //信号处理函数void my_func(int sign_no){ if(sign_no==SIGINT) printf("I have get SIGINT\n"); else if(sign_no==SIGQUIT) printf("I have get SIGQUIT\n");}int main(){原创 2016-08-05 15:18:08 · 249 阅读 · 0 评论 -
linux进程通信之fifo
#include #include #include #include #include #include #include #define FIFO "/tmp/myfifo"main(int argc,char** argv){ char buf_r[100]; int fd; int nread; if((mkfifo(FIFO,O_CREAT|O_EXC原创 2016-08-05 15:13:58 · 376 阅读 · 0 评论 -
linux系统编程之kill进程
#include #include #include #include #include int main( void ){ pid_t childpid; int status; int retval; childpid = fork(); if ( -1 == childpid ) { perror( "f原创 2016-08-05 15:10:58 · 530 阅读 · 0 评论 -
linux 创建进程
#include #include #include #include #include #include #include /* 进程创建 */void main(void){ pid_t child; int status; printf("This will demostrate how to get child status\n"); /* 创建子进程 */原创 2016-08-05 15:09:11 · 343 阅读 · 0 评论 -
位运算以及用途详解
原文地址:http://blog.sina.com.cn/s/blog_634296930100q08m.html位运算是指按二进制进行的运算。在系统软件中,常常需要处理二进制位的问题。C语言提供了6个位操作运算符。这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型。C语言提供的位运算符列表:运算符 含义描述 & 按...原创 2019-03-22 17:33:01 · 2431 阅读 · 0 评论