繁体   English   中英

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

[英]run a command with execvp in c program

我想用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

所述的第一个元素argv传递到阵列execvp (即,传递给第二个参数execvp )应(就像用argv传递给数组main正在执行,与所述元素的任何C程序的功能)的程序的名称之后是第一个命令行参数。 因此, tab应为:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM