




孩子走在前面,大人在后面,双手搭在肩膀上或者拉住孩子的衣角,和孩子一起走。边走边念:
牵羊,买羊,
买到河家大洋,
牛屎碰到脚(jio),
问到老板买羊不?
“买一羊”?
“一羊断了角”;
“买二羊”?
“二羊断了脚(jio)”;
“买三羊”?
“三羊四羊随你捉”。
另一个大人从旁边过来拦住孩子,并假装要抱他。
大人翘二郎腿,孩子放置在翘起的脚的脚踝处,同时大人双手扶住孩子或者拉住孩子的手,一边跷腿一边唱:
跷跷,
跷跷,
跷得我的宝宝捡柴烧,
今日捡一担,
明日捡一礁,
又有卖,
又有烧,
金银财宝进荷包。(同时逗笑孩子)
有一个需求,需要对for循环中创建的动态数组进行操作,记录一下历程:
最开始在函数开头定义了循环变量i和动态数组trace,并紧接着用malloc对trace分配空间,在for循环的前一行用#pragma omp for private(i)能编译成功,但结果错误。分析原因是因为每次循环都共享了trace,导致计算错误;
然后将for前定义改为#pragma omp for private(i,trace),编译出现段错误;
https://www.coder.work/article/1564167给出了解决问题的正确方法:先用omp定义parallel块,然后动态分配内存,再用omp开启for循环,结束for循环后释放内存,并结束parallel块。如下:
#pragma omp parallel num_threads(40) private(i,trace)
{ // parallel 块是需要大括号的
trace=(float *)malloc(sizeof(float)*sz);
# pragma omp for
for(i=0;i<len;i++)
{
trace=xxxxxxx;
.......
}
free(trace);
}