C/C++言語関連
フロッピーのドライバはXPまでしかなかった。ここのVISTA用はこちらからのとこか http://www.yokogawa-digital.com/arm/support/faq/index.php?LIC-A-11REALTEKのRTL8150のようだ。http://152.104.125.41/downloads/downloadsView.aspx?Langid=1&PNid=8&PFid…
UCHAR g[WIDTH * HEIGHT]; int zzz; for (int y = 0; y <= HEIGHT; y++) { for (int x = 0; x < MAX_FONT_WIDTH; x++) { zzz = y * WIDTH + x; g[zzz] = 0; } }
[TestMethod] void TestMethod1() { // C6201 unsigned char x[10]; int i; for (i= 0; i <= 10; i++) { x[i] = 0; } }; 警告 1 warning C6201: インデックス '10' は、有効なインデックスの範囲 '0' から '9' (スタックが割り当てられた可能性のあるバッフ…
安全または純粋 pureでコンパイルできてるってことは、 呼び出し可能なマネージ メソッドになってるってことなのかな?混合 clrでコンパイルすると、 ○静的なネイティブ ライブラリ ○ネイティブ DLL エントリ ポイント これらは、結合できるのかまだ、いまい…
アサートでメッセージを書きたいとき どうやればいいのか悩んだのでメモ書きこんな感じでロギングできるようになった。 System::String^ msg = getMesg("code =", code, " ファイル名=", filename); Assert::AreEqual((int)RTN_OK,(int)rtn, msg); ====…
コードカバレッジを測りたいときは、デバックなしで開始をしないとだめなかんじだ。 デバックだと、測定されないっぽい。
Cのファイルの拡張子を変えなくても、コンパイルできました。コンパイルオプションでC言語のファイル(拡張子は.c)を ”Cコードとしてコンパイル(/TC)”から ”C++コードとしてコンパイル(/TP)”へ 各C言語のファイルを変更する。これだけでテストプロジェクト…
テストプロジェクトのもう一つの作り方を以下に示していきます。①メニューのファイルから”新規作成(N)”の”プロジェクト(P)”を選択します。 ②新しいプロジェクトのダイアログが開きます。 ③プロジェクトのの種類(P)から”他の言語”の”VisualC++”の”テスト”を…
コードカバレッジの結果をみるために、以下の操作を行っていってください。
C言語のソフトウェアメトリクスを測定するものを調べていたところ、 SourceMonitor(Windows)というものがありました。 http://www.campwoodsw.com/sourcemonitor.html複雑度10を超えると分割した方がいいらしい。SourceMonitor http://d.hatena.ne.jp/Wac…
Visual StudioでC言語での単体テストの作り方単体テストの作り方を書いていきます。 C言語のサンプルコードとして以下のURLのarctanのプログラムをお借りしました。 http://mail2.nara-edu.ac.jp/~asait/c_program/sample0/pi.htm#section2
テストプロジェクトの作り方Visual Studio 2008(Development Edition)でC言語のコードカバレッジを行ってみようと思いました。 C言語のままではVisualStduioはコードカバレッジをしてくれないので、 C++としてコンパイルします。まずは、テストプロジェクト…
Flag Nameを見ると概要がわかると思います。 boolops branchstate charindex compdef compdestroy compmempass dependenttrans fcnuse kepttrans mustfreeonly nestcomment nullassign nullstate onlytrans predboolint predboolothers retvalother shiftomp…
splint +csv aaa.csv src.c を行うと、ファイルを閉じる辺でエラーが出やすい。 ファイル自体は出力されているようだ。 Files unclosed: 1 [errno: 2] *** Please report bug to splint-bug@splint.org *** (attempting to continue, results may be incorre…
Splint3.1.2のWindows用のBinaryがありません。 Linux用のソースをWindowsでコンパイルしてみようと思いましたが、 ファイルが足りないようです。
Splint3.1.1で+csvのオプションを使用しようとすると、Windowsでうまく動かない。 Splint3.1.2はWindowsだと、うまく動作しない。 マニュフェストファイルとかの関係かもしれない。しょうがないので、最後の手を使った。 VmwareでUbuntu9.10をインストールし…
Splint3.1.2ビルドしてみたけど、 実行するとNorton SONARに食べられるようになった。 LARCH_PATH通したからかな? まあ、何か変な動きをしているらしい・・・Norton SONARが何で食べるのかよくわからない。 食べるなら理由を詳しく書いて欲しい。世の中の人…
splint3.1.2をリダイレクトしてみたところ、 standard.lcdが読めないと出ていた。 環境変数のLARCH_PATHで指定するようだ。standard.lcdファイルがない。 3.1.2のsrcにあったのでそちらからコピー posix.lcd posixstrict.lcd standard.lcd standardstrict.lc…
FAQの中にWindows版の場所が書いてあった。 http://www.splint.org/win32.html http://www.splint.org/downloads/binaries/splint-3.1.1.win32.zipでも、csvのフラグつけると途中で出力止まっちゃうな。 だめっぽい。
コマンドラインで Splint +csv aaa.csv xxx.c を実行すると、CSVファイルが出力されます。
①Projectの設定 ワーク用のディレクトリを設定します。(例 d:\DX\PJ) プロジェクトネームを設定します。 (例 ProjectName) プロジェクトバージョンを設定します。(例 1.0) ソースのあるディレクトリを設定します。(例 d:\DX\PJ\SRC) Scan Recursivel…
Doxygenは、C言語の関数の関係(コールグラフ)を視覚的に見えるhtmlなどのドキュメントを生成できます。 Doxygenのインストールを以下のようにして行います。 Doxygenのダウンロード DoxygenのホームページからWindows用のバイナリーをダウンロードします。…
Splineのディスプレイオプションについて linelenとlimitsフラグは+でも-でも同じ意味。 その他は+がフラグON、−がフラグOFF Numeric Argumentは数字の引数がいるオプション Filename Argumentはファイル名の引数がいるオプション csv ファイル名 +csvoverw…
MISRA-C 1998について出力された一覧例です。
High-Performance Embedded Workshopの評価版 SQMlintの評価版ビルド>SuperH RIsc ToolChainを開く。 カテゴリのドロップダウンメニューにを選択すると MISRAのオプションが選べるようになります。 評価版だとMISRA2004は選択してもコンパイルエラーになり…
C言語のソースの静的解析ができるという Splintというツールを使ってみました。
TeamEditionでしかできなそうですが、 VisualStudioでC言語の静的コード解析ができるようです。 プロジェクトのプロパティで ”ビルド時にC/C++のコード分析を有効にする”を”はい” に変更し、リビルドすればいいようです。 結果は、 こんな感じででるようです…