0

cmd行引数を指定したいCファイルがあります。

言う

$ make --argument1 

またはこのようなもの。

そのため、メインプログラムで、argv [1]を実行して、変数にアクセスできるようにする必要があります。

私はこれを行う方法を探してみました。実際にこれを行う方法はありますか?

これらは、makeに関するGNULinuxマニュアルで見つけた関連コンテンツでした。

コマンドラインで定義された変数は、MAKEFLAGSを介してサブメイクに渡されます。'='を含むMAKEFLAGSの値の単語は、コマンドラインに表示されているかのように変数定義として扱われます。

これは私がもっと読む必要があるものですか、それとも別の文脈でですか?

私に知らせてください。

4

2 に答える 2

0

あなたの質問はあまり意味をなさないので、行間を読んで、他の誰かが書いた Makefile があると推測します。make を実行すると、何らかのプログラムが実行されます。コマンドライン引数を与えたい。

そのためには、おそらく Makefile を変更する必要があります。そのためには、make がどのように機能し、どのように使用するかを理解するのに役立ちます (この件に関する本を見つけたいと思うかもしれません)。

Makefile のどこかに、プログラムを呼び出すために使用されるアクション行があります。その行を見つけることができれば、必要な引数を追加できます。

于 2012-08-18T06:15:12.723 に答える
0

コマンドライン引数の使用を誤解していると思います-実行可能ファイルがコンパイルされたときではなく、実行されたときに与えられます。

より良い例

foo.c

#include <stdio.h>

int main()
{
   int myval=DEFVAL;

   printf("myval=%d\n", myval);
   return 0;
}

メイクファイル

DEFVAL=17

foo: foo.c
   gcc -DDEFVAL=${DEFVAL} foo.c -o $@
于 2012-08-18T00:06:07.267 に答える