2

g-wanに含まれているhello.cを変更して#defineTEST_VALUE50の単純なヘッダーを含め、それをhello.cファイルに出力すると、ヘッダーファイルを変更してもg-wanの更新がトリガーされないことに気付きました。サーブレット。したがって、ヘッダーファイルのテスト値を51に変更しても、出力に変更は記録されません。hello.cファイルに変更を加えると、g-wanが依存関係を含めてサーブレットを再コンパイルし、ヘッダーの変更がコンパイルされます。これは予想される動作ですか?これは、多くの依存関係がある開発中に、行われるすべての変更が依存関係ファイルにある場合に再コンパイルをトリガーするために、メインサーブレットファイルの1文字だけを更新する必要があることを意味するので興味があります。

この動作はTimBoltonによって指摘されたので、私もそれをテストし、前のスレッドとは別の質問として提示することにしました。

ご入力いただきありがとうございます。

G-WAN 3.3.28 64ビット(2012年3月28日11:24:16)-2012年10月19日現在のダウンロードで見た最新バージョン... Ubuntu Server10.04.4LTSで実行-64ビット

4

2 に答える 2

1

これは予想される動作ですか?

はい。

つまり、多くの依存関係を持つ開発中に、変更がすべて依存関係ファイルにある場合は、メイン サーブレット ファイルの 1 文字だけを更新して再コンパイルをトリガーする必要があります。

いいえ。過去 30 年間 (少なくとも) プログラマーが使用してきたより良い方法があります。

Unix コマンドは、ファイルのtouch内容を変更せずにファイルのタイム スタンプを更新しています。

ヘッダーを変更したときtouchのサーブレットのみ。hello.c

また、C ヘッダーは C ファイルよりも「安定」していると考えられていることにも注意してください。ヘッダーに格納されているものは、多くの C ファイルで共有definesされるため、その変更のために C ファイルを頻繁に使用することを検討する必要があります。

少なくとも、両方のケースで続行する方法を知っています。

于 2012-10-22T07:42:36.767 に答える
0

私もこの問題を抱えているので、解決に役立つサーブレットを作成しました。これを使用すると、CSP フォルダーのすべてのファイルを更新する必要がなくなります。コードをブログに掲載しました。

servlet_dependencies を更新する

このスクリプトは、CSP フォルダーの下のすべてのファイルに対して touch コマンドを実行するだけです。

于 2012-11-13T15:21:21.577 に答える