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

乐清柳市阿里巴巴做网站的代理招商平台

乐清柳市阿里巴巴做网站的,代理招商平台,wordpress制作网页教程,最版网站建设案例本文请读者【直接关闭】#xff0c;我后面的实践结果似乎和本文的实践结果不一样#xff0c;真是见鬼了#xff01;我不知道发生了什么#xff0c;还没有来得及进一步校验#xff01; 在其他文件不变的前提下#xff0c;如果即将生成的mk文件和已有的mk文件不一样#…本文请读者【直接关闭】我后面的实践结果似乎和本文的实践结果不一样真是见鬼了我不知道发生了什么还没有来得及进一步校验 在其他文件不变的前提下如果即将生成的mk文件和已有的mk文件不一样就更新全部的源文件 这个事情说起来就有点诡异了我们解释一下 我们只使用--exe完成到生成全部的源文件以及获取生成可执行文件的makefile文件这一步编译的命令保持不变例如 verilator --cc --exe Top.v main.cpp命令中提及的文件全都保持不变例如Top.v main.cpp这里的保持不变是指其时间戳保持不变对于生成的VTop.mk文件是本次测试唯一的变量我们接下来看一看 测试一不改变mk文件 假设我们已经运行了指令verilator --cc --exe Top.v main.cpp生成了相关的文件。 接下来 首先我们运行 ls obj_dir/ --full-time 1.txt把测试前的文件时间戳存储起来 total 128 -rw-rw-r-- 1 jht jht 19595 2022-04-17 11:44:49.941869470 0800 VTop___024root.cpp -rw-rw-r-- 1 jht jht 1846 2022-04-17 11:44:49.941869470 0800 VTop___024root.h -rw-rw-r-- 1 jht jht 11606 2022-04-17 11:44:49.941869470 0800 VTop___024root__Slow.cpp ...这里展示一小部分太多了没必要展示。 接下来我们再次运行verilator --cc --exe Top.v main.cpp然后运行ls obj_dir/ --full-time 2.txt把新的时间戳存储起来。 紧接着使用colordiff 1.txt 2.txt 进行对比没有任何输出说明前后文件时间戳完全一样这意味着第二次运行的指令没有导致生成结果的更新 要知道生成的结果 是从外面其他文件(c/cpp)拷贝过来的是编译Verilog文件生成的 而第二次没有更新没有重新编译和拷贝证明verilator本身是有检测机制的不会每次无脑编译更新。 测试2修改mk文件 接下来做一个新的测试。 假设我们已经运行了指令verilator --cc --exe Top.v main.cpp生成了相关的文件。 运行ls obj_dir/ --full-time 1.txt修改VTop.mk文件比如给其任意位置加一个注释运行sed -i 1 i # test obj_dir/VTop.mk或者手动修改该文件再次运行verilator --cc --exe Top.v main.cpp运行ls obj_dir/ --full-time 2.txt使用colordiff 1.txt 2.txt 进行对比 神奇的事情发生了所有的源文件都被修改了时间戳也就是说这些源文件都是新生成或者新拷贝的 2,16c2,16-rw-rw-r-- 1 jht jht 19595 2022-04-17 11:52:02.256126245 0800 VTop___024root.cpp-rw-rw-r-- 1 jht jht 1846 2022-04-17 11:52:02.252126217 0800 VTop___024root.h-rw-rw-r-- 1 jht jht 11606 2022-04-17 11:52:02.256126245 0800 VTop___024root__Slow.cpp ... ----rw-rw-r-- 1 jht jht 19595 2022-04-17 11:52:16.824228142 0800 VTop___024root.cpp-rw-rw-r-- 1 jht jht 1846 2022-04-17 11:52:16.824228142 0800 VTop___024root.h-rw-rw-r-- 1 jht jht 11606 2022-04-17 11:52:16.824228142 0800 VTop___024root__Slow.cpp ...这里只展示一部分事实上是所有的源文件都更新了。 另外经过测试给mk文件加个空行也可以达到该效果。 这就意味着什么呢……至少 在生成文件更新的检测机制上verilator会检测当前命令生成的mk文件和已有的mk文件是否有不同如果不同就重新生成和更新全部源文件。 实验3仅修改Verilog文件 这里同样是命令verilator --cc --exe Top.v main.cpp我们单独修改Top.v再查看前后对比结果。 发现也是全部更新源文件和上面一样。 实验4仅修改cpp文件 仅仅修改main.cpp NOTE不会更新 因为cpp文件没有被拷贝进去而是直接编译的外面的源文件。 实验5修改obj_dir中任意一个文件(生成的源文件) 随便修改一个文件前后对比发现仍然是更新全部源文件。 结论 经过这么多的测试你就应该明白了对于verilator的--cc --exe阶段也就是生成可执行文件之前的阶段无论你是修改命令中给出的源文件指Verilog源文件c/cpp不算还是修改生成之后的任意一个文件都会导致下一次重新运行该命令的时候全部重新编译和更新。 注意修改生成的文件是指的运行VTop.mk之前的那些文件运行make之后生成内些文件不会跟着更新它们的更新依靠的是make规则。 应用 好了这个在文档没有找到估计只能在源码中找了先不管反正测试结果就是这样 我们看一下这个特性能够让我们有什么应用呢 VTop.mk文件生成VTop的规则是依赖于obj_dir文件夹中源文件的外部文件它是不管的如果你引入了外部生成的.o文件这个文件不会被放在obj_dir文件夹中只是在VTop.mk中提供外部.o文件的路径以供链接使用也就是说如果你更新了外部的.o文件按照生成规则来说verilator的不知道这件事的它会默认你的.o文件是一直不变的这就意味着你需要额外的规则来改变这件事我们的放在工程会在外部直接编译.c文件到.o文件但是verilator不知道这件事我们有两种方法 强制每次都重新编译Verilog和拷贝cpp源文件这种方式就用了我们上面提到的那个特点你只需要编译完成之后再给VTop.mk随便编辑一下下一次编译一定会全部更新的。但是这样似乎不太好…… 2.通过makefile来执行编译指令并且识别.o文件是否更新如果更新则可以 强制编译和更新源文件但是没有必要这么做毕竟其他文件又没变删除掉生成的VTop可执行文件重新进行链接即可。这种方式是可取的如果其他的都没变的话只是外部的.o文件改变只需要重新链接就可以 加粗部分是提倡采取的方案。 下面是提供的复杂工程的示例 simulate ├── csrc # c/cpp 源文件和可重定位目标文件 │ ├── build # 由 .c 文件生成.o文件提供给verilator │ │ ├── memory │ │ │ └── mem.o │ │ └── monitor │ │ ├── monitor.o │ │ └── sdb │ │ └── sdb.o │ ├── include # 头文件 │ │ ├── common.h │ │ ├── main.h │ │ └── mem.h │ ├── main.cpp # 提供给verilator的cpp文件 │ ├── Makefile # 生成 build 的规则 │ ├── memory # c 源文件 │ │ └── mem.c │ ├── monitor │ │ ├── monitor.c │ │ └── sdb │ │ └── sdb.c │ └── utils ├── Makefile # verilator编译和生成规则 └── obj_dir # verilator生成目录 # 备注Verilog文件在其他路径可由verilator来指定位置和文件
http://www.huolong8.cn/news/225421/

相关文章:

  • 岳阳卖房网站制作微信小程序商城模板
  • wordpress本地上传视频资料西安网站seo推广
  • 苏州集团网站设计开发网站设计首页动态效果怎么做
  • 建设旅游网站建议手机网站建设的整体流程
  • 网页设计师常用网站做搜狗网站优化首页
  • 宁波网站建设运营成都网站推广排名
  • 建站教程新手怎么做网站phpphp 个人网站
  • 泰安的网站建设公司一点号自媒体平台
  • 网站怎么做能赚钱深圳seo公司
  • 长治市网站开发青浦苏州网站建设
  • 安装Wordpress个人网站怎么超链接公众号
  • 西双版纳住房和城乡建设局网站设计公司网站模板
  • 网站建设的用例图博物馆网站 建设方案
  • 深圳单位网站建设服务公司dede视频网站源码
  • 长沙网站建设q.479185700強眉山招聘网站建设
  • 网站免费的正能量漫画微信公众号里面免费做网站
  • php怎么做网站后台网站开发的技术有
  • 许昌企业网站建设公司马来西亚做公路投标网站
  • 比较好约的网站设计网站免费模板资源
  • 淄博网站排名外包wordpress本地上传图片
  • 怎么在百度制作自己的网站邯郸怎么读
  • 2019年开公司做网站可以吗网络营销软文范例500字
  • js获取网站html江苏省住房和建设厅网站首页
  • 网站建设深圳官网医院网络系统
  • 怎么改网站模块江西建设部网站
  • 电商站外推广平台有哪些研学网站开发需求文档
  • 自建设网站有没有便宜的网站建设
  • 做个网站费用苏醒主题做的网站
  • wordpress下载资源站主题seo代运营
  • wordpress 电商网站口碑好的邯郸网站建设