
Linux编程
文章平均质量分 61
码农新猿类
正在努力学习成为一个程序员,懂得不多,文章都是学习过程中留下记录
展开
-
Linux的MySQL头文件和找不到头文件问题解决
2、点击“跨平台”->“连接管理器”->“远程标头IntelliSense” ->“更新”如果以上都解决不了可能是MySQL没有安装好,重装吧。1、“项目”->“清除浏览数据库错误”2、“项目”->“重新扫描解决方案”刚连接时我们可能会出现这个问题。1、点击“工具”->“选项”原创 2025-05-18 21:39:59 · 452 阅读 · 0 评论 -
线程池技术
线程池就是在任务还没有到来前,预先创建一定数量的线程放入空闲列表。这些线程都是处于阻塞状态,不消耗CPU,但占用较小的内存空间。当新任务到来时,缓冲池选择一个空线程,把任务传入此线程中运行;如果缓冲池已经没有空闲线程,则新建若干个线程。当系统比较空闲时,大部分线程都一直初一暂停状态,线程池自动销毁一部分线程,回收系统资源。原创 2025-05-07 23:06:28 · 469 阅读 · 0 评论 -
线程池封装
【代码】线程池封装。原创 2025-05-07 23:05:53 · 563 阅读 · 0 评论 -
socket-IO复用技术
1、阻塞I/O2、非阻塞I/O3、I/O复用(select和poll)4、信号驱动I/O5、异步I/O。原创 2025-05-01 21:16:59 · 547 阅读 · 0 评论 -
epoll函数
实例中监控的文件描述符上的事件发生。当有事件发生时,该函数会返回发生事件的文件描述符数量,并将这些事件的信息存储在。实例进行控制操作,比如添加、修改或删除要监控的文件描述符及其对应的事件。:表示等待指定的毫秒数,如果在这段时间内没有事件发生,则返回。成功时返回发生事件的文件描述符数量。数组的最大元素个数,即最多能存储的事件数量。:表示对应的文件描述符可写(可以写入数据)。结构体的指针,用于指定要监控的事件类型。:表示对应的文件描述符可读(有数据可读)。实例,返回一个文件描述符,后续的。原创 2025-05-01 21:16:31 · 801 阅读 · 0 评论 -
Linux多线程技术
在一个程序里的多执行路线就是线程。线程是进程中的最小执行单元,可理解为 “进程内的一条执行流水线”。原创 2025-04-25 23:03:46 · 557 阅读 · 0 评论 -
互斥量函数组
成功时返回 0,出错时返回错误码。成功时返回 0,出错时返回错误码。成功时返回 0,出错时返回错误码。成功时返回 0,出错时返回错误码。:指向互斥量属性对象的指针,若为。:指向要初始化的互斥量的指针。:指向要锁定的互斥量的指针。:指向要解锁的互斥量的指针。:指向要销毁的互斥量的指针。原创 2025-04-27 22:10:25 · 241 阅读 · 0 评论 -
信号量函数
pshared:表示信号量的共享方式,0 表示在同一进程的多个线程间共享,非 0 表示在不同进程间共享。归还自己占有的一切资源,在清理信号量的时候如果还有线程在等待他,用户就会收到一个错误。函数调用成功,它将返回 0,表示信号量的值已经成功增加,并且可能唤醒了正在等待该信号量的线程。sem:初始化的信号量对象的指针作为参数,用来改变该对象的值。sem:初始化的信号量对象的指针作为参数,用来改变该对象的值。sem:初始化的信号量对象的指针作为参数,用来改变该对象的值。sem:指向要初始化的信号量的指针。原创 2025-04-27 22:00:38 · 414 阅读 · 0 评论 -
客户端本地搭建
主要用于客户端套接字向服务器发起连接请求。原创 2025-04-22 23:22:07 · 205 阅读 · 0 评论 -
Linux中的信号量
信号量是一种用于多进程 / 线程同步的整数变量,用于控制对共享资源的访问。凡是遇到内存操作就可以实现加锁。原创 2025-04-20 23:08:02 · 782 阅读 · 0 评论 -
Linux中的管道
管道是一种进程间通信的方式。管道是一种半双工通信机制,数据只能读或写,如果要读写同时进行就要创建两个管道。原创 2025-04-18 23:08:19 · 260 阅读 · 0 评论 -
服务器本地搭建
它用于创建一个新的套接字(socket)。原创 2025-04-14 22:38:20 · 1672 阅读 · 0 评论 -
网络基础和socket
1、创建链接时会判断通信双方是否在线(面向连接)2、传输介质:IO流(字节流)3、传输大小无限制。原创 2025-04-14 21:59:57 · 380 阅读 · 0 评论 -
共享内存(与消息队列相似)
共享内存在进程间传输数据的效率极高。概念:在物理内存中开辟一块区域,让多个进程能将其映射到各自虚拟地址空间,实现对同一块内存的共享访问。原理:先由进程创建共享内存获标识符,其他进程再将其映射到自身地址空间,然后进程就能像访问普通内存一样对其进行读写操作。优点:数据传输快,因为无需像其他通信方式那样进行数据复制;能支持大量数据传输,适合对大块数据的频繁访问。缺点:需进程自行处理同步和互斥问题,以避免数据冲突;使用不当易引发程序错误和内存泄漏,且不支持跨机器的进程通信。应用场景。原创 2025-04-11 00:14:02 · 926 阅读 · 0 评论 -
消息队列(IPC技术)
msgget函数的主要功能是创建一个新的消息队列或者获取一个已经存在的消息队列的标识符。消息队列允许不同的进程通过发送和接收消息来进行通信,是一种强大且灵活的进程间通信方式。msgsnd是一个在 Unix 和类 Unix 系统中用于消息队列操作的系统调用函数,其主要功能是把消息添加到指定的消息队列里。它是 Unix 和类 Unix 系统中用于消息队列操作的系统调用,主要功能是从指定的消息队列中接收消息。原创 2025-04-10 23:31:42 · 1149 阅读 · 0 评论 -
命名管道的创建与使用(mkfifo函数)
它可以在不相关的进程之间进行通信,因为它有一个对应的文件名,存储在文件系统中,进程可以通过该文件名来访问它。原创 2025-03-30 20:59:31 · 565 阅读 · 0 评论 -
匿名管道的创建与使用(pipe函数)
主要用于在进程间创建管道以实现通信。原创 2025-03-30 19:48:21 · 281 阅读 · 0 评论 -
信号集操作函数
set:指向 sigset_t 类型的信号集,该信号集包含了要操作的信号。若 set 为 NULL,则不改变当前的信号屏蔽字,仅把当前的信号屏蔽字保存到 oldset 中。oldset:指向 sigset_t 类型的信号集,用于保存调用 sigprocmask 之前的信号屏蔽字。SIG_UNBLOCK:从当前的信号屏蔽字中移除 set 所指向的信号集中的信号,也就是解除对这些信号的阻塞。SIG_BLOCK:把 set 所指向的信号集中的信号添加到当前的信号屏蔽字里,即阻塞这些信号。原创 2025-03-29 18:25:34 · 801 阅读 · 0 评论 -
sigqueue库函数
sigqueue是一个在类 Unix 系统中用于进程间通信的库函数,它允许一个进程向另一个进程发送信号,并且可以附带额外的数据。原创 2025-03-28 11:39:27 · 316 阅读 · 0 评论 -
sigaction库函数
信号分为两种1、无参信号:signal - kill2、带参信号:sigaction - sigqueuesigaction函数用于检查或修改与指定信号相关联的处理动作,它比signal函数更具可移植性和灵活性。原创 2025-03-28 11:30:43 · 159 阅读 · 0 评论 -
kill发送信号
kill是一个系统调用函数,其主要功能是向进程或进程组发送信号。原创 2025-03-28 11:14:40 · 433 阅读 · 0 评论 -
signal库函数
signal是一个用于处理信号的库函数,它可以让进程对特定的信号设置相应的处理方式。原创 2025-03-28 11:14:04 · 178 阅读 · 0 评论 -
Linux中的信号
信号是UNIX系统响应某些状况而产生的事件,通常是因为某些错误条件而产生的,比如内存段冲突、浮点处理器错误或者非法指令等。信号模拟的是硬件中断方式,它的传递信息量很少,可以用来做进程间的通知或者错误的警告等。信号就是进程间通信的一种方式,它采用异步的工作方式。原创 2025-03-28 10:44:55 · 281 阅读 · 0 评论 -
waitpid函数说明
等待指定进程的状态发生变化,通常是等待子进程结束,适用于多个子进程的情况。与wait不同的是,wait是等待最先的子进程结束。原创 2025-03-28 10:29:49 · 292 阅读 · 0 评论 -
Linux进程状态
在多进程编程中,父进程创建子进程后,有时需要等待子进程执行完毕,获取子进程的退出状态,以确保资源的正确回收和程序逻辑的正确执行。wait函数就提供了这样的机制,它可以让父进程暂停执行,直到它的某个子进程终止,然后获取该子进程的终止状态信息。原创 2025-03-27 11:14:38 · 597 阅读 · 0 评论 -
fork系统调用
在操作系统里,进程是正在运行的程序的实例。fork()函数的作用是复制当前进程,生成一个新的进程,这个新进程被称作子进程,而原本的进程则是父进程。这两个进程(父进程和子进程)会从fork()调用处开始,并发执行后续代码。原创 2025-03-26 20:37:03 · 174 阅读 · 0 评论 -
GDB调试教程
这篇是用来保存一篇写的很好的GDB调试教程,后面用来学习。版权协议,转载请附上原文出处链接和本声明。版权声明:本文为博主原创文章,遵循。转载 2025-03-26 00:43:55 · 19 阅读 · 0 评论 -
lseek系统调用
偏移量,以字节为单位,用于指定文件偏移量的变化。可以是正值(表示向文件末尾方向移动)、负值(表示向文件开头方向移动)或零。:文件描述符,它标识了需要操作的文件。系统调用返回得到的。原创 2025-03-26 00:36:47 · 181 阅读 · 0 评论 -
VS访问Linux目录
结构体的指针,该结构体包含了目录中当前所指向条目的相关信息(比如文件名等)。,它是一个指向以 null 结尾的字符串的指针,该字符串表示目录条目的文件名。结构体中,通常包含的重要成员(不同系统可能略有差异)有。若出现错误,函数返回 -1,并且会设置。若目录流成功关闭,函数返回 0。,以此来标识已经遍历完整个目录的所有条目。打开成功:返回一个指针目录。函数返回,表示一个已打开的目录流。来指示具体的错误类型,例如。不是一个有效的目录流指针等。类型对象的指针,该对象由。成功:会返回一个指向。原创 2025-03-25 23:44:23 · 398 阅读 · 0 评论 -
read系统调用
buf:指向内存块的指针,从这个内存块中读取数据写入到文件中。成功:返回从该文件复制到的缓冲区中的字节数,文件结束返回0。数据已经读出,但会出现一些特殊字符是因为没有识别到\0或者是未读满。nbytes:从该文件复制到buf中的字节数。fd:读的文件的文件描述符。所以要注意\0的情况我们应该加一个-1。原创 2025-03-24 23:42:36 · 204 阅读 · 0 评论 -
write系统调用
至于为什么会有\00\00……这些呢是因为我设置了20个字节,没有写满就用这个来补,如果不想出现这个那么可以使用。fd:要写入的文件的文件描述符(类似于C中的FILE *fp)buf:指向内存块的指针,从这个内存块中读取数据写入到文件中。一般我们如何选用呢?文本文件一般用strlen,二进制文件一般用sizeof。nbytes:要写入文件的字节个数。成功:返回写入到文件中的字节个数。原创 2025-03-24 23:24:34 · 341 阅读 · 0 评论 -
open系统调用
以下为Linux编程从0开始的学习笔记。原创 2025-03-24 23:02:21 · 496 阅读 · 0 评论