
C和C++
文章平均质量分 81
peixun123
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C语法总结 预处理器
预处理器可以在编译前处理C程序//include 指令告诉预处理器打开一个特定的文件#include <stdio.h>//用define 指令定义了一个宏,用来代表其他东西的名字#define PI 3.14//可以用 / 符号换行#define DISK_CAPACITY (SIDES * ...原创 2014-06-29 11:30:08 · 141 阅读 · 0 评论 -
UNIX环境高级编程 高级进程间通讯
相关函数列表//下面函数用来创建一对无命名的,相互连接的UNIX域套接字#include <sys/socket.h>int socketpair(int domain, int type, int protocol, int sockfd[2]);//sockaddr_un结构体如下struct sockaddr_un { sa_fa...原创 2014-09-27 17:37:08 · 151 阅读 · 0 评论 -
UNIX网络编程 套接字编程介绍
打印当前机器是小头派还是大头派类型注意,如果没有加这两个头文件#include <stdio.h>#include <stdlib.h>编译时候会报 警告:隐式声明与内建函数‘printf’不兼容 这个错误编译: gcc -o byteorder byteorder.c#include <stdio.h&...原创 2015-11-02 20:19:24 · 93 阅读 · 0 评论 -
UNIX网络编程 基本TCP套接字编程
一段打印客户端的ip和端口,并返回一段当前时间的代码,客户端通过telnet就可以连接了#include <stdio.h>#include <stdlib.h>#include <netinet/in.h>#include <unistd.h>#include <fcntl.h>#includ...原创 2015-11-04 21:23:31 · 131 阅读 · 0 评论 -
UNIX网络编程 TCP客户/服务器程序示例
...............原创 2015-11-17 12:13:46 · 134 阅读 · 0 评论 -
UNIX网络编程 I/O复用 select和poll函数
................原创 2015-11-17 12:14:38 · 110 阅读 · 0 评论 -
UNIX网络编程 套接字选项
影响套接字选项的函数getsockop 和 setsockop函数fcntlioctl getsockopt 和 setsockopt//其中sockfd必须指向一个打开套接字描述符,level(级别)指定系统中解释选项的代码或//为通/用套接字代码,或为某个特定于协议的代码,optval是一个指向某个变量(*optval)//的指针,setsock...原创 2015-11-17 12:38:21 · 288 阅读 · 0 评论 -
UNIX网络编程 基本UDP套接字编程
..............原创 2015-11-24 20:05:28 · 144 阅读 · 0 评论 -
UNIX网络编程 名字与地址转换
..............原创 2015-11-24 20:12:20 · 143 阅读 · 0 评论 -
UNIX网络编程 守护进程和inetd超级服务器
守护进程(daemon)是在后台运行且不与任何控制终端关联的进程。启动守护进程的方法1)在系统启动阶段,许多守护进程由系统初始化脚本启动,这些脚本通常位于/etc/目录或者以/etc/rc开头的某个 目录汇总。有若干个网络服务器通常从这些脚本启动:inetd超级服务器2)许多网络服务器由inetd超级服务器启动。inetd自身由一个脚本启动。inetd监听网络请求(...原创 2015-11-24 20:37:19 · 277 阅读 · 0 评论 -
UNIX网络编程 高级IO函数
套接字超时在设计套接字的IO操作上设置超时的方法有以下三种1)调用alarm,它在指定超时期慢时产生SIGALRM信号。这个方法设计信号处理,而信号处理在不同实现上 存在差异,而且可能干扰进程中现有的alram调用2)在select中阻塞等待I/O(select有内置的时间限制),以此代替直接阻塞在read或者write调用上3)使用交心的SO_RCVTIMEO...原创 2015-12-02 15:13:11 · 226 阅读 · 0 评论 -
UNIX网络编程 unix域协议
.......原创 2015-12-09 13:24:01 · 148 阅读 · 0 评论 -
UNIX网络编程 非阻塞式I/O
.......原创 2015-12-09 13:25:22 · 145 阅读 · 0 评论 -
UNIX网络编程 ioctl操作
..............原创 2015-12-09 13:25:58 · 127 阅读 · 0 评论 -
UNIX网络编程 路由套接字
..原创 2015-12-09 13:27:55 · 104 阅读 · 0 评论 -
UNIX网络编程 密钥管理套接字
...原创 2015-12-09 13:28:30 · 200 阅读 · 0 评论 -
程序的加载和链接
hello.h #ifndef HELLO_H #define HELLO_H void hello(const char *name); #endif //HELLO_H hello.c#include <stdio.h> void hello(const char *name) { printf("Hell...原创 2018-06-04 20:29:25 · 380 阅读 · 0 评论 -
UNIX环境高级编程 网络IPC:套接字
相关函数列表//创建一个套接字#include <sys/socket.h>int socket(int domain, int type, int protocol);//套接字是双向的,采用下面函数来禁止一个套接字的I/O#include <sys/socket.h>int shutdown(int sockfd, int h...原创 2014-09-27 17:36:29 · 149 阅读 · 0 评论 -
UNIX环境高级编程 进程间通讯
相关函数列表//管道#include <unistd.h>int pipe(int fd[2]);//标准I/O库提供了两个函数,实现的操作是创建一个管道fork一个子进程关闭未//使用的管道端,执行一个shell运行命令,然后等待命令终止//type类似fopen函数,有"r","w"或者"rw"等#include <stdio....原创 2014-09-27 17:35:52 · 192 阅读 · 0 评论 -
C语法总结 数组和指针
数组#define N 10int a[N];for(int i=0;i<N;i++) { a[i] = 0;}//初始化,没有被初始化到的数组下标就被设置为0int a[10] = {1,2,3,4,5};//等价于int a[10] = {1,2,3,4,5,0,0,0,0,0};//也可以写成入如下形式相当于把整个数组全部赋值...原创 2014-07-01 21:48:56 · 223 阅读 · 0 评论 -
C语法总结 结构联合枚举
结构//结构变量的声明struct { int number; char name[NAME_LEN+1]; int on_hand;} part1, part2;//初始化struct { int number; char name[NAME_LEN+1]; int on_hand;} part1 ...原创 2014-07-06 17:39:37 · 254 阅读 · 0 评论 -
C语法总结 底层设计和声明
位运算符使用底层技术进行一些位操作,可以编写加密,视频程序,以及需要高速执行或高效利用空间的程序非常有用。但是过度依赖底层操作会导致程序丧失可移植性。如果一定要使用尽量将操作限定在特定的模块中而不要分散在各处。符号含义<<左移位>>右移位~按位求反&按位与^按位异或|按...原创 2014-07-08 23:14:06 · 161 阅读 · 0 评论 -
C语法总结 基础语法和编写大型程序
源文件和头文件源文件的扩展名是 .c 结尾,每个源文件包含函数和变量定义,其中一个源文件包含main()函数多个源文件可以共享一些变量和函数,通过#include指令包含进来,这种包含的文件就是 头文件,扩展名是.h//用于引入c语言自身的系统头文件#include <文件名>//用于引进自定义的头文件//不要在自定义的头文件中使用尖括号,系...原创 2014-07-14 22:33:26 · 201 阅读 · 0 评论 -
UNIX环境高级编程 文件I/O
#include <fcntl.h>int open(const char *path, int oflag, /* mode_t mode */ );int openat(int fd, const char *path, int oflag, /* mode_t mode */ );//返回文件描述符STDIN_FILENO //...原创 2014-08-23 18:34:35 · 169 阅读 · 0 评论 -
UNIX环境高级编程 文件类型
相关函数列表//stat获取文件的状态信息//fstat 根据fd返回相关信息//lstat 返回该符号链接有关信息//fstatat为一个相当于当前打开目录的路径名返回文件统计信息#include <sys/stat.h>int stat(const char *restrict pathname, struct stat *restri...原创 2014-08-26 13:10:45 · 208 阅读 · 0 评论 -
UNIX环境高级编程 标准I/O库
相关函数列表//设置流的定向#include <stdio.h>#include <wchar.h>int fwide(FILE *fp, int mode);//标准输入,标准输出,标准错误#include <stdio.h>//stdin,stdout,stderr//设置缓冲区#include &...原创 2014-08-31 16:48:42 · 281 阅读 · 0 评论 -
UNIX环境高级编程 系统数据文件和信息
相关函数列表//passwd结构体 /etc/passwdstruct passwd { char *pw_name; //用户名 char *pw_passwd; //加密口令 uid_t pw_uid; //数值用户ID gid_t pw_gid; //...原创 2014-09-02 08:27:07 · 178 阅读 · 0 评论 -
UNIX环境高级编程 进程环境
相关函数列表//退出函数#include <stdlib.h>void exit(int status);void _Exit(int status);#include <unistd.h>void _exit(int status);//按照ISO C的规定,一个进程可以登记多至32个函数,这些函数将由exit自动//调...原创 2014-09-06 22:35:43 · 169 阅读 · 0 评论 -
UNIX环境高级编程 进程控制
相关函数列表//下列函数返回一个进程的标识符#include <unistd.h>pid_t getpid(void);pid_t getppid(void);uid_t getuid(void);uid_t geteuid(void);gid_t getgid(void);gid_t getegid(void);//创建新进程...原创 2014-09-07 22:07:49 · 158 阅读 · 0 评论 -
UNIX环境高级编程 进程关系
相关函数列表//返回调用进程的进程组ID#include <unistd.h>pid_t getpgrp(void);pid_t getpgid(pid_t pid);//getpgid(0) 等于 getpgrp()//创建一个新会话#include <unistd.h>pid_t setsid(void);pi...原创 2014-09-14 15:04:43 · 184 阅读 · 0 评论 -
UNIX环境高级编程 信号
相关函数列表//系统信号机制最简单的接口是signal函数#include <signal.h>void (*signal(int signo, void (*func)(int))) (int);//kill可以将信号发送给进程或进程组,raise允许进程向自身发送信号#include <signal.h>int kill(pi...原创 2014-09-16 12:26:25 · 193 阅读 · 0 评论 -
UNIX环境高级编程 线程
相关函数列表//对两个线程ID进行比较//若相等返回非0数值,否则返回0#include <pthread.h>int pthread_equal(pthread_t tid1, pthread_t tid2);//获得线程自身的ID#include <pthread.h>pthread_t pthread_self(void...原创 2014-09-16 12:29:24 · 144 阅读 · 0 评论 -
UNIX环境高级编程 线程控制
相关函数列表//线程属性,pthread_attr_t结构体保护的就是操作系统实现支持的所有线程属性//下面所有函数都是是成功返回0,否则返回错误编号#include <pthread.h>int pthread_attr_init(pthread_attr_t *attr);int pthread_attr_destroy(pthread_attr...原创 2014-09-23 22:28:50 · 197 阅读 · 0 评论 -
UNIX环境高级编程 守护进程
相关函数列表//syslog函数#include <syslog.h>void openlog(const char *ident, int option, int facility);void syslog(int priority, const char *format,...);void closelog(void);int setl...原创 2014-09-24 12:17:19 · 196 阅读 · 0 评论 -
UNIX环境高级编程 高级I/O
相关函数列表//调用open函数时指定O_NONBLOCK参数即可打开非阻塞I/O//记录锁#include <fcntl.h>int fcntl(int fd, int cmd, ... /* struct flock *flockptr */ );//锁记录的 flock结构体struct flock { short l_t...原创 2014-09-27 17:35:17 · 254 阅读 · 0 评论 -
虚拟内存
参考认真分析mmap:是什么 为什么 怎么用从内核文件系统看文件读写过程原创 2018-06-07 13:52:23 · 332 阅读 · 0 评论