标签: gnu

GNU Smalltalk - 格式化输出并禁用 GC 消息

如何使用 GNU Smalltalk 3.0.5 stable 禁用垃圾收集消息?另外,有没有办法去掉输出字符串时输出的引号?

Ex:
'test' printNl. 
Run Code Online (Sandbox Code Playgroud)

印刷

'test'

而不是

test

smalltalk gnu

2
推荐指数
1
解决办法
666
查看次数

Makefile 收集新目录中的文件列表

我有一个变量中的文件路径列表。我想将此列表中的每个文件复制到新位置。问题是我对 makefile 非常陌生,而且我正在努力让任何东西正常工作。我的尝试最终达到了以下目的,尽管不起作用(而且可能完全错误),但我希望它能说明我正在尝试做的事情。

FILES = a/b/file c/d/file e/.../file etc...
copyfiles:
       for file in $(FILES); do \
           cp $$file newDir/$(notdir $$file);  \
       done
Run Code Online (Sandbox Code Playgroud)

gnu makefile gnu-make

2
推荐指数
1
解决办法
4294
查看次数

Windows 中的 MSYS 主文件夹

我在 Windows 中使用 MSYS。我需要访问 MSYS 文件夹中的文件home

/home/usernameWindows C:\ 文件夹中映射到的文件夹在哪里MSYS

windows gnu msys

2
推荐指数
1
解决办法
2972
查看次数

make,变量取决于目标

生成文件

abc:
TEST=$@ /* TEST=abc */

def:
TEST=$@ /* TEST=def */

xxx:
        @echo $(TEST)
Run Code Online (Sandbox Code Playgroud)

如果我运行make abc xxx,我期望输出abc

如果我运行make def xxx,我期望输出def

但事实并非如此。似乎make不允许我在目标中定义变量。我的问题是如何定义一个变量及其值(取决于构建的目标)?

gnu makefile

2
推荐指数
1
解决办法
3310
查看次数

如何使用 GNU 并行运行命令列表,其中 4 个命令同时运行

我有我想要调用的 shell 命令列表。最多可同时运行四个进程。

一旦进程计数低于 4,下一个命令就会发送到 shell,直到所有命令完成。

我已经从 stackoverflow 的同事那里得到了一个“部分”工作的解决方案,但是它依赖于 wait -n,这在我的 debian wheezy 安装中不可用。

链接到其他 stackoverflow 问题

一个人提到了 GNU Parallel。这能实现吗?非常感谢任何指导!

nohup scrapy crawl urlMonitor -a slice=0 &
nohup scrapy crawl urlMonitor -a slice=1 &
nohup scrapy crawl urlMonitor -a slice=2 &
nohup scrapy crawl urlMonitor -a slice=3 &
nohup scrapy crawl urlMonitor -a slice=4 &
nohup scrapy crawl urlMonitor -a slice=5 &
nohup scrapy crawl urlMonitor -a slice=6 &
nohup scrapy crawl urlMonitor -a slice=7 &
nohup scrapy crawl urlMonitor …
Run Code Online (Sandbox Code Playgroud)

linux debian gnu gnu-parallel

2
推荐指数
1
解决办法
761
查看次数

了解 mpz_invert

我对多精度算术相当陌生,经过几天的尝试解决这个问题后,我不知所措。我试图将一个数的倒数取到大量的十进制位,并且一直在尝试找出如何使用 GMP 或 mpz/mpf 包来做到这一点。然而,我对理解此链接中的示例有点迷失:

http://sepwww.stanford.edu/sep/claudio/Research/Prst_ExpRefl/ShtPSPI/intel/mkl/10.0.3.020/examples/gmp/source/mpz_invert_example.c

/* to compute the inverse of op1 modulo op2 and put result in rop    */
/*                 p*x = s*n + 1    ( rop = p, op1 = x, op2 = n )    */
/*                                                                   */
    n = mpz_invert ( rop, op1, op2 );
Run Code Online (Sandbox Code Playgroud)

我在我的 ide 中复制了这个例子,编译并运行,我得到了正确的输出:

/* rop =  2288                                                       */
/* n = 1 
Run Code Online (Sandbox Code Playgroud)

但是我不明白2288是什么?即计算 op1 以 op2 为模的逆并将结果放入 rop 中

谁能解释一下这个数字是如何获得的?

或一个简单的例子说:

1875^-6

或查看以下链接: How does onecalculate 2 ^ -18 using GMP? …

c precision gnu gmp

2
推荐指数
1
解决办法
3141
查看次数

makefile 独立@符号和dir关键字

我想知道是否有人知道我的 makefile 中的独立 @ 符号和 'dir' 命令在这里的作用(第二行和第三行):

$(BUILD)/%.o: %.cpp
    @mkdir -p $(dir $@) 
    $(CC) $(CFLAGS) -c $? -o $@
Run Code Online (Sandbox Code Playgroud)

我明白 $@ 是什么,但是 @ 本身并没有在 GNU 手册(https://www.gnu.org/software/make/manual/html_node/Automatic-Variables.html)中列出,并且我所有的搜索都讨论了 $ @。

此外,在第三行中,我知道 mkdir -p 创建嵌套目录,但我希望有人可以详细说明 $(dir $@) 特别是“dir”部分。

感谢您的时间。

symbols gnu makefile

2
推荐指数
1
解决办法
1209
查看次数

gnu 实用程序中 ranlib 中的确定性模式

我正在阅读有关ranlib更新索引或生成存档内容索引的内容

\n\n

这里

\n\n

在您可以提供的选项中ranlib-D\nand-U

\n\n

我阅读了定义,但我无法理解它:

\n\n

他们是这么说的:

\n\n
-D\n
Run Code Online (Sandbox Code Playgroud)\n\n

在确定性模式下运行。符号映射存档成员\xe2\x80\x99s 标头的 UID、GID 和时间戳将显示为零。使用此选项时,多次运行将生成相同的输出文件。\n如果 binutils 配置了 --enable-deterministic-archives,

\n\n

任何人都可以提供这两个选项的简单解释ranlib\n(-D 和-U)

\n\n

为什么有人需要使用这个选项?

\n

unix gnu makefile archive unix-ar

2
推荐指数
1
解决办法
552
查看次数

STM32 创建 RAM 部分

我使用 STM32H7 微控制器和 GNU/GCC,在我的代码中,我只使用 DTCM RAM,但我想将一些缓冲区存储在另一个可由 DMA 访问的内存中。
我对链接脚本完全陌生,是否需要编辑启动代码?
这是我的链接器脚本,我在其中添加了一些代码SECTIONS

/* Memories definition */
MEMORY
{
  DTCMRAM    (xrw)    : ORIGIN = 0x20000000,   LENGTH = 128K
  ITCMRAM    (xrw)    : ORIGIN = 0x00000000,   LENGTH = 64K
  RAM_D1    (xrw)    : ORIGIN = 0x24000000,   LENGTH = 512K
  RAM_D2    (xrw)    : ORIGIN = 0x30000000,   LENGTH = 288K
  RAM_D3    (xrw)    : ORIGIN = 0x38000000,   LENGTH = 64K
  FLASH    (rx)    : ORIGIN = 0x8000000,   LENGTH = 2048K
}

/* Sections */
SECTIONS
{
   ...
   
   .ram1block 0x24000000 …
Run Code Online (Sandbox Code Playgroud)

c ram gnu stm32 linker-scripts

2
推荐指数
1
解决办法
760
查看次数

如何在 Debian 上安装 Clang 11

我正在尝试使用“Debian GNU/Linux 10”在 PC 上编译 C++ 项目。该项目需要 clang,所以我安装了它:

sudo apt-get install clang
Run Code Online (Sandbox Code Playgroud)

但是我遇到了以下错误:

Clang version must be at least 11, the version used is 7.0.1
Run Code Online (Sandbox Code Playgroud)

我如何安装clang 11?

注意:我不想再次安装整个 LLVM 包。只想将 Clang 从版本 7 升级到 11,最好通过命令行。

c++ linux debian gnu clang

2
推荐指数
1
解决办法
6227
查看次数