小编her*_*xbd的帖子

GNU Make的多通配符模式规则

我想写一些像正则表达式:

SRC:="a.dat.1 a.dat.2"    
$(SRC): %.dat.%: (\\1).rlt.(\\2)    
      dat2rlt $^ $@
Run Code Online (Sandbox Code Playgroud)

这样a.dat.1a.dat.2将给出a.rlt.1a.rlt.2.

在GNU Make info页面中,它显示"%只能使用一次".

在GNU Make中有一些技巧可以实现吗?

design-patterns makefile gnu-make

17
推荐指数
2
解决办法
8623
查看次数

是否可以在 glibc 端关闭 vdso?

我知道将 vdso=0 传递给内核可以关闭此功能,并且 glibc 中的动态链接器可以自动检测和使用内核中的 vdso 功能。

在这里我遇到了这个问题。在我的机构中有一个 RHEL 5.6 框(内核 2.6.18-238.el5),我只有普通用户访问权限,可能患有RHEL 错误 673616

当我在其上编译 linux-headers-3.9/gcc-4.7.2/glibc-2.17/binutils-2.23 的工具链时,gcc bootstrap 在 stage2 中的 cc1 中失败无法运行

Program received signal SIGSEGV, Segmentation fault.
0x00002aaaaaaca6eb in ?? ()
(gdb) info sharedlibrary 
From                To                  Syms Read   Shared Object Library
0x00002aaaaaaabba0  0x00002aaaaaac3249  Yes (*)     /home/benda/gnto/lib64/ld-linux-x86-64.so.2
0x00002aaaaacd29b0  0x00002aaaaace2480  Yes (*)     /home/benda/gnto/usr/lib/libmpc.so.3
0x00002aaaaaef2cd0  0x00002aaaaaf36c08  Yes (*)     /home/benda/gnto/usr/lib/libmpfr.so.4
0x00002aaaab14f280  0x00002aaaab19b658  Yes (*)     /home/benda/gnto/usr/lib/libgmp.so.10
0x00002aaaab3b3060  0x00002aaaab3b3b50  Yes (*)     /home/benda/gnto/lib/libdl.so.2
0x00002aaaab5b87b0  0x00002aaaab5c4bb0  Yes (*)     /home/benda/gnto/usr/lib/libz.so.1
0x00002aaaab7d0e70  0x00002aaaab80f62c  Yes (*)     /home/benda/gnto/lib/libm.so.6 …
Run Code Online (Sandbox Code Playgroud)

gcc glibc linux-kernel vdso

5
推荐指数
1
解决办法
1491
查看次数

用boost.python交换numpy数组:pyublas或boost.numpy?

我通过py ++/boost.python将C++数据密集库与Python连接起来.在对我的程序进行概要分析后,我发现70%的运行时间花费在这样的代码上:

ni = range(v2o.getHits())
tau = np.array([v2o.TofCorrectedTime[i] for i in ni])
q = [v2o.getCharge()[i] for i in ni]
Run Code Online (Sandbox Code Playgroud)

v2o.TofCorrectedTime键入__array_1_float_2368从PY ++.v2o.getCharge()也是从py ++中键入的_impl_details_range_iterator_.大小约为2000,从这些py ++数组包装器到numpy的转换很慢:

In [42]: timeit np.array(v2o.TofCorrectedTime)
100 loops, best of 3: 2.52 ms per loop

In [43]: timeit np.array(v2o.getCharge())
100 loops, best of 3: 4.94 ms per loop

In [44]: timeit np.array([0]*2368)
1000 loops, best of 3: 310 µs per loop

In [45]: timeit np.array(np.zeros(2368))
100000 loops, best of 3: 4.41 …
Run Code Online (Sandbox Code Playgroud)

c++ python boost numpy

3
推荐指数
1
解决办法
909
查看次数

标签 统计

boost ×1

c++ ×1

design-patterns ×1

gcc ×1

glibc ×1

gnu-make ×1

linux-kernel ×1

makefile ×1

numpy ×1

python ×1

vdso ×1