remake的使用

【目标定位跟踪-原理及应用】Matlab仿真01 质心定位算法及其Matlab实现 非测距定位,广泛地指不依赖任何信息,无须测量目标与观测站之间的距离和角度等信息,或者当测量的目标与观测站之间的距离和角度误差非常大的时候,只能用它们作为权值来处理。非测距定位算法主要有质心定位算法、加权质心定位算法和网格定位算法等,它们虽然能够估计出具体位置,但是这个位置与目标真实位置的偏差依赖于观测站的部署密度,一般偏差是比较大的。目标定位算法是获取目标位置的手段之一,利用观测信息、采用最合理的定位算法、结合实际应用领域的特点进行目标定位能达到较好的效果。那么对于多质点的系统,假定每个质点的重量为。 阅读详情

SYNOPSIS

remake [OPTION]... [TARGET]...

OPTIONS

  • -c, --search-parent
    如果一个makefile或者终极目标在当前目录无法找到,remake将会在父目录搜索Makefile.直到找到符合条件的最近的父目录中的Makefile
    在这方面,除了-c无需指定目录,选项-c是很类似-C
  • -! | –post-mortem:
    在出现错误时进入调试器。这与另一个选项相同:–debugger –debugger-stop = error
  • -P, --profile:
    创建callgrind配置文件输出。 Callgrind输出可与kcachegrind,callgrind_annotate或gprof2dot一起使用以分析数据。 您不仅可以获取时间,还可以查看目标依赖关系的图形
  • --targets
    打印出读入的makefile中显式目标名列表
  • --tasks
    打印出读入的makefile中含有注释的显式目标名列表。
    一个注释可以在目标开始之前以#:开始描述
#: This is the main target
all:
    @echo all here

#: Test things
check:
    @echo check here

#: Build distribution
dist:
    @echo dist here

Running remake –tasks gives:

all                  This is the main target
check                Test things
dist                 Build distribution
  • x, --trace [=FLAGS]:
    除正常处理外,还打印调试信息。
    如果省略标志,则行为与指定–trace = normal时的行为相同
    flags can be one of:
    1. normal: basic tracing and shell tracing; this is the default
    2. read: for tracing all Makefiles read in,
    3. noshell: which is like `normal but shell tracing is disabled
    4. full: for maximum tracing
  • -X, --debugger [=TYPE]:
    进入调试器
    If type is given it may be one of:
    1. normal: basic tracing and shell tracing; this is the default
    2. goal: for all tracing Makefiles read
    3. preaction like normal but shell tracing is disabled
    4. full: for maximum tracing.
    5. fatal: for entering the debugger on a fatal error. The –post-mortem option sets this
    6. error: for entering the debugger on an error.

The Remake Debugger

remake<<4>> help
  Command                  Short Name  Aliases
  ----------------------   ----------  ---------
  break [TARGET|LINENUM] [all|run|prereq|end]* (b)  L
  cd DIR                          (C)改变工作目录
  comment TEXT                    (#)调试器不会读取以这个开头的命令
  continue [TARGET [all|run|prereq|end]*] (c)继续执行调试后的Makefile,直到另一个断点或停止点。
  											 如果指定了目标,则在continue之前在该目标上设置一个断点。
  											 并可以与break一样对目标的不同阶段设置断点
  delete BREAKPOINT_NUMBERS...    (d)删除断点
  down [AMOUNT]                   (D)向下移动 AMOUNT 个栈区,AMOUNT默认为1
  edit                            (e)在当前目标进行编辑
  expand STRING                   (x)如果STRING中有变量,扩展变量
  finish [AMOUNT]                 (F)运行到目标完成时(跳过依赖),类似单步调试,AMOUNT指额外运行的次数,默认为0
  frame N                         (f) 从当前目标改变到指定目标上,栈区跳转,N默认为0
  help [ command [ subcommand ]   (h)  ?  帮助信息
  info [SUBCOMMAND]               (i)
  list [TARGET|LINE-NUMBER]       (l)列出目标信息
  load *file-glob*                (M)读取指定的makefile
  next [AMOUNT]                   (n)运行到下一个认为你感兴趣的目标,如目标的依赖
  print {VARIABLE [attrs...]}     (p)打印变量的值
  pwd                             (P)打印当前工作目录
  quit [exit-status]              (q)  exit, return 退出remake一层嵌套
  run [ARGS]                      (R)  restart 从头开始运行Makefile,没有参数时,使用最后指定的参数(运行时)
  set OPTION {on|off|toggle}      (=)修改调试器的设置相关环境变量
  setq VARIABLE VALUE             (")设置GNU Make变量,值内的变量定义时不扩展,使用时扩展
  setqx VARIABLE VALUE            (`)设置GNU Make变量,值内的变量定义在赋值发生之前展开。
  shell STRING                    (!)  !! 在debugger中执行shell命令
  show [SUBCOMMAND]               (S)显示调试器的设置相关环境变量
  skip                            (k)跳过执行您当前目标的其余命令。
  source *file-glob*              (<)从文件(源文件)读取和运行调试器命令
  step [AMOUNT]                   (s)逐步执行,直到遇到下一个目标。AMOUNT表示步数
  target [TARGET-NAME] [info1 [info2...]] (t)
  up [AMOUNT]                     (u) 向上移动 AMOUNT 个栈区,AMOUNT默认为1
  where [count]                   (T)  backtrace, bt 打印目标的栈,默认打印全部,可以指定count显示最近的几个栈
  write [TARGET [FILENAME]]       (w) 将目标需要执行的命令写入到文件中

Readline command line editing (emacs/vi mode) is available.
For more detailed help, type 'help COMAMND-NAME' or consult
the online-documentation.

打印说明

Reading makefiles...
Updating makefiles...
Updating goal targets...
-> (/home/hide_liao/Project/openwrt/include/toplevel.mk:226)  位置信息
prereq: prepare-tmpinfo .config
remake<<0>>

->,事件图标
(/home/hide_liao/Project/openwrt/include/toplevel.mk:226),位置信息
prereq: prepare-tmpinfo .config,目标与依赖
remake<<0>>,提示符<0>中的0是命令历史编号。如果支持GNU Readline历史,那在我们输入命令时会增加它,否则它将保持为零。对于每个要重新执行的递归调用,我们将在该数字周围添加另一对尖括号<>。

Here is a list of event icons:

IconEvent
->Stopped before checking target prerequisites.暂停在检查目标条件的之前
..Stopped after checking target prerequisites.
<-Stopped after running target commands.暂停在运行完目标的命令的时候
rdAbout to read a Makefile
!!Error encountered and --post-mortem flag given. In post-mortem debugging. 出现错误!!
--Ran a debugger step of a Makefile target and it’s not one of the above.
++Ran a debugger step in a POSIX command and it’s not one of the above.
:oA call to the debugger using the $(debugger) function in the Makefile
||Finished making the goal target

设置断点

Examples:

break               # list all breakpoints
break 10            # Break on line 10 of the Makefile we are
                    # currently stopped at
break tests         # Break on the "tests" target
break tests prereq  # Break on the "tests" target before dependency checking is done

必须在执行对应目标或行号之前设置断点。
对于目标来设置断点,有三个地方,你可能想停下来;这个名称可以作为最后一个选项提供。

  • before target prerequisite checking(目标判断是否运行之前): prereq
  • after target prerequisite checking but before running commands(目标判断是否运行之后,命令运行之前,默认为该项): run
  • after target is complete(目标命令执行完毕之后): end

删除断点

delete [ bpnumber [bpnumber…] ]

参数为断点号,多个时使用空格分隔。不设置参数时,默认删除所有断点

打印变量

print [variable]

变量无需带$符号,并且大小写敏感

扩展变量

expand string

remake<0> expand MAKE
(origin default) MAKE := /tmp/remake/src/./make


/tmp/remake/src/Makefile:264: Makefile.in

remake<1> print MAKE  # note the difference with the print
(origin default) MAKE = $(MAKE_COMMAND)

remake<2> expand $(MAKE)   # Note using $( ) doesn't matter here...
/tmp/remake/src/./make     # except in output format - no origin info

解析目标

target [target-name] [info1 [info2…]]

target-name是目标的名称,也可以是变量,如@(当前目标)或<(第一个依赖项)。如果省略了目标名称,则使用当前目标。
info可以有下列的选项:

  • attributes: rule
    • attributesprecious,
    • rule search,
    • and pattern stem
  • commands: 显示要更新目标所需执行的命令
  • depends: 显示目标的依赖,包括order 和 non-order的依赖
  • expand: 类似"commands",但是makefile的变量将会被扩展
  • nonorder: non-order dependencies
  • order: “order dependencies”
  • previous:有多个双冒号时的前一个目标名称
  • state: 目标的状态:
    • successully updated
    • needs to be updated
    • failed to be udated
    • invalid, an error of some sort occurred
  • time: 最后修改时间和文件是否被更新。如果目标不是最新的,将会打印“File is very old.”。如果目标是伪目标,则会打印 “File does not exist.”,而不是时间。在某些情况下,您可能会看到“Modification time never checked.”
  • variables: automatically set variables such as @ or <

将目标的命令写到一个文件中

write [target [[filename|here]]]

该命令会将target会执行的命令写入到filename中,如果指定的是here,则不写入文件中,直接在debugger中打印内容。
如:

$ remake -X -f tests/spec/example/simple.Makefile
Reading makefiles...
Updating makefiles....
Updating goal targets....
-> (/tmp/remake/tests/spec/example/simple.Makefile:2)
all:
remake<0> write
File "/tmp/all.sh" written.
remake<1> w all here
#!/bin/sh
## /src/external-vcs/github/rocky/remake/tests/spec/example/simple.Makefile:2
## all:

#cd /src/external-vcs/github/rocky/remake
echo all here

从文件中读取命令开始运行

source file-glob

Read debugger commands from the glob expansion of file-glob;

file-glob should resolve after glob expansion to single file.

Examples:

source /home/rocky/remake-dbgr.cmds  # absolute path
source ./remake-dbgr.cmds            # relative path
source remake-dbgr.cmds              # relative path - same as above
source ~/remake-dbgr.cmds            # "~" is glob expanded
source ~/[r]emake-dbgr.cmds          # Same as above
source ~/remake-dbgr.* # Includes the above, but is an error if not unique

列出目标信息

list [ target ]

list line-number | -

列出目标依赖项和目标或行号的命令。
如果没有指定目标名称或行号,则使用当前目标。目标-意思为,将使用目标堆栈上的父目标。

显示与设置调试器的参数

显示参数:

remake<1> show
show args       -- Show the command-line invocation
show basename   -- Show if we are to show short or long filenames is off.
show commands   -- Show the history of commands you typed.
show debug      -- Show the value of the GNU Make debug mask (set via `--debug` or `-d`) is 3361.
show ignore-errors -- Show the value of the GNU Make `--ignore-errors` (or `-i`) flag is off.
show keep-going -- Show the value of the GNU Make `--keep-going` (or `-k`) flag is off.
show silent     -- Show the value of the GNU Make `--silent` (or `-s`) flag is off.
show version    -- Show the remake version.

设置参数,最后的is off表示当前这个选项的值:

remake<1> set
set basename   -- Set if we are to show short or long filenames(是否只显示文件名,隐藏路径名) is off.
set debug      -- Set GNU Make debug mask(设置make的debug掩码) (set via --debug or -d) is 3361.
set ignore-errors -- Set value of GNU Make --ignore-errors (or -i) flag is off.
set keep-going -- Set value of GNU Make --keep-going (or -k) flag is off.
set silent     -- Set value of GNU Make --silent (or -s) flags. is off.
set variable   -- Change a debugger setting

参考

https://remake.readthedocs.io/en/latest/

目标跟踪算法综述 前言: 目标跟踪是计算机视觉领域研究的一个热点问题,其利用视频或图像序列的上下文信息,对目标的外观和运动信息进行建模,从而对目标运动状态进行预测并标定目标的位置。目标跟踪算法从构建模型的角度可以分为生成式(generative)模型和判别式(discrimination)模型两类;从跟踪目标数量可分为单目标跟踪和多目标跟踪。目标跟踪融合了图像处理、机器学习、最优化等多个领域的理论和算法,是完成更高层级的图像理解( 如目标行为识别) 任务的前提和基础。 目标跟踪的基本任务是在一段视频序列中给定目标的初始.. 阅读详情

相关推荐

inferCNV包安装问题及解决办法

InferCNV是一个由broad研究所开发的,利用单细胞转录组数据分析肿瘤细胞拷贝数变异(CNV)的工具。基本思路是在整个基因组范围内,通过计算肿瘤细胞关于参考的“正常”细胞的相对表达,利用滑窗思想对邻近的基因相对表达,计算拷贝数。 先贴一个官方安装说明: 官方infercnv安装说明 安装infercnv包: if (!requireNamespace("BiocManager", quietly = TRUE)) install.packages("BiocManager") BiocManager:

m0_51042606的博客 6770

目标跟踪质心跟踪算法

质心跟踪算法实现过程 这里目前只给出了CPU版本,GPU版本的后续补上。 我在网上看的大部分质心跟踪算法不是正统的目标跟踪,而是在多目标跟踪中结合目标检测算法不同帧之间的相同目标做一个link。调研过程没有发现有相对比较完整的质心跟踪算法的实现,本文主要利用c++实现了质心跟踪算法,主要参考: https://wenku.baidu.com/view/ce958ce30a1c59eef8c75fbfc77da26924c59668.html https://wenku.baidu.com/view/047

wuyanxue的专栏 3794

基于python-opencv实现的质心跟踪算法

质心法相较于AI算法,具有极快的处理速度,在空天背景下跟踪效果不错。本文分享了一种基于轮廓提取的单目标质心跟踪算法和一种基于AI检测的多目标质心跟踪算法

weixin_43745234的博客 2211

目标跟踪入门:使用OpenCV实现质心跟踪

目标跟踪的过程: 1、获取对象检测的初始集 2、为每个初始检测创建唯一的ID 3、然后在视频帧中跟踪每个对象的移动,保持唯一ID的分配 本文使用OpenCV实现质心跟踪,这是一种易于理解但高效的跟踪算法。 质心跟踪算法步骤 步骤1:接受边界框坐标并计算质心 质心跟踪算法假设我们为每一帧中的每个检测到的对象传入一组边界框 (x, y) 坐标。 这些边界框可以由任何类型的对象检测器(颜色阈值 + 轮廓提取、Haar 级联、HOG + 线性 SVM、SSD、Faster R-CNN 等)生成,前提是它们是针对

AI浩 5835

Remake CLI 使用教程

Remake CLI 使用教程 项目介绍 Remake CLI 是一个用于创建交互式网页应用的工具,它允许开发者仅使用 HTML 就能构建功能丰富的应用。Remake CLI 提供了一个简单而强大的框架,使得开发者可以快速地搭建和部署应用,而无需深入了解复杂的 JavaScript 或后端开发。 项目快速启动 安装 Node.js 首先,确保你的系统上安装了 Node.js(版本 12.16+)。...

gitblog_00003的博客 702

Remake CLI 使用指南

Remake CLI 使用指南 1. 项目目录结构及介绍 Remake CLI 是一个用于快速搭建 Remake 应用程序的命令行工具。下面是典型的项目结构,当使用 npx remake create my-app 创建项目后: my-app/ │ ├── app/ # 应用代码存放目录 │ ├── components/ # 组件相关...

gitblog_00908的博客 500

Remake 框架使用教程

Remake 框架使用教程 项目介绍 Remake 是一个开源框架,旨在通过简单的 HTML 和 CSS 代码,帮助开发者快速构建自己的平台。Remake 提供了丰富的功能,包括用户账户管理、数据持久化、即时部署和路由等,使得开发者可以专注于前端设计,而无需编写后端代码。 项目快速启动 安装 Node.js 首先,确保你的系统上安装了 Node.js(版本 12 或更高)。 创建项目 使用 Rem...

gitblog_00912的博客 415

GNU Makefile--调试器remake

remake调试器 国外的开发人员对GNU Make进行了一定程度上的重构,增加了Makefile的动态调试功能,命名为remake。调试器的操作界面类似于GDB的命令行,开发者为其编写了详细的文档,有兴趣的可以参考。GNU Make自身也支持若干个调试选项,但其调试功能比较有限,remake的作者对此很不满。不过,remake工具对递归的调试(即一个Makefile脚本中调用$(MAKE)执行新的Makefile)支持不够完善,对单个Makefile的调试功能则相对完整。本文记录了笔者通过remake工具

yeholmes的专栏 1798

学习用remake来debug Makefile

学习Makefile的过程中发现了一个讲解很详细的例子,顺便学习一下用remake这个工具来debug Makefile 准备源代码和Makefile 就是原文中的第四版Makefile admin@ubuntu20:~/test_makefile$ cat fun1.c #include <stdio.h> void fun1() { printf("this is fun1\n"); } admin@ubuntu20:~/test_makefile$ adm.

ljyfree的专栏 1001

Remake框架安装与使用指南

Remake框架安装与使用指南 一、项目目录结构及介绍 Remake是一款高效且灵活的项目构建框架,旨在简化软件开发中的构建流程。以下是其基本的目录结构概述: remake-framework/ ├── README.md # 项目说明文件,包含快速入门和核心概念简介。 ├── LICENSE # 许可证文件,描述了代码使用的法律条款。 ...

gitblog_00349的博客 369

开源项目 Remake 使用教程

Remake 是一个基于 GNU Make 的增强版本,旨在提供更强大的调试功能和更好的用户体验。它允许用户在构建过程中进行更细致的控制和调试,适用于复杂的软件项目。 ## 项目快速启动 ### 安装 首先,克隆项目仓库到本地: ```bash git clone https://github.com/rocky/remake.git cd remake ``` ### 编译和安装 执

gitblog_00743的博客 481

remake命令 android,lol重开指令 掉线重开输入命令是什么?remake为何没办法输入

lol重开指令自上线以来获得广大玩家的喜爱,那么lol重开指令还有哪些有趣的玩法,一起来跟小编看看lol重开指令的相关攻略吧~lol很多的玩家都遇到过队友掉线的情况,而拳头制作的掉线比赛重开系统也正式确定将会在6.11版本中推出。大家对掉线重开机制肯定不是很了解,下面就是小编带来的详细介绍!精彩内容,尽在百度攻略:https://gl.baidu.com虽然单方面的碾压局会然胜利的一方感觉非常良好...

weixin_31880383的博客 1603

makefile的调试器remake

remake --debugger即可开始调试 转载于:https://www.cnblogs.com/dakewei/p/10762822.html

weixin_30707875的博客 1002

目标跟踪入门

1、什么是目标跟踪? 目标跟踪指的是,给定第一帧图像中的目标位置后,根据跟踪算法预测出后续帧中目标的位置。 2、目标跟踪算法的基本原理 目标跟踪算法一般包括四个部分:特征提取、运动模型、外观模型、在线更新机制。其中, 特征提取,用于提取图像目标的特征,特征一般要求既能较好地描述跟踪目标又能快速计算。常见的图像特征有灰度特征、颜色特征、纹理特征、Haar-like 矩形特征等; 运动模型,用于描述帧...

z5217632的博客 6397

实验8:Problem C: 质心算法

注明一点:这个代码不是我写的,是我跟别人要的,我的程序一直没得到想要的输出结果,水平有限,实在不知道错误在哪 Home Web Board ProblemSet Standing Status Statistics Problem C: 质心算法 Problem C: 质心算法 Time Limit: 1 SecMemory Limit: 1...

weixin_30375247的博客 1210

OpenCV 实时对象跟踪(质心跟踪)

本文章先介绍对象跟踪过程,考虑对象跟踪的特点决定使用:质心跟踪算法,然后会一步一步说明质心跟踪算法的实现;最后是如何用python代码实现。 实验效果如下: 对象跟踪过程 进行一组初始的对象检测(如:边界框坐标的输入集) 为每个初始检测创建唯一的ID(每个独立对象有唯一的ID) 然后跟踪每个对象在视频中的帧中移动时的情况,并保持唯一ID的分配 补充第二点:对象跟踪允许我们将唯一的I...

黎国溥 1万+

【WSN定位】加权质心定位算法【Matlab代码#13】

质心与加权质心定位算法对比,Matlab代码,可以直接运行,注释详细!

jayxiaoxionger的博客 5336

OpenCV目标跟踪之质心跟踪(Centroid)

Casevision公司的AVT21自动视频跟踪算法模块提供了多种跟踪算法:质心跟踪算法(Centroid)、多目标跟踪算法(MTT)、相关跟踪算法(Correlation)、边缘跟踪算法(Edge)、相位相关跟踪算法(Phase Correlation),场景锁定算法(SceneLock)和组合(Combined)跟踪算法。 质心跟踪算法(Centroid) 这种跟踪方式用于跟踪有界目标

Every moment of My life !!! 1万+

2024年上半年试题二:论性能测试方法及其应用

2025年1月,我以系统分析师的身份参与了公司OA系统的开发与建设。该系统包含的功能有打卡签到、公文流转、工资查询等。我们吸取了之前由于系统使用人数激增暴露出的短时间卡顿等问题,所以在本次开发中,我们非常重视系统的性能测试。通过自动化的测试工具模拟多种正常、峰值及异常负载条件对系统的各项性能指标进行测试。性能测试在软件的质量保证中起着重要的作用,它包括的测试内容丰富多样,常见的负载测试和压力测试都属于性能测试。

银帅 511

寿险业务财务接口系统渐进改造方案建议书介绍.ppt

寿险业务财务接口系统渐进改造方案建议书介绍.ppt

上一篇: git add说明文档
HideOnLie
博客等级 码龄7年 6粉丝 31原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值