Articles of 数组

OpenCL的。 奇怪的数组寻址/指针错误

我有这个简单的内核进行testing。 __kernel void nfa(__global const int *a, __global int *output) { output[0] = a[0]; } 注意:这是在CPU上运行,内存可能在主机上。 它导致这个错误。 * glibc检测到 ./program:malloc():smallbin双链表损坏:0x0000000000a4a540 * * 我怀疑这是破坏程序的一部分,因为它正在访问主机内存。 但据我所知,所有内存分配正确。 它在堆栈上,但在运行时停留在范围内。 但是,如果我这样做: __kernel void nfa(__global const int *a, __global int *output) { a = a; output[0] = a[0]; } 这导致答案2,这是正确的,因为a是一个数组[2,4,8]; 对自己的分配解决了这个问题… 这也很好,导致4。 __kernel void nfa(__global const int *a, __global int *output) […]

For循环打印两个$值而不是一个

我有一个bash数组循环的问题。 下面的代码,而不是单独打印每个值,join两个值,并打印它们,如果它们是一个。 #!/bin/bash declare -a array=( 'sf052' 'to060' 'pw' 'qb099' 'pw22' 'wp039' 'wx12' 'wx11' ) for i in "${array[@]}"; do echo $i done 输出: sf052 to060 pw qb099 pw22 wp039 wx12 wx11 预期产出: sf052 to060 pw qb099 pw22 wp039 wx12 wx11 运行bash –version提供 GNU bash, version 4.2.45(1)-release (x86_64-pc-linux-gnu) 和uname -a : Linux server1 3.11.0-12-generic #19-Ubuntu […]

更新/刷新terminal上显示的文本

我试图用C语言来创build一个人生游戏程序,但是我不是很熟悉更新terminal上显示的输出的过程。 所以,例如,我将有一个2d的char数组,其中每个元素将包含一个'#'或' – '。 我将这个数组打印到屏幕上,而不是每次出现状态变化时打印一个新的二维数组,我想用新的状态覆盖terminal中的旧数组。 我已经find了这样做的方法,但没有太多的运气。 我发现最接近printf函数(\ r)回车,但希望有人可以告诉我这样做的最好方法。 具体来说,我怎样才能在屏幕上打印一个二维数组,更改数组中的元素,并打印出旧的新数组,即覆盖它。

如何在bash中拒绝空数组索引

我写了这样的bash: #!/bin/bash GAP=1 Out=$1 ResultFile=$2 len=`wc -l $Out | awk '{print $1}'` eval "(COMMAND) &" pid=$! i=0 while kill -0 $pid; do if [ -N $Out ]; then newlen=`wc -l $Out | awk '{print $1}'` newlines=`expr $newlen – $len` tail -$newlines $Out > temp IP=( $(sed -n '<SomeThing>' temp) ) host=${IP[$i]} echo "exit" | nc […]

C shell:如何从一行标准input创build多个数组?

我需要find一种方法来完成使用C shell的下列任务(我不能使用不同的shell): 有一个程序使用伽罗瓦域计算从较大的多项式中输出多项式因子。 输出是一行,看起来像这样(不要注意数字的实际值;我随机select它们,而不是math运算): (0 1 4 6 7 8 11 12 13) = (0 1)^3 * (0 4 5) * (0 2 4 6)^4 * (0 2 3)^2 多项式math运算的方式,如果一个因子被提升到偶数,那么这个因子对于多项式的值是多余的。 类似乘以1.我需要做的是提取多项式因子,并消除多余的因素。 使用sed,我已经能够改变上述expression式的forms (0 1) ^ 3 * (0 4 5) * (0 2 4 6) ^ 4 * (0 2 3) ^ 2 但我不确定如何进行。 我想采取上述,input到一个C […]

Bash循环2variables中带有空格的数组

我正在研究脚本来查找服务器上目录的磁盘使用情况。 我需要处理名称中包含空格的文件夹。 我在使用for循环来运行每个带有空格的variables时遇到了问题,因为它会将它们看作两个单独的variables。 当前摘要: scandest="/root/*" usedest="/root/fileusage/diskusage" diskusage=$(du -sh $scandest > $usedest) dir=($(cat $usedest|cut -f2|cut -c7-)) storage=($(cat $usedest|cut -f1)) echo "${dir[@]}" 这将输出以下内容: anaconda-ks.cfg file test fileusage install.log install.log.syslog 一旦运行我的循环,文件“文件testing”将被拆分。 所以,如果我可以用每个variables的引号来回显,那么我就可以继续。 或者,如果有人对我想要达到的目标有更好的了解,那我就是耳朵! 谢谢 编辑2 循环包含2个数组目录和存储 for ((i=0;i<${#dir[@]};i++)); do echo "${dir[$i]}" — "${storage[$i]}" done 这又输出: anaconda-ks.cfg — 4.0K file — 0 test — 16K fileusage — 12K install.log […]

重写在bash中的二维数组单元格

我尝试在bash中设置下面的二维数组: $ a[0,0]=a0 $ a[1,0]=a1 $ echo ${a[0,0]} a1 我期望得到a0 ,我错过了什么?

在fortran程序中访问数组时发生分段错误

我有一个fortran程序。 子程序如下:程序执行1434行后出现分段错误,打印如下: i: 115 256 2 Segmentation fault (core dumped) 参数是n1 = 258,n2 = 258,n3 = 258。 NR = 46480。 为什么发生分段错误? 75 double precision u(nr),v(nv),r(nr),a(0:3),c(0:3) 76 common /noautom/ u,v,r …… 196 call zero3(u,n1,n2,n3) …… 1418 subroutine zero3(z,n1,n2,n3) 1419 1420 c——————————————————————— 1421 c——————————————————————— 1422 1423 implicit none 1424 1425 1426 integer n1, n2, n3 1427 double […]

在bash脚本的每个文件上使用exec

我正在为一个任务写一个基本的find命令(不使用find )。 现在我有一些我想要exec的文件。 语法如下所示: -exec /bin/mv {} ~/.TRASH 我有一个名为current的数组来保存所有的文件。 我的数组只保存/bin/mv , {}和~/.TRASH (因为我将-exec移出),并且存在一个名为arguments的数组中。 我需要它,以便每个文件都被传递给{}然后调用exec。 我想我应该使用sed来replace{}的内容(在for循环中): for i in "${current[@]}"; do sed "s@$i@{}" #exec stuff? done 我如何执行其他论据?

为什么不是我的bash数组附加工作?

这个脚本在AIX机器上工作得很好,但是现在在RH linux机器上,这个数组似乎不起作用。 新的RH框的版本是4.1.2 我声明我的数组 declare -a gridNames=() 我得到关于网格的信息 gridstats=`snmpwalk -v 2c -c splunk $host gridStatsTable -m $APPLIANCEMIB -OUQs -Ln` 除了从上面获得统计信息之外,我还可以重复使用它来查找所有gridNames,然后使用gridNames数组获取有关其地图的统计信息。 while read -r process; do gridNames=(${gridNames[@]} `grep gridName | awk -F "\"" '{print $(NF-1)}'`) done <<< "$gridstats" awk部分经过testing,并正确地返回一个gridname列表(在这种情况下只是一个),但是当我回显数组gridNames它的空。 我也尝试过使用 gridNames+=(`grep gridName | awk -F "\"" '{print $(NF-1)}'`) 但那也不pipe用