fileppを使用してLinux上のC言語ソースファイルからコメントを削除する方法
- Linuxで開発している場合、fileppを使用してC言語のソースファイルからコメントだけを削除する方法を知りたいと思っています。
- 現在、fileppを使用してコメントだけを削除しようとしていますが、#ifdef〜#endifも削除されてしまいます。正しい修正方法を教えていただけませんか?
- コメントだけを削除できる別のツールやコマンドがあれば、それも教えていただけると助かります。
- ベストアンサー
filepp でコメントだけを削除したい(linux)
linux で開発しています。 filepp を使って C 言語のソースファイル(.c, .h)からコメントだけを削除したいのですが、 filepp -m c-comment.pm in_file.c > out_file.c だと、#ifdef ~ #endif も削除されてしまいます。 c-comment.pm を追いかけてみたのですが、知識が乏しく、正しい修正にはいたりませんでした。 対処方法を教えてください。 また、コメントだけを削除できれば filepp にはこだわりませんので、linux(FedoraCore5)上で動作するツールやコマンドをご存知なら教えてくください。
- toshi531
- お礼率86% (19/22)
- C・C++・C#
- 回答数2
- ありがとう数1
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
filepp -m c-comment.pm in_file.c > out_file.c を filepp -k -m c-comment.pm in_file.c | uniq > out_file.c にしていかがでしょうか? -k を追加することで、ほぼ期待に沿える動作をするかとおもいます。
その他の回答 (1)
- SAYKA
- ベストアンサー率34% (944/2776)
関連するQ&A
- #ifdef _DEBUGが効かない
こんにちは。 Win2000、VC++6.0使用。 今までC言語でプログラムを組んではいましたが、 #define _DEBUG #ifdef _DEBUG print(...); #endif というようにデバッグ用のコードを入れたことはありませんでした。 このような便利なものがあると知り、早速使ってみたのですが、 #define _DEBUG の一文をコメントアウトして、再コンパイル(リビルド) して実行してみたのですが、 普通に #ifdef _DEBUG #endif で囲まれた部分が実行されてしまいます。 #define _DEBUG を宣言しなければ、実行されないと思っていたのですが 自分の勘違いでしょうか? よくわかりません。 どなたかご存知の方、よろしくお願いします。
- 締切済み
- C・C++・C#
- コンパイル時のスイッチについて
C言語初心者なので申し訳ありませんが,コンパイル時のスイッチについて困っております. 現在, #define tmp ... #ifdef tmp 関数1 #else 関数2 #endif とtmpを定義して切り替えようとしております. 現在コンパイルの切替は,毎回 //#define tmp とコメントアウトして切り替えているのですが, gcc等のコンパイラのコマンドラインから 切り替える方法はあるのでしょうか. 色々調べたら, cc -D tmp みたいな?感じにするのかと思ったのですがうまくいきません. 初歩の質問ですがご教授よろしくお願いします.
- ベストアンサー
- C・C++・C#
- スクリプト言語 Linuxについて
Linuxコマンドについて教えてください。スクリプト言語・ Python をはじめたいと思っているのですが、それにLinuxコマンドは必要なのでしょうか?Pyhtonは他のC言語との関連性はどうでしょうか?
- ベストアンサー
- その他(プログラミング・開発)
- texでエディタを選ばない一括コメントアウトの仕方はある?
texをWindowsやLinuxやSolarisで使っております。 複数行を一気にコメントアウトする方法(C言語での/**/のような)はあるのでしょうか? 各作業先でのOSで秀丸やノートパッドやEmacsやviやkeditやgeditとかのエディタを使わねばならないのです。 特定のエディタでならCtrlキーを使って、%を一気に行頭挿入する方法は見つけたのですが、、、 C言語のように便利な/**/コマンドはないのでしょうか?
- ベストアンサー
- 数学・算数
- 開発におすすめなLinuxを教えてください
最近Linuxに興味を持ち始め、Linuxを使ってのソフト開発をしてみたいと思うようになりました。 しかし今までLinuxに全く手を付けたことがなくて、数あるディストリビューションのどれを選んだらいいのか悩んでいます。 開発がしやすいという観点でのおすすめのLinuxを教えてください。 ちなみにC言語での開発を考えています。
- ベストアンサー
- Linux系OS
- プログラムの評価に関して
C言語のソースコードを解析、評価しています。 コードがコメント(//や/* */)および#ifdefを多用しており 有効なコードが埋もれて見遠しが悪くなっています。 地道に草むしりのように無効な文を削除していますが、 簡単に処理するソフトは無いものでしょうか。 // 必要なコメント(説明文)のため削除したくない /* */ ばっさり削除 define無効な#ifdef ばっさり削除
- 締切済み
- C・C++・C#
- コメントの入れ子を何とか実現できないでしょうか?
コメントアウトの入れ子を、何とか実現できないかを伺っても宜しいでしょうか? XML仕様で<!-- -->の入れ子は許されない為、代替案を探しています。 代替案とは、例えばC/C++の #if 0 ~ #endif 等に相当する物です。 どうか宜しくお願い致します。
- ベストアンサー
- XML
- Linuxって、、、、、、
私は現在リナックスを使っているのですが、、、、、 親にリナックスって何?って聞かれると上手く答えられません、 自分自信一体なんのかよくわかってません、 C言語のできるOS?違う、そんなのWindowsでもできる、。 サーバ構築?違う、これもWindowsでもできる、 システム開発用のOS?これもやっぱ違うと思う、他のOSでも できるような気がする、 私が知っているのは、オープンソースとかいうくらい、 自分でいろいろなんか変えられるとか、、、、、 あと友達は「Linuxはカーネルだ!」といっていました、 カーネルは知っているのですが、意味がよくわかりませんでした。 お願いします、Linuxとは一体なんなのですか?
- ベストアンサー
- その他(OS)
- Javaでのデバッグコード削除
Javaで条件分岐などによってコード自体を削除することはできるのでしょうか。 目的はデバッグコードの負荷軽減です。 C言語でいうところの、プリプロセッサのようなことができることが理想です。 例えば、メソッド中に以下のようなコードがあるとします。 ------------------------------------ final boolean DEBUG = true; if (DEBUG) System.out.println("Debug: hogehoge"); ------------------------------------ 上の場合はif文条件分岐の処理負荷が発生すると思います。 この程度であれば低負荷であることは認識していますが、どうも気持ちが悪いです。 例えば、C言語であれば以下のようにしてコンパイル時にコードごと削除することができると思います。 ------------------------------------- #define DEBUG int main(){ #ifdef DEBUG printf("Debug: hogehoge"); #endif return 0; } ------------------------------------- Javaで上記のようなことを実現することは可能でしょうか。 デバッグコードの削除が目的ですので、仮にこれができなかったとしてもIDEやそのプラグインなどで目的が達せられれば問題ありません。 どなたか解決策をご存知であればご教示願います。
- 締切済み
- Java
- linuxを導入したい
C言語の勉強 会社で使っているunix(ソラリス)のコマンド類の勉強を考えlinuxを自宅のPCで導入したいと思っています。 linuxで特にWebを見たりメールをしたりする予定はありません。 freeでWebからlinuxをダウンロードできるのでしょうか? また、インストール方法は簡単でしょうか?
- ベストアンサー
- Linux系OS
お礼
回答ありがとうございます。 参考にさせていただきます。