C/C++
文章平均质量分 65
C/C++
Hack Rabbit
云计算&容器领域博主
展开
-
Linux内核源码中最常见的数据结构之【Spinlock】
在软件工程中,自旋锁是一种锁,它使试图获取它的线程在循环中原地等待(“自旋”),同时反复检查锁是否可用。由于线程保持活动状态但没有执行有用的任务,因此使用这种锁是一种忙等待。一旦获得,自旋锁通常会一直保持直到它们被显式释放,尽管在某些实现中,如果正在等待的线程(持有锁的线程)阻塞或“进入睡眠状态”,它们可能会自动释放。因为它们避免了操作系统进程重新调度或上下文切换的开销,所以如果线程可能只在短时间内被阻塞,自旋锁是有效的。出于这个原因,操作系统内核经常使用自旋锁。如果长时间持有自旋锁,则会变得浪费,因为它们原创 2022-07-05 16:25:51 · 1124 阅读 · 0 评论 -
C/C++/Java 的基本数据类型
变换类型CC++Javachar c --> int ii = c - ‘0’i = c - ‘0’i = c - ‘0’int i --> char cc = i + ‘0’c = i + ‘0’c = i + ‘0’char *s(String s) --> int ii = atoi(s)i = stoi(s)i = Integer.parseInt(s)char *s(String s) --> float ff ...原创 2021-01-27 19:05:41 · 296 阅读 · 0 评论 -
Winpcap进行抓包,分析数据包结构并统计IP流量
计算机网络实验,直接把电饭锅塞嘴里一.实验目的随着计算机网络技术的飞速发展,网络为社会经济做出越来越多的贡献,可以说计算机网络的发展已经成为现代社会进步的一个重要标志。但同时,计算机犯罪、黑客攻击、病毒入侵等恶性事件也频频发生。网络数据包捕获、监听与分析技术是网络安全维护的一个基本技术同时也是网络入侵的核心手段。通过基于网络数据包的截获和协议分析,对网络上传输的数据包进行捕获,可以获取网络上传输的非法信息,对维护网络安全起到重大作用。本次实验的主要目的有:理解协议在通信中的作用;掌握抓包软件的开原创 2020-07-01 10:31:09 · 15618 阅读 · 56 评论 -
再来一次的C语言贪吃蛇小游戏(三)
8.游戏的不同界面为了便于实现主要功能,之前我们所有的状态控制都是放在游戏中,但实际上我们应该把这些状态控制抽离出来,通过菜单来控制,以便在不同游戏界面间切换。菜单界面游戏界面排行榜游戏结束界面其他一些扩展界面enum state { in_menu, //菜单界面 gaming, //游戏界面 rank,//排行榜界面 snake_dead,//游戏结束界面 to_q...原创 2020-01-15 01:00:56 · 802 阅读 · 0 评论 -
再来一次的C语言贪吃蛇小游戏(二)
5.游戏地图贪吃蛇的游戏地图由一个个方格组成,每一格方格可以表示地面,墙,食物,蛇的身体等等,蛇只能在地面上行动,吃到食物则生长一节蛇身,撞到墙就GG。我们可以同样可以使用枚举来表示地图上的不同物体//game.htypedef enum stuff_mark { wall, ground, food, _snake}Stuff_Mark;为了便于表示我们创建一个物品结构体...原创 2020-01-12 14:57:23 · 827 阅读 · 0 评论 -
再来一次的C语言贪吃蛇小游戏(一)
学习编程也有两三年时间了,中间也玩(学校安排学习)过很多东西 ,从汇编到C到Java和python,用Java和Python也就图一快,真要体会编程乐趣还得看我C语言(开玩笑 )为什么要用C语言写一个贪吃蛇游戏呢,其实这是我大一时候万姐布置的一个课设,当时就是这个课设,逼着我一个星期“学会了”C语言,但是这段回忆是非常充实有趣的,现在我掌握了新的语言,新的编程思想,回过头来重新做一遍这个课设,感...原创 2020-01-12 01:52:38 · 4678 阅读 · 2 评论 -
ASCII 编码对照表
二进制十进制十六进制图形0010 00003220(空格)(␠)0010 00013321!0010 00103422"0010 00113523#0010 01003624$0010 01013725%0010 01103826&0010 01113927’0010 1...原创 2020-01-09 22:50:01 · 1322 阅读 · 0 评论 -
C程序多线程同时画圆画方
程序#include<stdio.h>#include<math.h>#include<Windows.h>#include <graphics.h>//画圆DWORD WINAPI circle(LPVOID n){ int circlePointx = 180; int circlePointy = 180; const ...原创 2019-04-21 17:35:38 · 1951 阅读 · 0 评论 -
分治法实现最近点对问题——C语言可视化
1. 分治法步骤1.按x对点对数组进行从小到大排序2.找出x中间值,按中间值划分数组为左右两部分3.不断细分,找出左右两部分的最近点对4.重复步骤1.2.3,得到最终左右两部分的最近点对的距离d5.找出 |X - Xmid| < d ,部分的点对,此部分左边的点对集合我们设为p1,右边设为p2,对p1,p2中的点按y的大小从小到大排序6.对P1中所有点p,对排好序的点列作一次扫描...原创 2019-03-23 11:27:03 · 5380 阅读 · 2 评论 -
一次性打开计算机任意程序的脚本(C语言)
打开记事本上所写的程序如图所示,我在记事本上写下了三个程序,我怎样才可以用程序打开这三个程序呢?答案是:用createProcess函数实践#include<stdio.h>#include<Windows.h>#define MaxProcCount 10#define MAX_LINE_LEN 80int main(void){ FILE* C...原创 2019-04-21 16:40:42 · 1717 阅读 · 0 评论 -
用C语言打开文件的几种方式及区别
文件使用方式含义如果指定的文件不存在r(只读)读取一个已经存在的文本文件出错w(只写)打开一个文本文件,输出数据,若文件存在则文件长度清为0,即该文件内容会消失建立新文件a (追加)向文本文件末尾添加数据,原来文件中的数据保留,新的数据添加到文件为,原文件EOF保留建立新文件rb(只读)读取一个二进制文件出错wb(只写)打开一个二进制...原创 2019-04-21 17:22:29 · 15891 阅读 · 2 评论