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

模拟网站建设软件有哪些如果域名网站用来做违法

模拟网站建设软件有哪些,如果域名网站用来做违法,南阳网站优化排名,网站制作流程图实践了内核的数据结构kfifo记录下#xff0c;其特点分析看了下这篇博客写的很详细。https://blog.csdn.net/zhoutaopower/article/details/86491852 fifo.c 实现kfifo的主干函数接口#xff0c;但是很多有用的接口没有扩展#xff0c;需要的时候再扩展。 #includestdi…        实践了内核的数据结构kfifo记录下其特点分析看了下这篇博客写的很详细。https://blog.csdn.net/zhoutaopower/article/details/86491852 fifo.c 实现kfifo的主干函数接口但是很多有用的接口没有扩展需要的时候再扩展。 #includestdio.h #includestdlib.h #includemath.h #includestring.h #includefifo.h#define min(a, b) \ ({ \typeof(a) _a (a); \typeof(b) _b (b); \_a _b ? _a : _b \ })static inline int fls(int x) {int position;int i;if(0 ! x){for(i (x 1), position 0; i ! 0; position)i 1;}else{position -1;}return position1; }static inline unsigned int roundup_pow_of_two(unsigned int x) {return 1UL fls(x - 1); }int __kfifo_alloc(struct __kfifo *fifo, unsigned int size, size_t esize) {/** round up to the next power of 2, since our let the indices* wrap technique works only in this case.*/size roundup_pow_of_two(size);fifo-in 0;fifo-out 0;fifo-esize esize;if (size 2) {fifo-data NULL;fifo-mask 0;return -1;}// fifo-data kmalloc_array(esize, size, gfp_mask);fifo-data malloc(esize*size);if (!fifo-data) {fifo-mask 0;return -1;}fifo-mask size - 1;return 0; }int __kfifo_init(struct __kfifo *fifo, void *buffer, unsigned int size, size_t esize) {size / esize;size roundup_pow_of_two(size);fifo-in 0;fifo-out 0;fifo-esize esize;fifo-data buffer;if (size 2) {fifo-mask 0;return -1;}fifo-mask size - 1;return 0; }void __kfifo_free(struct __kfifo *fifo) {free(fifo-data);fifo-in 0;fifo-out 0;fifo-esize 0;fifo-data NULL;fifo-mask 0; }/** internal helper to calculate the unused elements in a fifo*/ static inline unsigned int kfifo_unused(struct __kfifo *fifo) {return (fifo-mask 1) - (fifo-in - fifo-out); }static void kfifo_copy_in(struct __kfifo *fifo, const void *src, unsigned int len, unsigned int off) {unsigned int size fifo-mask 1;unsigned int esize fifo-esize;unsigned int l;off fifo-mask;if (esize ! 1) {off * esize;size * esize;len * esize;}l min(len, size - off);memcpy(fifo-data off, src, l);memcpy(fifo-data, src l, len - l);/** make sure that the data in the fifo is up to date before* incrementing the fifo-in index counter*/ // smp_wmb(); }unsigned int __kfifo_in(struct __kfifo *fifo, const void *buf, unsigned int len) {unsigned int l;l kfifo_unused(fifo);if (len l)len l;kfifo_copy_in(fifo, buf, len, fifo-in);fifo-in len;return len; }static void kfifo_copy_out(struct __kfifo *fifo, void *dst,unsigned int len, unsigned int off) {unsigned int size fifo-mask 1;unsigned int esize fifo-esize;unsigned int l;off fifo-mask;if (esize ! 1) {off * esize;size * esize;len * esize;}l min(len, size - off);memcpy(dst, fifo-data off, l);memcpy(dst l, fifo-data, len - l);/** make sure that the data is copied before* incrementing the fifo-out index counter*/ // smp_wmb(); }unsigned int __kfifo_out_peek(struct __kfifo *fifo,void *buf, unsigned int len) {unsigned int l;l fifo-in - fifo-out;if (len l)len l;kfifo_copy_out(fifo, buf, len, fifo-out);return len; }unsigned int __kfifo_out(struct __kfifo *fifo,void *buf, unsigned int len) {len __kfifo_out_peek(fifo, buf, len);fifo-out len;return len; } fifo.h #includestdio.h #includestdlib.hstruct __kfifo {unsigned int in; // 入列的时候增加的位置unsigned int out; // 出列的时候增加的位置unsigned int mask; // 巧妙的 mask 设计同时包含了数据的个数信息unsigned int esize; // 元素的大小void *data; // 数据 };int __kfifo_alloc(struct __kfifo *fifo, unsigned int size, size_t esize); int __kfifo_init(struct __kfifo *fifo, void *buffer,unsigned int size, size_t esize); void __kfifo_free(struct __kfifo *fifo); unsigned int __kfifo_in(struct __kfifo *fifo, const void *buf, unsigned int len); unsigned int __kfifo_out(struct __kfifo *fifo, void *buf, unsigned int len); test.c 2024-04-07 记录#includestdio.h #includestdlib.h #includefifo.htypedef struct node {int a;int b; }node;int main() {int esize sizeof(node);int size 8;void *buf NULL;struct __kfifo fifo;int count;node aa;aa.a 12;aa.b 13;node bb;bb.a 0;bb.b 0;__kfifo_init(fifo, buf, size, esize);__kfifo_alloc(fifo, size, esize);count __kfifo_in(fifo, (void *)aa, 1); //注意这里传参是node的数量不是node的大小。一开始实践赋值了node的大小会有内存溢出。printf(in count: %d.\n, count);count __kfifo_out(fifo, (void *)bb, 1);printf(out count: %d.\n, count);printf(bb.a :%d, bb.b :%d.\n, bb.a, bb.b);return 0; }
http://www.pierceye.com/news/180009/

相关文章:

  • 电子政务网站建设出版社百度网页提交入口
  • 专业柳州网站建设哪家便宜淄博桓台网站建设定制
  • 网站建设投标标书企业网站建设销售前景
  • wordpress建站教程凌风wordpress 仪表盘 慢
  • 怎样给网站或者商品做推广关于建网站新闻
  • 上海 微信网站 建站一对一直播app
  • ppt模板免费下载网站哪个好克拉玛依市住房和建设局网站
  • 制作网站得多少钱交互设计留学
  • 理财网站免费建设经典重庆新闻论坛
  • 南京专业网站制作哪家好企业所得税交多少
  • 广西网站建设哪家好常熟做网站的
  • 礼品网站制作辽宁省建设部网站
  • 网站群的建设目标澧县网页设计
  • 邯郸网站建设在哪里网站建设yingkagou
  • 姜堰区网站建设企业公司网站制作
  • 目前做的比较好的法律网站有哪些兰州seo技术优化排名公司
  • wordpress网站接入qqwordpress调用二级分类目录
  • 自建站有哪些站点soho 网站建设
  • cms网站建设如果在网上接网站建设项目
  • 建设网站的重点与难点在于社区网站模版
  • 自己在线制作logo免费网站公司网页设计教程
  • 广西城乡建设网站一家企业如何做网站推广
  • 小程序可以做网站吗wordpress 活动插件
  • 深圳网站建设流程图货代网站制作
  • 建设一个网站需要什么技术人员在线音乐网站开发
  • 做现货黄金看什么网站网络服务商怎么查询
  • 英语作文网站紫色个人网站模板
  • 视频直播网站开发 设计网站做的文字乱码
  • 江苏省建设执业中心网站wordpress婚礼模板下载
  • 互联网网站开发html5怎么做网站可以注册的