SCANA - C言語静的変換ツール

   変更履歴

各バージョンでの変更内容は、以下のとおりです。(軽微な不具合は青色異常終了等を伴う不具合は赤色で記述)

●SCANA変更履歴

Ver    内容
1.6.0.2 ●ダウンロードデータをエクスプローラで解凍できるようにした(データの作成を Lhaplus → 7-Zip に変更)
●ライブラリ更新 ( AjrCstXX(Ver 1601) -> AjrCstXX(Ver 1650))
1.6.0.1 ●ライブラリ更新 ( AjrCstXX(Ver 1600) -> AjrCstXX(Ver 1601))
1.6.0.0 ●ライブラリ更新 ( AjrCstXX(Ver 1051) -> AjrCstXX(Ver 1600)) -- UNICODE版
 (保守の為、ライブラリを最新のユニコード版に更新も、SCANAはバイト文字アプリのまま機能的な変更は無い)
1.3.2.1 ●Cプリコンパイルで、#if,#elif のオプションシンボルが抽出できない不具合修正
1.3.2.0 ●#if / #elif の条件式をマクロ展開形を表示するようにし、原文をコメント表示するようにした。
●出力が見やすいように、必要なトークン間に空白を挿入するようにした。
●#undefでマクロ表示が消える不具合修正(#undefしたマクロがコメント出力されない)
●#pragma のオペランドをマクロで指定し、展開形が原文より長くなる場合バッファオーバーランとなる不具合修正
1.3.1.2 ●SHIFT + ↑, ↓, ←, → キーによる ログテキスト選択範囲の変更機能サポート
1.3.1.1 ●インクルードパスにワイルドカードを指定可能とした(但し、「インクルードファイル自動検索」をチェック要)
  ●マクロ展開時の不具合修正
 ・マクロ展開中のマクロの引数が関数マクロである場合、展開形が不正となる場合がある。
 ・まれに、プログラムが異常終了する(突然終了する)場合がある。
1.3.1.0 ●ソースファイルからコメントを削除したソーステキストの作成機能追加
1.3.0.5 ●プリコンパイルで、以下のチェックボックスの設定が不能となっていた不具合修正
 ・「同じインクルードは1度だけ展開する」 ------ 常にチェックされた状態となっていた
 ・「非生成部分もファイルへコメント出力する」--- 常にチェックされた状態となっていた
1.3.0.4 ●プリコンパイルで、「同じインクルードは1度だけ展開」「非生成部分もファイルへコメント出力」を指定できるようにした。
1.3.0.3 ●多重インクルード検出機能追加                     #include "aa.h"
                                                                               #include "aa.h" // Already included.
1.3.0.2 ●シンボル等の参照行番号(数字)をダブルクリックしても、タグジャンプできない不具合を修正した。
1.3.0.1 ●関数型タイプが配列である場合、タイプ検出できない不具合修正 「 ex.  typedef  int  (*F[10] ) ( void); 」
1.3.0.0 ●解析結果表示ウインドを細分化し、各々のウインドを表示/非表示できるようにした。
●ヘッダファイルのプリコンパイル機能を追加した。
1.2.7.8 ●ソースファイル群の設定リストボックスで、ダブルクリックで全項目の選択を解除するようにした。
●プリコンパイル出力先フォルダの設定で、ドロップによる設定を可能とした。
●ファイル→設定のインポート メニューで、インポートした設定情報が記録されない不具合修正(インポートした設定を変更した場合は記録される)
●シンボルの競合情報出力時、処理が終了しない場合がある不具合修正
1.2.7.7 ●行番号以外の数字をダブルクリックしても(なるべく)タグジャンプしないようにした。
  変更前:意図しない数字列部分(ファイル名中の数字部分等)をダブルクリックした場合、当該数字列を行番号と見なしてタグジャンプしていた。
 変更後:ダブルクリックした位置が数字列上でも、数字列の直前が空白以外ならば、タグジャンプしないようにした。
●プリコンパイル出力中の条件コンパイル部分(#ifdef, #ifndef, #if, #elif, #else) に判定結果「TRUE / FALSE」を表示するようにした。
●プリコンパイル出力中の #endif に対応する #ifdef, #ifndef, #if の行番号を表示するようにした。
●「設定情報をログ表示する」を廃止した。
1.2.7.6 ●#if, #elif の条件式で「 || 」を使用する場合、左側の式で条件が確定する場合、右側の条件を評価しないようにした。
また、「 && 」「 || 」条件がネストする場合にも対応した
1.2.7.5 ●ログウインドをスクロール中にプログラムが異常終了する場合がある不具合修正
1.2.7.4 ●サブ関数の最上位関数をツールチップ表示する機能を追加
●エラーメッセージ修正(一部のメッセージで、パス名をダブルクオート(")で囲んでいないものがあった(エラーメッセージかららタグジャンプできない))
●if, #elif の条件式で「&&」を使用する場合、左側の式で条件が確定する場合、右側の条件を評価しないようにした。
  ex. #if defined(A) && A == B  // 旧Verでは常に「A == B」を評価していたため
               //「A」が定義されていない場合エラーとなっていた
●マクロ参照で,最後の引数が空引数の場合、エラー(引数が少なすぎる)となる不具合を修正。
  ex..  #define M(A, B, C) B##A = 0
     M(x, , ); //最後の実引数が空引数
1.0.7.3 ●ログウインドで文字列検索する場合、検索文字列が空白で分離されてしまう不具合を修正
1.0.7.2 ●プリコンパイル時間の短縮
1.0.7.1 ●「 シンボルの参照情報(上位関数→シンボル・・)」で、行番号の後に不当な{&」(アドレス参照)が表示される不具合を修正した
1.0.7.0 ●シンボルのアドレス参照(&sym)検出機能追加。
1.0.6.3 ●競合情報を表示中に、キャンセルボタンが効かなくなる不具合修正
1.0.6.2 ●配列変数の並び順変更(配列変数の末尾('[]' 等)を含めてソートしていたため、変数名の昇順となっていなかった)
  ex.  [変更前]   [変更後]
     arr1[]      arr[]
     arr[]        arr1[]
●以下の不具合修正
 ・「シンボルの参照情報を表示する」を未チェックでも、「シンボル→関数」「関数→シンボル」「最上位関数→シンボル」が有効となってしまう。
 ・「シンボルの参照情報を表示する」をチェックしないと、シンボルの競合情報が表示されない。
1.0.6.1 ●配列変数は「 arr[] 」のように、'[]' を含めて、変数として扱うようにした。
1.0.6.0 ●シンボルの競合検出機能追加
●プリコンパイル済出力ファイルがソースファイルより新しい場合、プリコンパイルをスキップできるようにした。
●プリインクリメント(++var),プリデクリメント(--var),配列の要素(arr[n]等)の場合、シンボルの更新フラグが設定されない不具合を修正した
1.0.5.0 ●「関数名抽出フィルタ」で、「この文字列で始まる関数名を最上位レベルとする」下に、以下のラジオボタンを追加した
  ・自動的に検出した最上位レベル関数に追加する
  ・特定の最上位レベル関数を指定する
●ベースパスをエクスプローラからドロップできるようにした
1.0.4.0 ●CSVファイル出力機能追加
1.0.3.1 ●Ctrl+マウスホイールによるフォントサイズ変更時、初回のみ異常なフォントサイズが設定される不具合修正
1.0.3.0 ●ログテキストのセーブ/読み出しボタン操作時、テキストエンコードを設定できるようにした。
●ログテキストのセーブ時のデフォルトテキストエンコードを UTF-8 → MBC(SJIS) に変更した
 (入力時のデフォルトは「AUTO」)
1.0.2.1 ●最上位関数が再帰関数である場合、シンボルの参照情報(最上位関数→シンボル)を出力すると異常終了する場合がある不具合修正
1.0.2.0 ●シンボルの参照情報(最上位関数→シンボル)が正常に表示されない場合がある不具合修正
1.0.1.0 ●「ファイル」→「テキストエンコード」メニューで「AUTO」(自動検出)を追加した。
  また、「テキストエンコード」は入出力ファイル全般に適用していたが、ソースファイルのエンコード指定としました。
●プリコンパイル中に「キャンセル」ボタン押した場合、即時にプリコンパイルを中止するようにした。
 (以前は、1つのプリコンパイルが終了するまで待っていた)
●関数名を生成するマクロ名の設定機能追加(以前は、AJC_WNDPROC, AJC_DLGPROC 固定)
●メモリ不足エラー検出機能追加
●「テキストエンコード」に、「UTF-8」or「EUC-J」を指定すると異常終了(あるいは突然終了)する場合がある不具合修正
1.0.0.7 ●残試用期間中に「実行」ボタンが押せない状態となっている不具合修正(大変ご迷惑をおかけしました)
1.0.0.6 ●残試用期間の表示が不正となる不具合を修正した
1.0.0.5 ●試用期間を変更した(14日間 → 64日間)
1.0.0.4 ●新たなバージョンをインストールした場合は、そのインストールから14日間を試用可能期間とした。
1.0.0.3 ●解析結果ログをセーブ時、異常終了する場合がある不具合修正
1.0.0.2 ●テキストエンコード(UTF-16LE, UTF-16BE)をサポート
●ベースフォルダ変更時、プリプロセス出力フォルダ(相対パス)が変更されない不具合を修正した。
1.0.0.1 ・初版発行