HIR-NETソフト
ソフト一覧
パック商品
価格表
取扱店
Q&A
ダウンロード
無料バージョンアップ
ユーザー登録変更
HIR-NET Home
運営者
運営者著書
CG作品
快適パソコン操作術
パソコン情報リンク集
HIR-NETソフト 32bitコマンド・シリーズ
c2cppシー・ツー・シー プラス プラス 第1.09版
C言語注釈C++化コマンド
C to C plus plus command
対象OS:32bit Windows(Windows 95/98/Me/NT/2000/XP など)
★2010年9月9日更新★(実際に注釈変換が試せます)
サンプル無料ダウンロード c2cpp.lzh(39Kバイト)
| |
|
概要
引数
解説
仕様
注意
設定ファイル
使用例
実行例
処理例
関連
c2cppコマンド(C言語注釈C++化コマンド)はC言語の /*〜*/形式の注釈を、C++ や Java の //形式の注釈に変換する 32bit Windows(Windows 95/98/Me/NT/2000/XP など)用ソフトウェアです。
/*〜*/形式の注釈に比べ、//形式は簡潔で見やすく、C言語のプログラムを C++ や Java に移植する際には、この形式に変更したいものです。注釈を直すにはエディタで一つ一つ手作業で修正しなければなりませんが、c2cppコマンドを使えば一瞬にして処理できます。ファイル名にワイルドカードが使えますから、一度に複数のファイルの置換が出来ます。
注釈を変換しても、ファイルの日付を変更しないようにも出来ます。日付が重要な場合にも対応します。もちろん、日付を更新させることも出来ます。
注釈中のアステリスク(*)については特別な処理をすることも出来ます。//化に伴い不要な行を削除することも出来ます。
改行コードは、0A, 0D, 0D0A に対応しています。バイナリ・ファイルを破壊しないように、バイナリ検出機能や特定の拡張子のファイルの処理を抑止する機能があります。
設定ファイル(ファイル名 c2cpp.cfg のテキスト・ファイル)により、c2cppコマンドのオプション設定、処理抑制拡張子の登録が可能です。
c2cpp [△ オプション群]□ ファイル名…
/cv ;[*処理なし行数不変 ] 変換モード ConVersion
/cva ;[*処理あり行数不変 ] ConVersion Asterisk
/cval ;[*処理あり不要行削除](既定) ConVersion Asterisk Line
; /cv- は /cval と同じ
/t ;[OFF] ファイル日時保持モード Time
/t- ;[ON ](既定)
/o ;[ON ] 書込禁止ファイル処理モード read Only
/o- ;[OFF](既定)
/bin ;[OFF] バイナリ検出モード BINary
/bin- ;[ON ](既定)
/nl ;[ON ] 異種改行コード検出モード NewLine
/nl- ;[OFF](既定)
/c ;[ON ] 失敗時続行モード Continue
/c- ;[OFF](既定)
/s ;[OFF] 特定拡張子処理抑制モード Safety
/s- ;[ON ](既定)
/v[<m>][<e>...][<m>[<e>...]...] ;表示設定 Verbose
<m>=+ ;付加 plus
- ;削除 minus (省略時)
= ;強制設定 equal
<e>=a ;すべて All
c ;処理成功ファイル表示 Compelte
u ;処理不要ファイル表示 Unchaging
s ;処理対象外ファイル表示 Skip
e ;処理不能ファイル表示 Error
/v ;[標準](既定) (/v=ce と同じ)
/p ;[ON ] 画面一時停止モード Pause
/p- ;[OFF](既定)
/l<n>[<u>] ;[任意値] 1行のバイト数 Line
/l ;[200KB ](既定)
;<n>は実数で 10Kバイト以上、<u>は倍数単位で K, M, G の何れか
/?, /help ;使用方法説明(設定ファイルに登録不可) HELP
【終了コード】
0:エラーなし、実行成功
1:エラー発生、実行中断
2:エラー発生、実行継続
- 実行すると、処理したファイル名, 処理した注釈の総数が表示されます。複数行に跨る注釈は 1つに数えます。
- ファイル名は複数指定可能で、ワイルドカード(?, *)も使用できます。
- <n>を使用するオプションにおいて、<n>の指定がない場合は 0 が指定されたことになります。
- 相反するオプションが指定された場合は、設定ファイルよりもコマンドラインが優先され、最後に指定されたものが有効になります。最後とは設定ファイルでは下方(↓)、コマンドラインでは最も右側(→)です(例えば、/v=c /v=a では /v=a が有効)。
- /pオプションを指定すると実行結果の表示がページ毎されます。ページの最後の(Continue,/All/Quit)プロンプトに対し、[C]キー(または[Enter]キー)で継続実行, [A]キーで一時停止を解除し全実行, [Q]キー(または[Esc]キー)で実行停止されます。なお、出力結果をリダイレクトした場合は、一時停止が自動的に解除されます(/p-オプションが指定されたことになります)。
- /lオプションでは末尾に単位として K(キロ), M(メガ), G(ギガ)が付けられます。
K=1024, M=1024*1024, G=1024*1024*1024
- 文字列リテラル("〜")を認識しますので、"〜"内の /*, */ は処理されないので安全です。
- C/C++ の注釈の解釈は、前処理の解釈より先です。そのため本コマンドは、前処理により翻訳対象外になった部分の注釈の処理も行います。例えば #if 0 〜 #endif内も処理します。
- C++ では「〜//〜\」行は次の行に連結されるため、「〜\*/」行は処理しません。「表」「能」などシフトJIS漢字コードで「\」(0x5C)を含む場合も同様に処理しません。
- //形式に変換する際に「*/」の直前の空白類は削除されます。ただし、削除の結果「\」が行末になる場合は、「\」の次に「//」を付加し、「\//」に変換します。「表」「能」などシフトJIS漢字コードで「\」(0x5C)を含む場合も同様に変換します。
- 「/*」がないのに「*/」があった場合は、「*/」があった行番号を表示し、そのファイルの処理は行いません。
- 「/*」があっても「*/」がない場合は、「/*」があった行番号と「*/」があった行番号を表示し、そのファイルの処理は行いません。
- /cva, /cvalオプションでは、アステリスク(*)の処理を行います。複数行に跨る注釈の行頭のアステリスクとアステリスク間の半角空白を必要に応じて削除します。行末の「/**/」は「//**」に変換します。
- /cvalオプションでは、アステリスクの処理の結果、不要になった行を削除します。
◇/cvオプションでの処理(アステリスク(*)処理せず、行数不変)
/* //
* 111 // * 111
* 222 => // * 222
* 333 // * 333
*/ //
◇/cvaオプションでの処理(アステリスク(*)処理、行数不変)
/* //
* 111 // 111
* 222 => // 222
* 333 // 333
*/ //
◇/cvalオプションでの処理(アステリスク(*)処理、不要行削除)
/*
* 111 // 111
* 222 => // 222
* 333 // 333
*/
- 設定ファイル(c2cpp.cfg)はコマンドのオプションなど各種設定を行うテキストファイルです。内容はテキストエディタによって、書き換えることが出来ます。設定ファイルはコマンド起動時にコマンド格納ディレクトリから読み込まれます。
- 処理抑制拡張子の登録が可能です。ファイル名にワイルドカード(?, *)を使用して、処理を行った場合、EXEファイルや画像ファイルなどバイナリ・ファイルを処理してしまうことを自動的に避けることが出来ます。登録した拡張子のファイルは、処理されませんので安全です。拡張子の登録は、skip= に続き、拡張子を半角カンマ(,)で区切って並べて行います。skip= は複数指定できます。
- スイッチ文字は / の他 - などの追加登録が可能です。
c2cpp abc.cpp …… ファイル abc.cpp を処理
c2cpp *.cpp …… 拡張子cppのファイルを処理
c2cpp * /cv …… アステリスク(*)削除せず、行数不変
c2cpp * /cva …… アステリスク(*)削除、行数不変
c2cpp * /cval …… アステリスク(*)削除、不要行削除《既定》
c2cpp * /t …… 処理した場合にファイル日時を更新
c2cpp * /t- …… 処理前のファイル日時を保持《既定》
c2cpp * /o …… 書込禁止ファイル処理
c2cpp * /s …… 処理抑制拡張子を無視し、すべてのファイルを処理
c2cpp * /bin …… バイナリ検出せず
c2cpp * /bin- …… バイナリを検出した場合処理停止《既定》
c2cpp * /nl- …… 異種改行コード検出せず《既定》
c2cpp * /nl …… 2種類以上の改行コードを検出した場合処理停止
c2cpp * /c …… 処理失敗があっても続行
c2cpp * /c- …… 処理失敗があったら終了《既定》
c2cpp * /v= …… 表示なし
c2cpp * /v-a …… 表示なし(/v= と同じ)
c2cpp * /v=a …… すべて表示
c2cpp * /v=c …… 変換した場合のみ表示
c2cpp * /v=a-u …… 変換しない場合は表示しない
c2cpp * /v=a-s …… 処理対象でない場合以外表示
c2cpp * /p …… 一時停止あり
c2cpp * /p- …… 一時停止なし《既定》
c2cpp * /L500K …… 1行のバイト数を500Kバイトで処理
c2cpp /? …… 使用方法説明
C>c2cpp /v=a *.cpp↓
main.cpp :413
merr.cpp :第10行〜第15行注釈対応異常
prog1.cpp :15
prog1_a.cpp:0
prog1_b.cpp:3
C>c2cpp /v=a p:*↓
p:eex2.cpp :123
p:eex2.exe :処理せず
p:fex123.cpp:12
p:fex123.exe:処理せず
元プログラム(smp1.cpp)
単純処理結果(/cvオプション)
アステリスク(*)処理のみ、行数不変(/cvaオプション)
アステリスク(*)を処理し、不要行削除(/cvalオプション《既定》)
元プログラムと /cv の比較
元プログラムと /cva の比較
元プログラムと /cval の比較
dzcode ファイル末尾Zコード削除コマンド
zsp ファイル全角空白半角化コマンド
maxline ファイル最大行コマンド
jis_sjis JIS→シフトJIS変換コマンド
euc_sjis EUC→シフトJIS変換コマンド
HIR-NETソフト
Copyright (C) 1997-2024 Hirabayashi Masahide プライバシーポリシー