2012-03-26 3 views
2

私はCとC++コードのチャンクを持っています。ソースを2つの異なる顧客にリリースする必要があります。私は彼らに他の機能が何であるかを見てもらいたい。コンパイルにスイッチを使うつもりです。コードを提供するときは、コードのいくつかの行を取り除きたいと思います。私はそれを行うためのスクリプトを書くことができますが、私はこの仕事をするために存在するツールがあるかどうかを知りたいと思います。定義されたスイッチの下にコードを取り除くツールはありますか?

#ifdef CUSTOMER_1 
Code for Customer 1 
#else //Customer_2 
Code for Customer 2 
#endif 

は、顧客2については、私は#ifdef#elseの下に来る削除コードを持っていると思います。私は#endif行を削除したいと思います。このためにすぐに利用できるツールはありますか?

+1

はい、複数です。 Googleの "部分的なcプリプロセッサ"。 –

+0

それは私が探していたものです。私はそれを試してみましょう。 – Kitcha

答えて

4

この目的のために正確に設計されたunifdefというユーティリティがあります。

+0

私はそれを持って、ありがとう。 – Kitcha

0

Cプリプロセッサはもちろんこれを行うことができますが、他のディレクティブも処理します。私はあなたが特殊なスクリプトでこれを行うのが最善だろうと思う。

2

カスタマー固有のビットをcustomers.hファイルに入れて、そのファイルを含めるのはなぜですか?あなたは異なる顧客に異なるcustomers.hを与えます。あなたは完全に問題を説明していませんが、最初の盗聴によって、ソースコードの静的なフィルタリングが難点です。

+0

私はこのソリューションが気に入っています。なぜなら、あなたの顧客が特別な気分になるからです。 – Mikhail

+0

彼らが特別だと感じたら、あなたは間違ってしまった。彼らはあなたがそれをやっていることを知るべきではありません。彼らが特別なケースであることを認識した場合、他の特別なケースがあることに気付くでしょう。また、特別なケースもあることに気付くでしょう。 :) –

関連する問題