logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

预处理详解

基本语法(使用方法)看几个例子:1、int main()return 0;这里会输出100,在预处理的过程中,会将代码中的MAX 替换成 100这里如果是这样int main()return 0;这里输出结果是7,而不是10这是因为预处理将N替换成了2+3,而不是替换成5;当然#define 还可以定义关键字或者符号等2、casecaseint main()int n = 0;CASE 1:;CA

文章图片
#c语言#c++#开发语言
【数据结构】——顺序表

当我们想要使⽤大量使⽤同⼀类型的数据时,通过⼿动定义⼤量的独立的变量对于程序来说,可读性非常差,我们可以借助数组这样的数据结构将⼤量的数据组织在⼀起,结构也可以理解为组织数据的方式。在使用完顺序表后,就要销毁顺序表,因为动态顺序表内存是动态开辟的,所以需要对动态内存进行释放,并将有效数据和空间容量个数置为0;到这里,顺序表的知识就完成了,学完这些,我们也要写顺序表的实践,就是通讯录——在下一篇进行

文章图片
#数据结构
【QT(九)】—— 窗口

本文介绍了Qt中主窗口QMainWindow的基本结构和使用方法。主要内容包括: 菜单栏(QMenuBar) 通过代码或UI界面创建菜单栏 添加菜单(QMenu)和菜单项(QAction) 设置分隔线和子菜单 处理菜单项点击事件 工具栏(QToolBar) 创建工具栏并添加到主窗口 添加带有图标的操作项(QAction) 设置工具栏停靠位置和允许区域 控制工具栏的浮动和移动特性 文章通过代码示例详

文章图片
#qt#系统架构#数据库
深入了解linux网络—— 网络编程基础

本文介绍了网络通信中的IP地址、端口号和socket编程基础。IP地址标识主机唯一性,端口号标识主机中的唯一网络进程。端口号范围分为知名端口号(0-1023)和动态分配端口号(1024-65535)。文章详细讲解了网络字节序概念及转换函数,并介绍了socket编程中的关键接口和数据结构,包括socket()、bind()等函数以及sockaddr、sockaddr_in结构体。最后说明了这些结构体

文章图片
#linux#网络#php
深入了解linux系统—— POSIX信号量

本文介绍了POSIX信号量及其在生产者-消费者模型中的应用。主要内容包括: POSIX信号量接口:sem_init初始化信号量,sem_destroy销毁信号量,sem_wait(P操作)申请信号量,sem_post(V操作)释放信号量。 基于环形队列实现生产者-消费者模型: 使用vector模拟环形队列,维护生产下标和消费下标 通过互斥锁保证生产者和消费者内部的互斥 使用两个信号量分别控制空位和

文章图片
#linux#运维#服务器
深入了解linux系统—— 线程控制

本文介绍了Linux系统中POSIX线程库(pthread)的基本使用,包括线程创建、终止、等待和分离等操作。主要内容包括:使用pthread_create创建线程,通过pthread_exit或pthread_cancel终止线程,利用pthread_join等待线程并获取返回值,以及使用pthread_detach分离线程。文章还演示了相关函数的调用方法,并比较了不同线程终止方式的特点。这些基

文章图片
#android#linux#服务器
深入了解linux系统—— 线程互斥

摘要:本文介绍了多线程编程中的互斥概念及其实现。首先通过模拟售票系统展示了多线程访问共享资源时可能出现的数据不一致问题,如负值票数。随后详细讲解了互斥量(mutex)的原理和使用方法,包括静态/动态初始化、加锁/解锁操作以及销毁互斥量。文章还分析了互斥量的底层实现机制,解释其如何保证原子性。最后给出了C++风格的互斥量封装实现,包括自动加锁/解锁的RAII机制。这些内容为正确处理多线程并发访问共享

文章图片
#linux#运维#服务器
深入了解linux系统—— System V之消息队列和信号量

System V IPC提供了三种进程间通信方式:共享内存、消息队列和信号量。消息队列通过内核维护的队列实现进程通信,使用msgget创建、msgctl管理、msgsnd发送和msgrcv接收消息。信号量本质是计数器,用于同步/互斥,通过semget创建、semctl控制、semop操作(P/V)。这些资源的生命周期随内核,需手动释放。共享内存无保护机制,信号量通过预定机制(申请时--,释放时++

文章图片
#android#开发语言#linux
深入了解linux系统—— 进程信号的保存

信号是操作系统中进程间通信的一种异步通知机制,用于通知进程发生了特定事件。文章介绍了信号的基本概念、分类(1-31号非实时信号和34-64号实时信号)、处理方式(默认、自定义和忽略)以及产生方式。重点阐述了通过终端按键产生信号(如Ctrl+C发送2号信号)和系统调用signal()来修改信号处理行为。还讨论了前台/后台进程的区别,以及如何通过jobs、fg、bg等命令管理后台进程。最后解释了操作系

文章图片
#android#linux#服务器
    共 25 条
  • 1
  • 2
  • 3
  • 请选择