首页
Python
Java
前端
数据库
Linux
Chatgpt专题
开发者工具箱
uinx专题
Linux/Uinx 系统编程:getopt()函数用法
Linux/Uinx 系统编程:getopt()函数用法 getopt() 函数描述 getopt()函数是用来分析命令行参数的,该函数由Unix标准库提供,包含在<unistd.h>头文件中。 函数原型 #include <unistd.h>int getopt(int argc, char * const argv[], const char *optstring);extern
阅读更多...
Linux/Uinx 系统编程:进程管理(1)
Linux/Uinx 系统编程:进程管理(1) 文章目录 Linux/Uinx 系统编程:进程管理(1)什么是进程进程来源INIT 和 守护进程登录进程sh进程进程的执行模式进程管理的系统调用关于syscall中参数b,c,d的作用fork()进程执行顺序 nice()sched_yield 进程终止正常终止wait() 等待子进程终止 异常终止等待子进程终止 在学习编程内容
阅读更多...
Linux/Uinx Makefile介绍以及使用方法和代码演示
Linux/Uinx Makefile介绍以及使用方法和代码演示 在写完我们的C语言程序之后,我们通常可以使用shell脚本来编译和链接C语言程序的源文件,但是这种方式有一个缺点:当我们更改了几个源文件的名称之后,shell脚本就会编译失败,为了解决这种问题,我们可以使用Makefile,自动有选择的执行编译链接。 makefile 格式 一个make文件由一系列目标项、依赖项、规则组成。
阅读更多...
Linux/Uinx 什么是栈帧?
什么是栈帧? 栈帧是计算机内存中的一个独立区域,用于存储程序函数调用过程中的局部变量、参数和返回地址。每当一个函数被调用时,都会在栈上创建一个新的栈帧。函数执行完毕后,对应的栈帧将被销毁。栈帧的概念有助于理解程序函数调用的工作原理以及如何管理内存。 以下是关于栈帧的一些关键点: 栈结构:栈帧位于程序调用栈(Call Stack)上,遵循后进先出(LIFO)的原则。最近被调用的函数的栈帧位于栈
阅读更多...
Linux/Uinx Socket select(3)
select系统调用是用来让我们的程序监视多个文件描述符(file descrīptor)的状态变化的。程序会停在select这里等待,直到被监视的文件描述符有某一个或多个发生了状态改变。select()的机制中提供一fd_set的数据结构,实际上是一long类型的数组, 每一个数组元素都能与一打开的文件描述符(不管是Socket描述符,还是其他 文件或命名管道或设备描述符)建立联系,建立联系的工
阅读更多...
Linux/Uinx Socket select(2)
Linux select()详解 select系统调用是用来让我们的程序监视多个文件句柄(file descriptor)的状态变化的。程序会停在select这里等待,直到被监视的文件句柄有某一个或多个发生了状态改变。 文件在句柄在Linux里很多,如果你man某个函数,在函数返回值部分说到成功后有一个文件句柄被创建的都是的,如man socket可以看到“Onsu
阅读更多...
Linux/Uinx Socket select(1)
Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞(所谓非阻塞方式
阅读更多...