请教linux内核中goto语句的问题

请教linux内核中goto语句的问题,第1张

goto不能释放内存,但是利用goto语句可以使程序严谨,你仔细看看上面的例子,用了goto,不论程序走什么分支,分配了的内存都得到了释放。如果直接return,那么前面分配的空间就在没释放就退出程序了,你自己想想吧。

更详细的讲解可以查看《Linux就该这么学》,里面有详细的解答。

执行完goto exit_free_als_dev

执行

...

error1:

xxxxxxx

exit_free_als_dev:

input_free_device(data->input_dev_a)

error2:

yyyyyyy

exit:

retuen err

这个写成脚本就可以实现了,你说的: goto是一个循环,在shell里构建循环,例如

(linux执行不了windows的程序,内核不同,如果你要运行exe,需要装wine,我就用linux的程序来执行了)

datetime=$(date +%H%M%S) (这里设定的是时间,你可以选择参数,我是时分秒)

loop (){

diff qsot.txt xuanpai.txt

sh zhushuju.sh

if [ $? -eq 0 ]then

echo “$datetime”

else

return (返回)

fi

sleep 10

sh qsort.sh >qsort.txt (执行后输出到qsort.txt)

if [ $? -eq 0 ]then

echo "$datetime"

else

return

fi

sleep 10

sh xuanpai.sh >xuanpai.txt

sleep 5

loop

read -p "end"

可能有什么错误,呵呵。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7354436.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-04
下一篇2023-04-04

发表评论

登录后才能评论

评论列表(0条)

    保存