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

网站备案链接地址龙岩网上通缉犯名单

网站备案链接地址,龙岩网上通缉犯名单,怎么开发一个游戏,chrome谷歌浏览器使用ChatGPT创建Makefile构建系统#xff1a;使用Make运行Docker 芯语芯愿#xff08;知乎/纷传/CSDN/#xff09;#xff1b;小石头的芯语芯愿#xff08;微信公众号#xff09; 开发高效现代的构建系统对于满足开发周期需求至关重要。原先#xff0c;嵌入式开发者一…使用ChatGPT创建Makefile构建系统使用Make运行Docker 芯语芯愿知乎/纷传/CSDN/小石头的芯语芯愿微信公众号 开发高效现代的构建系统对于满足开发周期需求至关重要。原先嵌入式开发者一贯依靠集成构建系统这些系统使用的是供应商提供的集成开发环境如Eclipse。遗憾的是这些工具隐藏了许多重要细节一旦与Docker和CI/CD解决方案这样的现代流程集成就难免捉襟见肘。 在上一篇《使用ChatGPT创建Makefile构建系统使用Docker开始入门》中我们开发了一个自定义的构建系统创建了一个Docker容器。我们没有按照传统方式来创建Dockerfile。而是改用人工智能工具ChatGPT来替我们做了这个系统 在本文中我们将继续此工作使用ChatGPT创建一个初级Makefile它可以让我们构建和加载Docker容器。 定义初始需求 在直接输入ChatGPT提示之前你应该停下来思考一下究竟想要这个工具做什么。眼下你已经有了上一篇文章中的Dockerfile但你想要创建一个Makefile用于 构建容器运行容器 这可能已经足以让AI自由运行但我倾向于对输出保留更多控制权。例如我想把什么Make 配方与“构建”和“运行”关联呢?每个人都有自己的命名约定但就这项练习而言我想告诉AI创建以下配方 docker_image用来构建容器docker_run用来运行容器 只要你对Docker有所了解就知道还必须给镜像和容器提供名称。我使用的名称是beningo/cpp-dev。(啊CPP当然代表C咯但我们可是嵌入式开发者诶错我们搭建的镜像将允许我们为C/C编译嵌入式代码) 生成Makefile动手 有了基本要求现在该给 Makefile 初步构思一个提示了。我喜欢先给工具提供一些上下文。所以我第一个提示只是一个简单的句子 “这是我为构建嵌入式软件而创建的Dockerfile暂时不要对此采取任何行动” 除了这句提示我还会粘贴从上一篇文章生成的Dockerfile。我删除了文本保持可读性也便于管理。 只要你按部就班跟着做就会发现ChatGPT不可控制地分析这个Dockerfile。你可以忽略它。想想看这类工具是收费的而且是按照生成文本量令牌数来收费的所以它会提供如此详细的响应。 上下文设置好后我们现在就可以要求它按照我们的要求进行操作了 现在让我们尝试运行这个Makefile并看看会发生什么。 ​ ChatGPT 生成的响应如下 还不赖我们来试试运行这个makefile看看会发生什么。 使用Make构建Docker镜像 如果你熟悉运行Makefile就会知道运行这些命令非常简单。但你需要先构建镜像然后才能运行镜像。所以在终端中运行以下命令 make docker_image 你会看到这样就会运行Docker并使用你的Dockerfile来创建容器。我假设你已经把Dockerfile和Makefile放置在同一个目录下。如果没有那么你可能会遇到一些make错误。没关系只要把它们放在同一个目录里再试一次即可。(注意我也假设你如果是尝试跟着我进行操作的话那么你应该已经安装了Docker Desktop) 你会看到Docker会运行并开始构建容器。输出可能会很详细所以我不会在这里展示。但是我会展示在已经构建好的镜像上运行此命令的结果。如下所示 如你所见下载工具和配置镜像总共用了约11个步骤。仔细看你会发现它构建速度真快因为我之前运行过这条命令docker_image什么也不用做。而在你的机器上可能需要5-10分钟才能完全运行这条命令。 使用Make运行Docker镜像 现在你有了一个镜像可以通过输入以下命令运行这个镜像 make docker_run 执行此操作时你可能会看到如下提示 恭喜你现在正在运行自己的Docker容器您还可以构建代码并使用镜像构建中包含的工具。但可能你还没注意到这里有一个问题 如果你将main.c文件放入项目目录中并在终端中输入ls你会发现看不到自己的代码代码都看不到该怎么使用Docker容器构建代码呢?你需要对docker_run 配方做些修改 返回ChatGPT进行修复 是时候编一条新的提示来修复的问题了。我已经知道问题与docker_run不含-v privilege选项有关。在我自己的Makefile中我使用的方法如下 docker_run:             docker run --rm -it --privileged -v $(PWD):/home/app beningo/cpp-dev:latest bash 来看看ChatGPT根据新的提示是否能给出类似的解决方案 结果类似但有些不同 尽管相似但有些许差异。首先我使用了$(PWD)不是$(shell pwd)。两者有什么区别呢?我询问ChatGPT时得到以下回复 ​ 嗯。我说实话。我更喜欢使用shell这种方法更明确。虽然$(PWD)有效我以前用的时候也从未遇到过问题但使用shell能避免路径变量问题所以这种方法更理想。(我也不会无条件地接受此结论而是通过另一个信息来源进行核对)。 我的bash和ChatGPT的/bin/bash之间的差异也类似。只是我的方法更明确出问题的可能性更低。 通过这些调整后如果你现在运行 make docker_run 然后执行ls命令就会发现你能访问本地源码了。注意我们现在把容器的访问权限交给了本地内核。这样做会带来安全性问题。这对于Web或云开发者可能不是个好办法。对于我们这些嵌入式开发人员仅用来构建代码可能没有问题但你该仔细考量其中风险。 结论 你现在有机会能看到ChatGPT生成Dockerfile并生成一个简单的makefile用来运行它。这个工具产生的输出并不完美但通过谨慎审查和测试并提供一些反馈就可以获得令人激动的结果。我希望你能明白你不能简单地对AI工具视而不见这些工具在嵌入式软件开发中已经有了一席之地。 下次我们将在目录中放置一些源代码示例使用ChatGPT给makefile添加更多功能。用不了多久我们将拥有一个完全现代化的构建系统能够显著改善嵌入式软件开发方式。
http://www.yutouwan.com/news/103213/

相关文章:

  • 品牌网站建设搜搜磐石网络ui设计网站模板
  • 沧县网站制作价格什么是网络营销常见的手段有哪些
  • 苏州seo建站采集类淘宝客网站怎么做
  • 沧州哪家做网站好网站运营每天做啥工作
  • 北京高端网站设计公司网站图片优化器
  • 怎么创建免费自己的网站平台网站开发一般用哪个浏览器
  • 东坑做网站wordpress建站过时了
  • 网站适配手机怎么做网站内部建设和程序
  • 泉州模板自助建站全屏的翻页网站这么做
  • 专业的昆明网站建设微商代理0元0投入
  • 建立网站大约多少钱站长工具权重查询
  • 网站建设费用的会计分录株洲做网站多少钱
  • 厦门网站做的比较好wordpress免费英文主题
  • 网站添加微信支付桂林网站建设内容
  • 长春网站推广上海小程序开发合肥
  • 网站制作的付款方式wordpress网站地图生成
  • 桂林做手机网站软件开发平台开源
  • html 网站首页dede茶叶网站模板
  • 关于企业网站建设的请示乐辰网站建设
  • 本地常州网站建设上海市开办企业一窗网上服务
  • 网络策划就业前景wordpress哪种主页更利于seo
  • 深圳营销网站设计对于网站建设的意见和建议
  • 南京网站建设招聘怎么建立微信群
  • 我在某网站网站做代理重庆网站建设网站
  • 四川淘宝网站建设方案晋城做网站公司
  • 深圳市建设网站网站空间域名申请网站
  • 企联网站建设网站有哪些备案
  • 基于thinkphp网站制作提供手机自适应网站
  • 集运网站建设宁波seo排名优化培训
  • 建设银行企业网银网站过期有哪些设计网站