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

做宠物网站需要实现什么功能淘宝关键词查询

做宠物网站需要实现什么功能,淘宝关键词查询,wordpress 插件怎么写,成都家居网站建设接上文MIT XV6 - 1.1 Lab: Xv6 and Unix utilities - sleep 探究sleep.c是如何’炼成’的? 老实讲,我不熟悉Makefile,最多写过简单的编译和辅助脚本,拿到Xv6的Makefile是一脸懵的,至今还是一脸懵,那么我们上篇中新加的…

接上文MIT XV6 - 1.1 Lab: Xv6 and Unix utilities - sleep

探究sleep.c是如何’炼成’的?

老实讲,我不熟悉Makefile,最多写过简单的编译和辅助脚本,拿到Xv6的Makefile是一脸懵的,至今还是一脸懵,那么我们上篇中新加的sleep.c是如何一步步的经过编译链接成一个可执行文件的?

  • 从修改的UPROGS开始
UPROGS=\$U/_cat\$U/_echo\$U/_forktest\$U/_grep\$U/_init\$U/_kill\$U/_ln\$U/_ls\$U/_mkdir\$U/_rm\$U/_sh\$U/_stressfs\$U/_usertests\$U/_grind\$U/_wc\$U/_zombie\$U/_sleep\

在上篇实验正文中,我们只在UPROGS中的最后一行加了 $U/_sleep\,就能在Xv6系统的文件目录中看到一个可执行程序sleep,可是搜遍整个Makefile文件,只有两处对他有依赖和使用

fs.img: mkfs/mkfs README $(UEXTRA) $(UPROGS)mkfs/mkfs fs.img README $(UEXTRA) $(UPROGS)-include kernel/*.d user/*.dclean: rm -f *.tex *.dvi *.idx *.aux *.log *.ind *.ilg \*/*.o */*.d */*.asm */*.sym \$U/initcode $U/initcode.out $K/kernel fs.img \mkfs/mkfs .gdbinit \$U/usys.S \$(UPROGS) \*.zip \ph barrier
  • 但是这也只是说依赖 UPROGS啊,他在哪里编译的?在过去想要搞明白这个问题我们得去查资料,去抱大腿,甚至狠一点,从头到尾学一遍Makefile的语法规则,如今就简单多了,直接问AI,下面是cursor给我的回答
    在这里插入图片描述
    乍一看它说的都在理,注意第三条 3. 用户程序的编译规则,仔细看这里的解释,
这条规则的意思是:
- 例如 _cat 依赖于 cat.o 和 $(ULIB)(用户态库)。
- 先编译 cat.c 生成 cat.o,再和用户库链接生成 _cat 可执行文件。

这里的对于 UPROGS 里的每一个目标(如 $U/_cat),Makefile 里有如下的通用规则:中的通用规则,其实是Makefile的一种隐藏规则,详细见 10.1 Using Implicit Rules(这也是cursor告诉我的),部分摘抄如下:

在这里插入图片描述
大致意思呢就是你写了foo依赖foo.o,但是呢又没有写规则foo.o哪里来的,那么make就会自动的去执行相关的编译.

  • 可是执行编译他怎么知道要调用gcc并且附加上编译选项 *$(CFLAGS)*呢?这又是一条内建规则。。。原文见10.2 Catalogue of Built-In Rules:
    在这里插入图片描述
    所以,虽然这个Makefile中没有明确写 gcc user/sleep.c -o user/sleep.o,也依然通过一系列的内建规则,生成了最终的elf文件,甚至把汇编代码什么的都自动生成了。

谈一谈cursor对我的帮助

至此我想我们已经在cursor的帮助下,算是搞清楚了sleep到底是怎么得来的,他甚至还建议我你不信可以自己去验证
在这里插入图片描述
我还真的就去验证了

make user/sleep.o V=1
riscv64-unknown-elf-gcc -Wall -Werror -O -fno-omit-frame-pointer -ggdb -gdwarf-2 -DSOL_UTIL -DLAB_UTIL -MD -mcmodel=medany -ffreestanding -fno-common -nostdlib -mno-relax -I. -fno-stack-protector -fno-pie -no-pie -I/opt/homebrew/opt/openjdk@17/include  -c -o user/sleep.o user/sleep.c

等等,怎么有一条 -I/opt/homebrew/opt/openjdk@17/include ,这从哪里来的?继续追问
在这里插入图片描述
最终我查看了 我的~/.zshrc文件,果然在其中找到了定义,也再次印证了 “计算机的世界里没有魔法” 这句话

# OPENJDK
export JAVA_HOME=/opt/homebrew/opt/openjdk@17
export CPPFLAGS="-I/opt/homebrew/opt/openjdk@17/include"

我想,在如今这个时代,即使是学习晦涩难懂的底层技术原理,AI给我们带来的帮助也远超我们的想象,但如果你连问题都提不出来,他又怎么能帮你解决问题呢?所以,我们会被替代嘛?

http://www.dtcms.com/wzjs/528655.html

相关文章:

  • 什么是门户网站免费b站推广网站详情
  • 宿迁做网站公司厦门seo外包
  • 安达网站制作泰州百度公司代理商
  • 优化网站步骤加强服务保障 满足群众急需需求
  • 企业官网建站费用b站推广网站入口2023是什么
  • wordpress 异步加速怎样优化网站关键词排名靠前
  • 方案 网站建设品牌推广方式
  • 咨询行业网站建设公司今日重点新闻
  • 网站建设服务费记账分录百度热搜榜
  • 淇县住房和城乡建设局网站专业搜索引擎优化电话
  • qt做网站极速建站网站模板
  • 广告在什么网站做房地产销售技巧和话术
  • 外贸b2b网站源码自动点击器软件
  • 帮别人做网站哪里可以接单百度网址大全设为主页
  • 如何创建公司网站简述企业网站如何推广
  • 服装公司做哪个网站网站维护一年一般多少钱?
  • 大型网站怎么做seo官网优化详细方法
  • 拼多多卖网站建设阿亮seo技术顾问
  • 公司网站建设找谁广东seo推广公司
  • 威海网站开发制作网络营销策略名词解释
  • 电商网站建设与管理自考试卷海淀区seo搜索引擎
  • 大型网站制作制作网页需要多少钱
  • 辽宁省电力建设网站有什么平台可以发广告
  • wordpress导入项目武汉seo计费管理
  • 深圳网站建设优化服务百度站长工具链接提交
  • 小企业怎么推广免费seo提交工具
  • 软件开发工程师是什么职业seo搜索引擎是什么
  • 网站首页菜单栏模块怎么做的完整企业网站模板
  • 自己怎么做网站卖车百度搜索量
  • 受欢迎的模板网站建设网站搜索查询