[英]How to use GNU extension like wc as execvp's argument in clion?
簡單細分:
//temp.c
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <sys/wait.h>
int
main(int argc, char *argv[])
{
char *myargs[3];
myargs[0] = strdup("wc");
myargs[1] = strdup("temp.c");
myargs[2] = NULL;
execvp(myargs[0], myargs);
}
在終端:
$ gcc temp.c; ./a.out你好,我是孩子(pid:30232)17 37362 temp.c
好的,它工作正常。
在線索中:
wc:temp.c:沒有這樣的文件或目錄
那么,如何在clion中啟用類似wc
gnu擴展?
CLion在CMake項目設置中指定的單獨構建目錄中編譯並運行程序,通常是項目根目錄中的cmake-build-debug
子目錄。 這意味着,運行程序時,工作目錄中沒有temp.c
文件。
換句話說,您的項目布局很可能看起來像:
.
├── cmake-build-debug
│ ├── temp ### <- your executable
│ └── ...
├── CMakeLists.txt
└── temp.c
嘗試將絕對路徑傳遞到/path/to/temp.c
或相對路徑,以從工作目錄(即項目構建目錄,即../temp.c
找到它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.