当前位置: 首页 > news >正文

2402C++,C++使用单链列表

原文

#include <windows.h>
#include <malloc.h>
#include <stdio.h>//用于`列表项`的结构;第一个成员是`SLIST_ENTRY`结构,其他成员是数据.在此,数据只是测试
typedef struct _PROGRAM_ITEM {SLIST_ENTRY ItemEntry;ULONG Signature; 
} PROGRAM_ITEM, *PPROGRAM_ITEM;
int main( )
{ULONG Count;PSLIST_ENTRY pFirstEntry, pListEntry;PSLIST_HEADER pListHead;PPROGRAM_ITEM pProgramItem;//初化`列表头`为`MEMORY_ALLOCATION_ALIGNMENT`边界.pListHead = (PSLIST_HEADER)_aligned_malloc(sizeof(SLIST_HEADER),MEMORY_ALLOCATION_ALIGNMENT);if( NULL == pListHead ){printf("分配失败\n");return -1;}InitializeSListHead(pListHead);//在列表中插入`10`个项目.for( Count = 1; Count <= 10; Count += 1 ){pProgramItem = (PPROGRAM_ITEM)_aligned_malloc(sizeof(PROGRAM_ITEM),MEMORY_ALLOCATION_ALIGNMENT);if( NULL == pProgramItem ){printf("分配失败");return -1;}pProgramItem->Signature = Count;pFirstEntry = InterlockedPushEntrySList(pListHead, &(pProgramItem->ItemEntry)); }//从列表中删除`10`项,并显示签名.for( Count = 10; Count >= 1; Count -= 1 ){pListEntry = InterlockedPopEntrySList(pListHead);if( NULL == pListEntry ){printf("List is empty.\n");return -1;}pProgramItem = (PPROGRAM_ITEM)pListEntry;printf("Signature is %d\n", pProgramItem->Signature);//此例假定`SLIST_ENTRY`结构,是该结构的第一个成员.如果结构不遵循此约定,则必须在调用`free`函数前,计算结构的`起始地址`._aligned_free(pListEntry);}//刷新列表并验证项是否已消失.pListEntry = InterlockedFlushSList(pListHead);pFirstEntry = InterlockedPopEntrySList(pListHead);if (pFirstEntry != NULL){printf("Error: List is not empty.\n");return -1;}_aligned_free(pListHead);return 1;
}

相关文章:

2402C++,C++使用单链列表

原文 #include <windows.h> #include <malloc.h> #include <stdio.h>//用于列表项的结构;第一个成员是SLIST_ENTRY结构,其他成员是数据.在此,数据只是测试 typedef struct _PROGRAM_ITEM {SLIST_ENTRY ItemEntry;ULONG Signature; } PROGRAM_ITEM, *PPROGR…...

《Docker极简教程》--Docker服务管理和监控--Docker服务的监控

Docker监控的必要性在于确保容器化环境的稳定性、性能和安全性。以下是几个关键原因&#xff1a; 性能优化和故障排除&#xff1a;监控可以帮助识别容器化应用程序的性能问题&#xff0c;并快速进行故障排除。通过监控关键指标&#xff0c;如CPU利用率、内存使用、网络流量等&…...

C++初阶 | [八] (下) vector 模拟实现

摘要&#xff1a;vector 模拟实现讲解&#xff08;附代码示例&#xff09;&#xff0c;隐藏的浅拷贝&#xff0c;迭代器失效 在进行 vector 的模拟实现之前&#xff0c;我们先粗略浏览一下 stl_vector.h 文件中的源码来确定模拟实现的大体框架。 这里提供一些粗略浏览源码的技巧…...

信息安全计划

任何管理人员或人力资源专业人士都知道&#xff0c;除非彻底记录标准和实践&#xff0c;否则永远无法真正实施和执行标准和实践。正如您可能想象的那样&#xff0c;在保护您的网络、技术和数据系统免受网络威胁以及在发生这些事件时规划最及时、高效和有效的响应时&#xff0c;…...

【更新完毕】2024牛客寒假算法基础集训营6 题解 | JorbanS

文章目录 [A - 宇宙的终结](https://ac.nowcoder.com/acm/contest/67746/A)[B - 爱恨的纠葛](https://ac.nowcoder.com/acm/contest/67746/B)[C - 心绪的解剖](https://ac.nowcoder.com/acm/contest/67746/C)[D - 友谊的套路](https://ac.nowcoder.com/acm/contest/67746/D)[E …...

FL Studio All Plugins Edition2024中文完整版Win/Mac

FL Studio All Plugins Edition&#xff0c;常被誉为数字音频工作站&#xff08;DAW&#xff09;的佼佼者&#xff0c;是音乐制作人和声音工程师钟爱的工具。它集音频录制、编辑、混音以及MIDI制作为一体&#xff0c;为用户提供了从创作到最终作品输出的完整工作流程。这个版本…...

神经网络系列---归一化

文章目录 归一化批量归一化预测阶段 测试阶段γ和β&#xff08;注意&#xff09;举例 层归一化前向传播反向传播 归一化 批量归一化 &#xff08;Batch Normalization&#xff09;在训练过程中的数学公式可以概括如下&#xff1a; 给定一个小批量数据 B { x 1 , x 2 , … …...

2023 龙蜥操作系统大会演讲实录:《兼容龙蜥的云原生大模型数据计算系统——πDataCS》

本文主要分三部分内容&#xff1a;第一部分介绍拓数派公司&#xff0c;第二部分介绍 πDataCS 产品&#xff0c;最后介绍 πDataCS 与龙蜥在生态上的合作。 杭州拓数派科技发展有限公司&#xff08;简称“拓数派”&#xff0c;英文名称“OpenPie”&#xff09;是国内基础数据计…...

【Vue渗透】Vue站点渗透思路

原文地址 极核GetShell 前言 本文经验适用于前端用Webpack打包的Vue站点&#xff0c;阅读完本文&#xff0c;可以识别出Webpack打包的Vue站点&#xff0c;同时可以发现该Vue站点的路由。 成果而言&#xff1a;可能可以发现未授权访问。 识别Vue 识别出Webpack打包的Vue站…...

主数据管理是数字化转型成功的基石——江淮汽车案例分享

汽车行业数字化转型的背景 在新冠疫情导火索的影响下&#xff0c;经济全球化政治基础逐渐动摇。作为全球最大的汽车市场&#xff0c;我国的汽车市场逐渐由增量转为存量市场。 在数字化改革大背景下&#xff0c;随着工业4.0时代的到来&#xff0c;江淮汽车集团力争实现十四五数…...

【Spring连载】使用Spring Data访问 MongoDB(十一)----加密Encryption (CSFLE)

[TOC](【Spring连载】使用Spring Data访问 MongoDB&#xff08;十一&#xff09;----加密Encryption (CSFLE)) 一级目录 二级目录 三级目录...

【postgresql】数据表id自增与python sqlachemy结合实例

需求&#xff1a; postgresql实现一个建表语句&#xff0c;表名&#xff1a;student,字段id,name,age&#xff0c; 要求&#xff1a;每次添加一个数据id会自动增加1 在PostgreSQL中&#xff0c;您可以使用SERIAL或BIGSERIAL数据类型来自动生成主键ID。以下是一个创建名为stude…...

什么是索引?在 MySQL 中有哪些类型的索引?它们各自的优势和劣势是什么?

什么是索引&#xff1f;在 MySQL 中有哪些类型的索引&#xff1f;它们各自的优势和劣势是什么&#xff1f; 索引是数据库中用于帮助快速查询数据的一种数据结构。在 MySQL 中&#xff0c;索引可以显著提高查询性能&#xff0c;因为它允许数据库系统不必扫描整个表来找到相关数据…...

Docker安装与基础知识

目录 -----------------Docker 概述--------------------------- 容器化越来越受欢迎&#xff0c;因为容器是&#xff1a; Docker与虚拟机的区别&#xff1a; Docker核心概念&#xff1a; ●镜像 ●容器 ●仓库 -----------------安装 Docker--------------------------…...

搭建Facebook直播网络对IP有要求吗?

在当今数字化时代&#xff0c;Facebook直播已经成为了一种极具吸引力的社交形式&#xff0c;为个人和企业提供了与观众直接互动的机会&#xff0c;成为推广产品、分享经验、建立品牌形象的重要途径。然而&#xff0c;对于许多人来说&#xff0c;搭建一个稳定、高质量的Facebook…...

Qt开发:MAC安装qt、qtcreate(配置桌面应用开发环境)

安装qt-creator brew install qt-creator安装qt brew install qt查看qt安装路径 brew info qtzhbbindembp ~ % brew info qt > qt: stable 6.6.1 (bottled), HEAD Cross-platform application and UI framework https://www.qt.io/ /opt/homebrew/Cellar/qt/6…...

python学习网站

Python系列干货之——Python与设计模式 - 知乎 Python之23种设计模式_23种设计模式 python-CSDN博客 用python实现设计模式 — python-golang-web-guide 0.1 文档 python设计模式_Python六大原则&#xff0c;23种设计模式 - 掘金 Python 常用设计模式 Python入门 类class提…...

编程笔记 Golang基础 033 反射的类型与种类

编程笔记 Golang基础 033 反射的类型与种类 一、反射的类型和种类二、切片与反射三、集合与反射四、结构体与反射五、指针与反射六、函数与反射小结 反射机制的作用范围涵盖了几乎所有的类型和值的操作层面&#xff0c;它极大地增强了Go语言在运行时对于自身类型系统的探索和操…...

MySQL进阶篇2-索引的创建和使用以及SQL的性能优化

索引 mkdir mysql tar -xvf mysqlxxxxx.tar -c myql cd mysql rpm -ivh .....rpm yum install openssl-devel ​ systemctl start mysqld ​ gerp temporary password /var/log/mysqld.log ​ mysql -u root -p mysql> show variables like validate_password.% set glob…...

基于SVM的功率分类,基于支持向量机SVM的功率分类识别,Libsvm工具箱详解

目录 支持向量机SVM的详细原理 SVM的定义 SVM理论 Libsvm工具箱详解 简介 参数说明 易错及常见问题 完整代码和数据下载链接:基于SVM的功率分类,基于支持向量机SVM的功率分类识别资源-CSDN文库 https://download.csdn.net/download/abc991835105/88862836 SVM应用实例, 基于…...

KART-RERANK模型解析:深入理解Transformer在重排序任务中的应用

KART-RERANK模型解析&#xff1a;深入理解Transformer在重排序任务中的应用 如果你对搜索技术感兴趣&#xff0c;可能听说过BM25、TF-IDF这些传统排序算法。它们就像图书馆的老式卡片目录&#xff0c;能帮你找到相关书籍&#xff0c;但很难理解“深度学习在自然语言处理中的应…...

别只用来抓包了!Burp Suite的Filter、Comparer和Decoder模块,帮你高效分析漏洞与调试API

深度挖掘Burp Suite三大隐藏利器&#xff1a;Filter、Comparer与Decoder的高阶应用 Burp Suite作为安全测试领域的瑞士军刀&#xff0c;其核心模块Proxy和Intruder早已被广泛使用。但真正的高手往往更善于利用那些被多数人忽视的辅助模块——Filter、Comparer和Decoder。这些工…...

终极指南:如何用EverythingToolbar实现Windows文件搜索效率翻倍 [特殊字符]

终极指南&#xff1a;如何用EverythingToolbar实现Windows文件搜索效率翻倍 &#x1f680; 【免费下载链接】EverythingToolbar Everything integration for the Windows taskbar. 项目地址: https://gitcode.com/gh_mirrors/eve/EverythingToolbar 你是否厌倦了在Windo…...

如何用NSC_BUILDER高效管理你的Switch游戏文件库:从新手到高手的完整指南

如何用NSC_BUILDER高效管理你的Switch游戏文件库&#xff1a;从新手到高手的完整指南 【免费下载链接】NSC_BUILDER Nintendo Switch Cleaner and Builder. A batchfile, python and html script based in hacbuild and Nuts python libraries. Designed initially to erase ti…...

Ai2Psd终极指南:如何彻底解决Illustrator到Photoshop的矢量转换难题

Ai2Psd终极指南&#xff1a;如何彻底解决Illustrator到Photoshop的矢量转换难题 【免费下载链接】ai-to-psd A script for prepare export of vector objects from Adobe Illustrator to Photoshop 项目地址: https://gitcode.com/gh_mirrors/ai/ai-to-psd 你是否曾为Il…...

离线部署不求人:手把手教你用Deb包在Ubuntu 22.04搭建自己的‘本地软件仓库’

离线部署实战&#xff1a;在Ubuntu 22.04构建高可用本地软件仓库 在企业级IT环境中&#xff0c;服务器集群往往部署在内网隔离环境&#xff0c;无法直接访问互联网软件仓库。这种场景下&#xff0c;如何实现批量软件部署、版本控制和依赖管理&#xff1f;本文将带你从零构建一个…...

不止美化:用OhMyPosh和Windows Terminal打造你的高效开发工作流

不止美化&#xff1a;用OhMyPosh和Windows Terminal打造你的高效开发工作流 每次打开终端&#xff0c;你是否也厌倦了那个灰暗单调的默认界面&#xff1f;作为一名开发者&#xff0c;我们每天有超过60%的时间都在与命令行打交道。一个精心配置的终端环境&#xff0c;绝不仅仅是…...

Adobe-GenP 3.0终极指南:如何高效解锁Adobe CC全系列软件

Adobe-GenP 3.0终极指南&#xff1a;如何高效解锁Adobe CC全系列软件 【免费下载链接】Adobe-GenP Adobe CC 2019/2020/2021/2022/2023 GenP Universal Patch 3.0 项目地址: https://gitcode.com/gh_mirrors/ad/Adobe-GenP 在创意设计领域&#xff0c;Adobe Creative Cl…...

2026多账号运营指纹冲突溯源与底层参数一致性治理方案

2026 年多账号规模化运营场景下&#xff0c;指纹冲突已经成为账号关联、环境异常的核心诱因之一。所谓指纹冲突&#xff0c;是指指纹环境的底层参数之间、参数与网络环境之间、参数与运行场景之间出现逻辑矛盾或数据重复&#xff0c;导致平台风控识别出环境异常&#xff0c;进而…...

3分钟搞定Windows安卓驱动:最新ADB/Fastboot一键安装全攻略

3分钟搞定Windows安卓驱动&#xff1a;最新ADB/Fastboot一键安装全攻略 【免费下载链接】Latest-adb-fastboot-installer-for-windows A Simple Android Driver installer tool for windows (Always installs the latest version) 项目地址: https://gitcode.com/gh_mirrors/…...