还剩29页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
系统的编程Unix C欢迎来到系统的编程世界!Unix C程序的基本结构C头文件主函数函数体包含程序所需的函数和数据定义程序执行的入口点包含程序逻辑和代码基本操作I/O标准输入标准输出12从键盘获取数据将数据输出到终端标准错误3输出错误信息文件操作打开文件读取文件使用函数打开文件使用函数读取文件内容open read写入文件关闭文件使用函数写入文件内容使用函数关闭文件write close信号处理信号异步事件,例如中断、错误信号处理函数处理信号的函数信号处理机制系统如何处理信号进程管理进程1正在执行的程序进程创建2使用函数创建子进程fork进程终止3使用函数终止进程exit进程间通信4进程之间交换数据线程编程线程1轻量级进程,共享内存空间线程创建2使用函数创建线程pthread_create线程同步3协调线程之间的数据访问网络编程123套接字协议网络编程网络通信端点、实现网络应用程序TCP/IP UDP内存管理堆栈动态内存分配区域函数调用和局部变量内存泄漏未释放的动态内存动态内存分配malloc freerealloc分配内存空间释放内存空间调整内存空间大小命令行参数解析argv[]1存放命令行参数的数组argc2命令行参数的个数参数解析3使用循环遍历参数系统调用内核用户空间系统调用接口操作系统的核心,负责管理系统资源应用程序运行的区域应用程序访问内核的接口目录和文件属性文件类型文件权限文件属性普通文件、目录、链接读、写、执行权限大小、创建时间、修改时间定时器定时器定时执行任务设置定时器使用函数设置定时器setitimer定时器事件定时器到期后触发的事件共享内存共享内存创建共享内存访问共享内存多个进程共享的内存区域使用函数创建共享内存使用函数映射共享内存shmget shmat消息队列发送消息接收消息使用函数发送消息使用函数接收消息msgsnd msgrcv消息队列存储消息的队列信号量信号量1控制对共享资源的访问创建信号量2使用函数创建信号量semget信号量操作3使用函数操作信号量semop同步4确保共享资源的安全访问进程间通信管道消息队列12单向通信,父子进程之间进程间异步通信共享内存信号量34进程间直接共享内存控制对共享资源的访问套接字编程套接字1网络通信端点创建套接字2使用函数创建套接字socket绑定地址3使用函数绑定地址bind监听连接4使用函数监听连接listen编程UDP123无连接不可靠高效数据包独立发送和接收数据包可能丢失或乱序适用于实时通信编程TCP面向连接可靠建立连接后才能发送数据保证数据完整性和顺序流量控制控制数据传输速率多线程网络编程创建线程池1创建多个线程处理连接分配任务2将连接分配给空闲线程处理连接3每个线程处理一个连接异步I/O异步I/O不阻塞当前线程事件循环等待事件I/O回调函数处理事件I/O文件锁文件锁获取锁释放锁防止多个进程同时修改文件使用函数获取文件锁使用函数释放文件锁fcntl fcntl守护进程守护进程创建守护进程在后台运行的进程使用函数创建子进程,fork并脱离父进程守护进程特点无终端、无会话、无父进程错误处理错误码错误信息错误处理策略系统调用返回的错误代码使用函数获取错误信息记录错误日志、提示用户strerror代码性能优化内存优化优化CPU减少内存使用提高代码执行效率网络优化减少网络延迟安全编程输入验证1防止注入攻击内存安全2防止缓冲区溢出权限控制3限制进程权限加密4保护敏感数据库函数C字符串操作数学函数
12、、、、strcpy strlenstrcat sqrtpow sin文件操作
3、、fopen freadfwrite第三方库的使用第三方库1提供扩展功能和代码复用安装库2使用包管理器或编译安装使用库3包含头文件,链接库文件编程最佳实践12代码规范错误处理统一代码风格妥善处理异常3代码复用使用函数和库。
个人认证
优秀文档
获得点赞 0