IT ニュース&コラム 2017/ 5/ 8 通巻737号 技術版 ソフトウェアデザイン館 Sage Plaisir 21  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ■■ ソース ファイルの一部を隠す CutSharpIf, CutComment ■■ vbslib の CutSharpIf コマンドは、C言語などのソース ファイルに書かれた 特定の条件分岐ディレクティブ(#if など)のコードを削除します。 CutComment コマンドは、C言語などのソース ファイルに書かれたコメントを 削除します。 vbslib は、以下からダウンロードできます。 Windows 用です。 http://vbslib.osdn.jp/ http://www.sage-p.com/vbslib/vbslib.htm https://github.com/TsNeko/vbslib 条件分岐ディレクティブは、コンパイルしたときに一部のコードだけコンパイル するようなコードに、次のように記述します。 ---------------------------------------------------------------- #include #define USE_TEST_1 void main() { #ifdef USE_TEST_1 printf( "1\n" ); /* Test */ #else printf( "0\n" ); /* Not Test */ #endif } ---------------------------------------------------------------- 上記のコードは、#define USE_TEST_1 の行があると、USE_TEST_1 マクロが 定義され、printf( "1\n" ); が有効になり、printf( "0\n" ); が無効になります。 逆に #define USE_TEST_1 の行がなければ、printf( "1\n" ); が無効になり、 printf( "0\n" ); が有効になります。 無効になったコードはコンパイルされず、 実行ファイルに含まれなくなります。 条件分岐ディレクティブは、たとえば、リリースするコードの一部に、テスト用の コードが含まれるときに使います。 プログラムの提出先によって一部のコードを 変更するときにも使います。 こういったコードを公開するとき、テスト用のコード や公開する相手以外のコードは隠したくなるでしょう。 たとえば、USE_TEST_1 を 定義したときに有効になるコードを隠したコードは、以下のようになります。 ---------------------------------------------------------------- #include void main() { printf( "0\n" ); /* Not Test */ } ---------------------------------------------------------------- このコードは、vbslib の CutSharpIf コマンドを使えば、自動的に作られます。 ---------------------------------------------------------------- 番号またはコマンド >CutSharpIf #ifdef 〜 #endif をカットします。 変換するソースファイルのパス(★上書きします)>C:\Source.c #define シンボル >USE_TEST_1 1) 定義されているときのコードを削除する 0) 定義されていないときのコードを削除する 番号を入力してください >1 変換しました。 ---------------------------------------------------------------- CutComment コマンドは、C言語などのソース ファイルに書かれたすべての コメントを削除します。 /* から */ の間と、// から その行末までを、 削除します。 コメントだけからなる行は削除され、それより下の行は上に 詰められます。 日本語のコメントを英訳する時間がないときや、コメント 以外に変更がないことを確認するときに使います。 ---------------------------------------------------------------- #include void main() { printf( "0\n" ); } ---------------------------------------------------------------- ■■ 注目ニュース 一覧 ■■ ◇ Amazonマーケットプレイスで詐欺業者横行。 商品届かず、個人情報漏れる恐れ。 https://headlines.yahoo.co.jp/hl?a=20170425-00006004-bengocom-soci … 申告しなくては返金されないが、いつまで実施されるだろうか。 ◇ UPQの4K-120Hz液晶、実際は60Hzだった。購入者には2千円の金券で対応。DMMは返金対応。 http://pc.watch.impress.co.jp/docs/news/1056499.html … 120Hzから 60Hz の差額は2千円どころではない。 DMMの返品・100%返金するのが普通。 ◇ アマゾン、生鮮販売開始を正式発表。独自の配送ネットワーク活用。 http://www.sankeibiz.jp/business/news/170421/bsd1704210500009-n1.htm … 配送料500円が必要になるが、本当に配送業者に全額払われているのか疑問。 ◇ 大手企業のBI導入率は8割、利用者は2割未満。 ガートナー調査。 https://japan.zdnet.com/article/35100297/ … フィードバックを集めることが大事。多くは一刀両断されるだろうが。 ◇ MS前CEOバルマー氏が立ち上げた USAFacts。 政府機関の財務情報など明らかに。 https://japan.zdnet.com/article/35100154/ … 数字に強いバルマー氏、事実は数字から。 ■■ ソフトウェアデザイン館 Sage Plaisir 21 ■■ ホームページ >>> http://www.sage-p.com/ メルマガ >>> http://www.mag2.com/m/0000083983.html ブログ >>> http://blog.livedoor.jp/sage_p/ ツイッター >>> http://twitter.com/Ts_Neko ダウンロード >>> http://www.sage-p.com/freesoft.htm サポート掲示板 >>> http://www.sage-p.com/kg_ban09/z6037C8.cgi 東日本大震災 >>> http://www.sage-p.com/saigai.html メール >>> ts-neko◇sage-p.com ←◇を@に変えてください 緊急メールは件名に「うどんメール」を付けてください。 このメルマガの登録・解除 - http://www.mag2.com/m/0000083983.htm