GCC警告“missing sentinel in function call [-Wformat=]”

马谦马谦马谦 2018年5月21日15:57:25 发表评论
文章最后编辑于:2018-5-23 19:59:30

使用exec族函数时抛出以下警告:

错误的原因在man page中找到:

execv, execvp, execvpe这几个函数可以给新创建的进程传递参数,但是The array of pointers must be terminated by a null pointer这一句告诉我们最后一个参数一定是一个指向NULL的指针。

而从警告内容来看,我的函数调用为:execlp("/bin/ls", "/bin/ls", "-l", "."),最后并没有按照约定传递NULL参数导致出现错误。所以解决方法就是在函数最后加上NULL或者(char*)0

本文共执行40次查询,耗时0.285秒!
马谦马谦马谦

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: