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

湖北工程建设信息网站做暧暧小视频免费网站

湖北工程建设信息网站,做暧暧小视频免费网站,外贸怎样找到精准客户,开封网站建设zducm文章目录链表循环双向链表哈希链表其他链表汇编内联汇编扩展内联汇编makefile链表 链表是linux内核中关键的数据结构。在第二次课中#xff0c;重点介绍了循环双向链表和哈希链表。这两种链表都在传统的双向链表的基础之上进行了针对效率的优化。(ps#xff1a;这部分可以通… 文章目录链表循环双向链表哈希链表其他链表汇编内联汇编扩展内联汇编makefile链表 链表是linux内核中关键的数据结构。在第二次课中重点介绍了循环双向链表和哈希链表。这两种链表都在传统的双向链表的基础之上进行了针对效率的优化。(ps这部分可以通过看插入链表、删除链表中节点的具体实现来加深理解 循环双向链表 linux内核中的链表节点中只包含指针数据被存在节点之外的空间通过偏移来获取数据。ps在结构体之外再套一个结构体 哈希链表 哈希链表是双向非循环链表head和node的结构不同head里有1个指针node里面有2个指针并且两个指针一个是一级指针(next)一个是二级指针(prev)。 这种设计的优点在于 节省空间head设计只有1个指针空间使用减少一半提高效率判断是否为head节点只需要查看pprev指针 其他链表 降序优先排序的双向链表 二重索引 无锁单链表 汇编 Linux大部分代码是c语言编写但依旧有少量代码用汇编语言编写原因是 提高效率与硬件交互与cpu交互 用c语言写的代码可以通过3种方法看其汇编代码 gcc -S [file_name].c # method 1gcc -c [file_name].c # method 2 objdump -d [file_name].o gdb disassemble # method 3汇编指令语法见汇编语言–x86汇编指令集大全 内联汇编 内联汇编只可以对全局变量进行操作。 #include stdio.h // asm.cint a, b, c; int main() {a 1, b 2;asm volatile (movl a, %eax\n\t // 将a放入eax寄存器addl b, %eax\n\t // 将b的值加到eax寄存器中movl %eax, c\n\t // 将eax寄存器的值加到c中);printf(c:%d\n,c); }扩展内联汇编 扩展内联汇编可以对局部变量进行操作其基本格式为 asm volatile (assembly code : output operands /* optional */: input operands /* optional */: list of clobbered registers /* optional */ )#include stdio.h //asm_2.cint main() {int a 1, b 2, c 0;asm volatile (movl %0, %%eax\n\tmovl %1, %%ebx\n\taddl %%eax, %%ebx\n\tmovl %%ebx, %2\n\t:g(a), g(b) // input operand:g(c) // output operand );printf(c:%d\n,c);printf(a:%d\n,a);printf(b:%d\n,b);return 0; }clobbered registers会影响最终结果 #includestdio.h int main() {int data1 10;int result 20;asm (movl %1, %%eax\n\taddl %%eax, %0:r(result):r(data1), 0(result)// :%eax 此行不注释result30注释后result20);printf(the result is:%d\n,result);return 0; }makefile 在软件开发中Make 是一种构建自动化工具它通过读取指定如何派生目标程序的称为 Makefile 的文件从源代码自动构建可执行程序和库。 尽管集成开发环境和特定于语言的编译器功能也可用于管理构建过程但 Make 仍被广泛使用尤其是在 Unix 和类 Unix 操作系统中。 Make 可用于管理任何项目除了构建程序之外只要其他文件发生变化某些文件需要从其他文件自动更新。 makefile包括4种语句 宏规则变量定义其他元素 一个简单的makefile例子项目包括2个c文件processing.cpp和gui.cpp文件那么makefile可以写成 gcc -c processing.cpp -o processing.o # 单独编译processing.cpp gcc -c gui.cpp -o gui.o # 单独编译gui.cpp gcc processing.o gui.o -o my_program # 联合编译processing.o和gui.o可以发现编译一个2个文件的项目已经涉及到了3行命令行来进行编译。可以预想的是当项目规模扩大时编译的指令也会变得异常复杂并且一旦更新其中一个文件需要重新编译的时候所涉及到需要重新运行的编译指令所面临的情况也是千奇百怪。因此我们需要makefile来对编译的指令进行一个封装简化用户编译时的工作量。 to be continued
http://www.dnsts.com.cn/news/138341.html

相关文章:

  • 个人可以做自媒体网站吗优化关键词排名哪家好
  • 观影楼网站wordpress按需求开发
  • 做网站servlet遵义建设厅官方网站
  • 凡科建站价格网站中的文章可以做排名吗
  • 衡水提供网站制作公司报价桂林市天气预报15天准确
  • 广州网站网站为什么开发app
  • 网站开发需要掌握哪些技术企业咨询公司名称大全
  • ps制作网站模板批量关键词调排名软件
  • 书画网站免费源码网站开发用什么电脑好
  • 咸宁做网站的公司网站设计建设 网络营销推广
  • 备案时网站名称小程序平台入口
  • 北京微信网站8大营销工具
  • 诸城网络科技网站建设公司做网站的
  • 石家庄做外贸网站推广自己注册公司多少钱
  • 惠东网络建站公司wordpress 强制换行
  • 服务器上搭建网站住宅项目建设背景
  • 大气门户网站百度免费咨询
  • 交通门户网站建设嵌入式培训什么意思
  • 网站后台管理系统代码html旅游网页设计代码
  • 五华县建设局网站网络营销的发展现状及趋势
  • 设计师联盟网站成都微信小程序开发平台
  • 注册了网站怎么建设网站代码下载
  • 福建网站优化网站分析工具
  • 网站开发项目需求书wordpress 前端投稿
  • 网站开发推荐一本书西安查派网站建设
  • 无锡网站建设 推荐无锡立威云商网站建设 报告
  • 3免费网站建站全网热搜榜
  • 国内做性视频网站贵阳论坛网站建设
  • 做网站都能用什么做新乡seo公司
  • 德化住房和城乡建设网站使用万网怎么做网站