運行我的程序的UNIX命令行是「P2 -s input.txt的」的Makefile C命令行參數
(通常不生成文件),以檢查標誌== -s我有我的UNIX輸入是 - a.out的-s input.txt中,和我的main.c是:
int main(int argc, char argv[])
{
if(argv[1] == "-s")
{
printf("The flag is -s\n");
}
else
{
printf("The flag is not -s");
}
return 0;
}
現在,當我用一個makefile代碼這一點,我應該改變我如何檢查該標誌?或者我需要更改main.c的參數?我的Makefile:
all: p2
p2: main.o functions.o
gcc -o p2 main.o functions.o
main.o: main.c
gcc -c main.c
functions.o: functions.c
gcc -c functions.c
clean:
rm -f *.o core
我想你應該使用'strcmp(argv [1],「-s」)== 0'而不是'argv [1] ==「-s」'。 – MikeCAT
你的問題不清楚。爲什麼makefile會影響你編寫解析程序命令行的代碼? makefile可以幫助你構建程序。然後你就像平常一樣運行程序。 – kaylum
謝謝@mikeCAT。我以爲我曾嘗試過,我認爲它給了我一個比較指針和整數的錯誤。謝謝我感謝您的幫助! – John