文章分类 -  Linux系统编程/网络编程

摘要:终端: 一系列输入输出设备的总称。 重定向: 命令+> +重定向的文件名 判断系统软件是否安装的正规方法 sudo aptitude show +软件名 如:sudo aptitude show exuberant-ctags LINUX系统目录: bin: 存放二进制可执行文件。 boot: 存放 阅读全文
posted @ 2022-02-13 12:51 黑马金牌编程 阅读(60) 评论(0) 推荐(0)
摘要:静态库制作步骤: 对空间要求低,而时间要求高的核心程序中。 1.将.c生成.o文件 gcc -c add.c -o add.o 2.使用ar工具制作静态库 ar rcs lib库名.a add.o sub.o div.o 如下图所示: 3.编译静态库到可以执行文件中: gcc test.c lib库 阅读全文
posted @ 2022-02-13 12:51 黑马金牌编程 阅读(395) 评论(0) 推荐(0)
摘要:makefile:管理项目 命名:makefile Mskefile make 命令 1个规则: 目标:依赖条件 (一个tab缩进)命令 1.目标的时间必须晚于依赖条件的时间,否则,跟新目标 2.依赖条件如果不存在,找寻找的规则去产生依赖。 ALL:指定makefile的终极目录。 2个函数: sr 阅读全文
posted @ 2022-02-13 12:51 黑马金牌编程 阅读(59) 评论(0) 推荐(0)
摘要:传入参数: 1.指针作为函数参数。 2.通常有const关键字修饰。 3.指针指向有效区域,在函数内部做读操作。 传出参数: 1.指针作为函数参数。 2.在函数调用之前,指针指向的空间可以无意义,但必须有效。 3.在函数内部,做写操作。 4.函数调用结束后,充当函数返回值。 传入传出参数: 1.指针 阅读全文
posted @ 2022-02-13 12:51 黑马金牌编程 阅读(326) 评论(0) 推荐(0)
摘要:缓冲区(Buffer): 就是在内存中预留指定大小的存储空间用来对输入/输出(I/O)的数据作临时存储,这部分预留的内存空间就叫做缓冲区。 优点: 1、减少实际的物理读写次数 2、缓冲区在创建时就被分配内存,这块内存区域一直被重用,可以减少动态分配和回收内存的次数 read函数: ssize_t r 阅读全文
posted @ 2022-02-13 12:51 黑马金牌编程 阅读(485) 评论(0) 推荐(0)
摘要:1.先来先服务FCFS和短作业优先SJF进程调度算法2.时间片轮转RR进程调度算法3.预防进程死锁的银行家算法4.动态分区分配算法5.虚拟内存页面置换算法6.磁盘调度算法 原文链接:https://blog.csdn.net/houchaoqun_xmu/article/details/555393 阅读全文
posted @ 2022-02-13 12:51 黑马金牌编程 阅读(51) 评论(0) 推荐(0)
摘要:gdb调试: 设置父进程调试路径:set follow-fork-mode parent 设置子进程调试路径:set follow-fork-mode child exec函数族: 使用进程执行某一程序。成功无返回值,失败返回-1 int execlp(const char *file,const 阅读全文
posted @ 2022-02-13 12:51 黑马金牌编程 阅读(241) 评论(0) 推荐(0)
摘要:munmap函数的使用方式: int munmap(void *addr,size_t length); 释放映射区 addr:mmap 的返回值 length:大小 使用注意事项: 1.用于创建映射区的文件大小为0,实际指定非0大小创建映射区,出“总线错误”。 2.用于创建映射区的文件大小为0,实 阅读全文
posted @ 2022-02-13 12:51 黑马金牌编程 阅读(169) 评论(0) 推荐(0)
摘要:函数 作用:讲一段经常使用的代码封装起来,减少重复代码。 一个较大的程序,一般分为若干个程序块,每个模块实现特定的功能。 函数的定义:分为五个步骤 1、返回值类型:一个函数可以返回一个值。在函数定义 2、函数名:给函数起个名称。 3、参数列表:使用该函数时,传入的数据。 4、函数体语句:花括号内的代 阅读全文
posted @ 2022-02-13 12:51 黑马金牌编程 阅读(802) 评论(0) 推荐(0)
摘要:find命令:找文件 - type 按文件类型搜索 - name 按文件名搜索 - maxdepth 指定搜索深度 - size 按文件大小搜索 -如 find /home/itcast -size +20M -size-50M - atime、mtime\ctime - exec:将find搜索的 阅读全文
posted @ 2022-02-13 12:51 黑马金牌编程 阅读(32) 评论(0) 推荐(0)
摘要:gdb调试工具: -g:使用该参数编译可以执行文件,得到调试表 gdb ./a.out list: list 1 列出源码。根据源码指定 行号设置断点 b: b 20 在20行位置设置断点。 run/r:运行程序 n/next:下一条指令(会越过函数) s/step:下一条指令(会越过函数) p/p 阅读全文
posted @ 2022-02-13 12:51 黑马金牌编程 阅读(294) 评论(0) 推荐(0)
摘要:gcc编译: 4步骤: -I: 指定头文件所在目录 -c: 只做预处理、编译、汇编。得到 二进制文件!!! -o 命名生成后的文件 -g: 编译时添加调试语句。主要支持gdb调试。 -Wall: 显示所有警告信息 -D: 向程序中“动态”注册宏定义。 欢迎关注微信公众号(YQ编程) 阅读全文
posted @ 2022-02-13 12:51 黑马金牌编程 阅读(61) 评论(0) 推荐(0)
摘要:进程: 程序:死的。只占用磁盘空间。 --剧本 进程:活的。运行起来的程序。占用内存、CPU等系统资源。 --戏。 PCB进程控制块: 进程id 文件描述符 进程状态: 初始态、就绪态、运行态、挂起态、终止态 进程工作目录位置 *umask掩码 信号相关信息资源 用户id和组id fork函数: p 阅读全文
posted @ 2022-02-13 12:51 黑马金牌编程 阅读(55) 评论(0) 推荐(0)
摘要:目录操作函数: DIR*opendir(char *name); int closedir(DIR *dp); struct dirent *readdir(DIR *dp); struct dirent { inode char dname[256]; } 递归遍历目录:ls-R.c 1.判断命令 阅读全文
posted @ 2022-02-13 12:51 黑马金牌编程 阅读(91) 评论(0) 推荐(0)
摘要:open 函数: int open(char *pathname, int flags) #include <unistd.h> 参数: pathname:欲打开的文件路径名 flags: #include <fcntl.h> 文件打开方式:O_RDONLY|O_WRONLY|O_RDWR O_CR 阅读全文
posted @ 2022-02-13 12:51 黑马金牌编程 阅读(355) 评论(0) 推荐(0)
摘要:阻塞、非阻塞: 是设备文件、网络文件的属性。 产生阻塞的场景。 读设备文件。读网络文件。(读常规文件物阻塞概念) /dev/tty--终端文件。 open("/dev/tty",O_RDWR|O_NONBLOCK) 设置 /dev/tty 非阻塞状态。(默认为阻塞状态) fcnt1: int flg 阅读全文
posted @ 2022-02-13 12:51 黑马金牌编程 阅读(157) 评论(0) 推荐(0)
摘要:进程间通信的常用方式,特征 管道:简单 信号:开销小 mmap映射:非血缘关系进程间 socket:稳定 管道: 实现原理:内核借助环形队列机制,使用内核缓冲区实现。 创建管道文件: mkfifo +文件 特质: 1.伪文件 2.管道中的数据只能一次。 3.数据在管道中,只能单向流动 局限性: 1. 阅读全文
posted @ 2022-02-13 12:51 黑马金牌编程 阅读(71) 评论(0) 推荐(0)
摘要:waitpid函数: 指定某一个进程进行回收。 waitpid(-1,&status,0)==wait(&status); pid_t waitpid(pid_t pid,int *status,int options) 参数: pid: 指定回收的子进程pid >0:待回收的子进程pid -1:任 阅读全文
posted @ 2022-02-13 12:51 黑马金牌编程 阅读(229) 评论(0) 推荐(0)
摘要:错误处理函数: 封装目的: 在server.c编程过程中突出逻辑,将出错处理与逻辑分开,可以直接跳转man手册。 【wrap.c】 【wrap.h】 存放网络通信相关常用 自定义函数 存放 网络通信相关常用 自定义函数原型(声明)。 命名方式:系统调用函数,处理出错场景。 如:Listen()、Ac 阅读全文
posted @ 2022-02-13 12:49 黑马金牌编程 阅读(24) 评论(0) 推荐(0)
摘要:TCP通信和UDP通信各自的优缺点: TCP:面向连接,可靠数据包传输。对于不稳定的网络层,采取完全弥补的通信方式。——丢包重传 优点: 稳定。 数据流量稳定、速度稳定、顺序 缺点: 传输速度慢。效率低。开销大。 使用场景:数据的完整性要求较高,不追求效率。 大数据传输、文件传输 UDP:无连接的, 阅读全文
posted @ 2022-02-13 12:49 黑马金牌编程 阅读(176) 评论(0) 推荐(0)