草庐IT

gnu-make

全部标签

linux - 如何在 GNU Octave 中抑制警告

我正在使用Octave版本3.4.3,我收到此警告:warning:fmincg.m:possibleMatlab-styleshort-circutoperatoratline104,column20我知道为什么会出现这个警告,我只是想让这个警告在运行时不出现在屏幕上。我知道我可以通过将此命令放在我的Octave程序的顶部来抑制所有警告:warning('off','all');文档:https://octave.sourceforge.io/octave/function/warning.html但这会禁用所有错误形式的警告。如何只禁用这个? 最佳答案

linux - 绘制由 make 生成的 DAG?

我的理解是,当make执行时,会在内部生成一个DAG来表示项目中所有的依赖。有没有办法获取该DAG并将其绘制成图形,比如使用graphviz之类的东西?我在Ubuntu8.04上使用gnumake。编辑我刚刚遇到了这些名为mamdag的工具和mamdot.他们应该与nmake和gnumake一起工作,但我似乎找不到让gnumake吐出mam文件的选项。Itcanbedownloadedhere-这些包:初始化ast-baseAST-GPL刚在AT&T找到GlennFowler的这篇文章describingtheMAMlanguage和mamdot工具。虽然我还不是100%确定,但似乎你

linux - 构建 ARM GNU 交叉编译器

类似的(描述性较差的)帖子是here.我正在尝试使用Ubuntu上的最新版本推出我自己的工具链,并希望这里有足够多的Linux社区,以便我可以在出现某些问题时获得具体建议。在大家的帮助下,我希望最终能将其变成有用的引用。首先,几乎每个人都提到的“Crosstool”有点过时(2006年),而“Crosstool-NG”似乎现在在我的机器上失败了。我宁愿调试过程本身而不是脚本(这似乎需要我理解过程)。以下是我目前所做工作的基本步骤;目前我一直在尝试编译第一遍GCC。失败的地方......失败是因为缺少包含“crti.o”的交叉编译库:#./gcc-4.4.1/configure--tar

c - Perl 进程卡住 «*** glibc detected *** perl : corrupted double-linked list: 0x0000000001474b40 ***» - how can I make it terminate?

我一直在尝试调试Perl5和XML::LibXML(我现在维护的)的内存损坏问题。现在这是我得到的:shlomif@lap:~/progs/perl/cpan/XML/LibXML/bugs/perl-xml-libxml-bugs/XML-LibXML-reader-segfault$maketestXML_CATALOG_FILES="`pwd`/sgml-lib/catalog.xml"perlfind_ascii_quotes.plindex.html***glibcdetected***perl:corrupteddouble-linkedlist:0x00000000014

linux - 如何在 Linux 上安装和使用 GAS(GNU 编译器)?

我正在使用Ubuntu,我正在寻找适用于Linux的汇编编译器,然后我找到了GAS。我正在尝试安装并运行它,但我不能。 最佳答案 as是GNUAssembler.它位于binutils中,但如果您这样做:sudoapt-getinstallbuild-essential您将获得gas以及gcc(默认使用gas在后端进行组装)。有关使用gas的“教程”,您可能需要阅读ProgrammingFromtheGroundUp,它使用它。要从.s文件构建静态可执行文件,#!/bin/bashf="${1:-}"as"${f}"-o"${f%%

linux - 使用 gnu DDD 进行远程调试

问题:当目标在远程主机上时,是否可以调试?示例:#ddd--debugger/usr/bin/bashdb(onremotehost) 最佳答案 在目标(远程)机器上使用gdbserverasexplainedthere.然后按照gdb远程调试的配置步骤(查找gdb文档),在ddd控制台窗口中键入命令(这是对gdb提示符的传递)。这可能是这样的(例如,如果您到目标的链接是USB到串行链接):(gdb)setremotebaud115200(gdb)targetremote/dev/ttyUSB0或(gdb)targetremotet

linux - x86 程序集 : Before Making a System Call on Linux Should You Save All Registers?

我有下面的代码打开一个文件,将其读入缓冲区,然后关闭文件。关闭文件系统调用要求文件描述符号在ebx寄存器中。ebx寄存器在进行read系统调用之前获取文件描述符编号。我的问题是我应该在进行读取系统调用之前将ebx寄存器保存在堆栈中或某处(int80h是否会破坏ebx寄存器?)。然后恢复关闭系统调用的ebx寄存器?或者我下面的代码是否安全?我已经运行了下面的代码并且它有效,我只是不确定它是否通常被认为是好的汇编实践,因为我没有在int80h读取调用之前保存ebx寄存器。;;openuptheinputfilemoveax,5;openfilesystemcallnumbermovebx,

linux - "find"和 "ls"与 GNU 并行

我正在尝试使用GNUparallel将大量文件发布到网络服务器。在我的目录中,我有一些文件:file1.xmlfile2.xml我有一个如下所示的shell脚本:#!/usr/bin/envbashCMD="curl-XPOST-d@$1http://server/path"eval$CMD脚本中还有一些其他内容,但这是最简单的示例。我尝试执行以下命令:ls|parallel-j2script.sh{}这就是GNUparallel页面显示的对目录中的文件进行操作的“正常”方式。这似乎将文件名传递到我的脚本中,但curl提示它无法加载传入的数据文件。但是,如果我这样做:find.-nam

c++ - Boost.Log GNU/Linux 下的链接错误

我想测试Boost.Log库。不幸的是,我收到链接错误。我使用ArchLinux,并通过内置的包管理器pacman安装了Boost头文件和库:boost1.54.0-3boost-libs1.54.0-2编译来自officialsite的简单示例时通过g++log.cpp-lboost_log-lpthread,我得到以下错误:log.cpp:(.text+0x42):undefinedreferenceto`boost::log::v2s_mt_posix::trivial::logger::get()'log.cpp:(.text+0x9b):undefinedreferencet

linux - GNU 排序命令的行为(带有非字母 ASCII 字符,例如点或分号)

我希望sort命令平等对待所有字符。例如,当我这样做的时候$echo-e'TEST.b\nTESTa\nTESTc'|sortTESTaTEST.bTESTc点被忽略。我想在最后或第一个位置获取TEST.b。但是,我在手册页中找不到合适的参数。(我的sort版本来自GNU核心实用程序)。 最佳答案 强制使用C进行排序以比较原始字符值。$echo-e'TEST.b\nTESTa\nTESTc'|LC_COLLATE=CsortTEST.bTESTaTESTc 关于linux-GNU排序命令