gpt4 book ai didi

c - 在 C 程序中使用 execvp 运行命令

转载 作者:太空宇宙 更新时间:2023-11-04 07:24:02 25 4
gpt4 key购买 nike

我想用execvp运行这个命令

gcc file1.o file2.o file3.o

我创建了一个包含这个的标签:

char * tab = {"file1.o", "file2.o", "file3.o", NULL };

当我这样调用 execvp 时:

 execvp("gcc",tab);

我有这个错误:

file1.o: erreur fatale: -fuse-linker-plugin, but liblto_plugin.so not found

当我编译文件时使用:

gcc file1.o file2.o file3.o

没有问题。

注意我的程序不是我为了简化而写的那样。有关完整代码,请访问 http://pastebin.com/zQ8pwmZd

最佳答案

传递给 execvpargv 数组的第一个元素(即传递给 execvp 的第二个参数)应该是(就像 with传递给任何 C 程序的 main 函数的 argv 数组)正在执行的程序的名称,其后的元素是第一个命令行参数。因此,tab 应该是:

char * tab[] = {"gcc", "file1.o", "file2.o", "file3.o", NULL };

关于c - 在 C 程序中使用 execvp 运行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19612695/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com