任何人都可以告诉我这些sed命令的作用以及我如何手动插入它们。
sed -i '/^__func__.*__syncthreads/ {
i\
#if !defined(__CUDA__)
N
N
N
N
a\
#endif
}' $device_functions.h
sed -i '/^#define __device__ / {
i\
#if !defined(__CUDA__)
N
N
N
N
N
N
N
N
N
N
N
a\
#endif
}' $host_defines.h
答案 0 :(得分:3)
这是程序的作用:
^__func__.*__syncthreads
匹配的行,并使用{在N
和#if !defined(__CUDA__)
中包裹该行以及接下来的四行(四个#endif
) {1}}(立即输出)和i\
(附加输出)。a\
匹配的行,并在^#define __device__
和#if !defined(__CUDA__)
中包含该行以及后续行的11行。分别由#endif
和$host_defines.h
指定的文件以就地方式($device_functions.h
)完成,因此文件的内容已更改。