読者です 読者をやめる 読者になる 読者になる

のねのBlog

パソコンやソフト開発で起きた問題など書きます。よろしくお願いします。

C言語のUnitTestでRegionを使いたいとき

これで、いけた。 #pragma region 入力値チェック #pragma endregion 入力値のチェック#pragma region name #pragma endregion comment

TEST_METHOD_INITIALIZE

TEST_METHOD_INITIALIZE(methodName) { // method initialization code }

valgrind: failed to start tool 'memcheck' for platform 'arm-linux': Permission denied

#chown -R shell.shell /data/local/Inst #cd /data/local/Inst/bin #./valgrind # su shell $ ./valgrind valgrind: failed to start tool 'memcheck' for platform 'arm-linux': Permission denied $ whoami whoami: unknown uid 2000ユーザーをSHELLにし…

b2g(FirefoxOS) run_gdb.sh attach pid の実行

$ adb shell b2g-ps * daemon not running. starting it now on port 5037 * * daemon started successfully * APPLICATION USER PID PPID VSIZE RSS WCHAN PC NAME b2g root 1472 1 226084 100056 ffffffff 40044140 S /system/b2g/b2g Usage app_1591 1591…

(FirefoxOS)b2g run-gdb.sh

B2G/run-gdb.sh B2G GitHub #!/bin/bash SCRIPT_NAME=$(basename $0) basename ファイル名からディレクトリや末尾の文字列を削除したものを返す . load-config.sh #!/bin/bash if [[ ! -n "$B2G_DIR" ]]; then B2G_DIR=$(cd `dirname $0`; pwd) fi . "$B2G_D…

b2g(FirefoxOS) emulator ネットに繋がらない

adb shell setprop net.dns1 10.0.2.3 こちらでもつながる。 adb shell setprop net.dns1 8.8.8.8 adb shell setprop net.dns1 10.0.2.3

b2g(FirefoxOS) emulator getprop

$ adb -e shell root@android:/ # ll drwxr-xr-x root root 2013-03-08 15:34 acct drwxrwx--- system cache 2013-03-08 15:34 cache dr-x------ root root 2013-03-08 15:34 config lrwxrwxrwx root root 2013-03-08 15:34 d -> /sys/kernel/debug drwxrwx-…

b2g(FirefoxOS) emulatorの起動時のlogcat

起動時のlogcat

b2g(FirefoxOS) emulator: can't connect to ADB server: Connection refused

emulator: can't connect to ADB server: Connection refused adbのサーバーを再起動してから、起動する。 $adb kill-server $adb start-server $./run-emulator.sh

b2g(FirefoxOS) arm emulator.sh 起動時のterminalのログ

$ ./run-emulator.sh emulator: autoconfig: -system /home/B2G/out/target/product/generic//system.img emulator: autoconfig: -ramdisk /home/B2G/out/target/product/generic//ramdisk.img emulator: autoconfig: -datadir /home/B2G/out/target/product…

b2g(FirefoxOS) カスタマイズビルド

公式のカスタマイズ用ファイル(.userconfig)は、以下のとおりです。 GECKO_PATH=/home/work/B2G-profiler/mozilla-inbound echo "GECKO_PATH = ${GECKO_PATH}" export B2G_DEBUG=1 echo "B2G_DEBUG = ${B2G_DEBUG}" GECKO_OBJDIR=${GECKO_PATH}/objdir-gon…

コマンドラインのgdbclientの方法を応用し、eclipseでC言語のデバッグ

android gdb debug - のねの日記 コマンドラインのgdbclientの方法を応用し、eclipseでデバッグ - のねの日記 linuxでのgdbclientの使い方 - のねの日記 端末側 >adb shell $su #gdbserver :5039 --attach 1984 ※PID=1984とするeclipse側 C++のプロジェクト…

ccfinder

http://www.ccfinder.net/ccfinderxos-j.html=ccfinder AIST CCFinderXはコードクローン検出ツールです。 Java, C/C++, COBOL, VB, C#のソースコードから、コードクローン(重複コード)を検出します。以下のようにして、javaを32bit環境に切り替えた。あと…

object1.c

>cl object.c>dumpbin object.obj Microsoft (R) COFF/PE Dumper Version 9.00.30729.01 Copyright (C) Microsoft Corporation. All rights reserved. Dump of file object.obj File Type: COFF OBJECT Summary A0 .debug$S 2F .drectve 7 .text >dumpbin /h…

XGetOpt

XGetopt - A Unix-compatible getopt() for MFC and Win32 This software is released into the public domain. You are free to use it in any way you like. If you modify it or extend it, please consider posting the new code here for everyone to s…

Free Getopt Ver0.11

Free Getopt(BSDライセンス)

getoptの使い方

C言語を使ったコンソールアプリケーションの作成コマンドラインオプションの解析方法オプションの取り方を勉強しよう!C言語でコマンドを作るまで

GNU getopt

Command line options parser for Win32: getopt() GNUライセンス *.cppでうまくコンパイルできなかった。 コンパイルオプション ctype.hは、不要かな? features.hは Linux/glibc 固有のヘッダファイルである。 __need_getopt __cplusplus __GNU_LIBRARY__ …

Unicode TCHAR

strcpy => _tcscpy strcpy_s => _tcscpy_s strlen => _tcslen strtol => _tcstol strtok_s => _tcstok_s "xxxx" => _T("xxxx") or _TEXT("xxxx") sprintf => _stprintf frpintf => _ftprintf fopen => _tfopen fgets => _fgetts fseek,fgetpos,fcloseはその…

C#のステップインでソースが見れるときと、ソースが見れないとき

これはステップインして、ソースへいく。 IntPtr hWnd = pictureBox1.Handle; OpenVgWrap.OpenVgWrapFunc.initOpenVg(hWnd); これはステップインしても、ソースへ行かない。 逆アセンブラになる。 OpenVgWrap.OpenVgWrapFunc.initOpenVg(pictureBox1.Handle)…

アンマネージコードのデバックでステップインできない?なぜだろう?

デバッグするとき、C#とC++/CLIのDLLのコードはステップインできるのに、 ネイティブのスタティックライブラリはステップインしませんでした。C#の”デバッグ”タブの”デバッガーを有効にする”のところに、 アンマネージコードのデバッグを有効にするというチ…

lnk2028 未解決のトークンのエラー、なんでだめなんだろ?

C++ネイティブのライブラリ(スタティックライブラリ[.lib])を C++/CLI(CLR)でラップしようとしています。ビルドすると、以下のようなエラーが出ます。エラー 6 error LNK2028: 未解決のトークン (0A000020) "public: void * __thiscall OpenVgCpp::CreateGV…

C#のアプリにC++のDLLを使ってデバッグするとき

C#のアプリにC++のDLLを使ってデバッグするとき、 ステップインしてもソースへ飛ばない場合は、 DLLのデバッグ用のファイルがあるか確認。 abcdef.dll abcdef.pdb無いとステップインしても、アセンブラの表示になってしまう。あと、アンマネージコードのデバ…

Windows7(64bit)でARMのドングル(RTL8150)は動かない?

●RealTek(RTL8150)のVista用のドライバ(RTLUSBNT.126_VISTA_Signed.zip)を探した。 Realtek●Windows7(64bit)でARMのドングル(RTL8150)のドライバ(Vista-64bit用)を入れてみた。 エラーコード52で動かない。●ブート時にF8を押すと、署名のないドライバを動…

CodeWarriorでstarting external process error code 87 (0x57)

windows7でCodeWarriorからデバッガを動かそうとしたら、 エラーメッセージが出た。 starting external process error code 87 (0x57) http://forums.freescale.com/t5/CodeWarrior-General/When-Will-CodeWarrior-Run-On-Windows-Vista/m-p/44107ここの情報…

CodeWarrior encountered an unhandled exception

Windows7でRVDS2.2のCW5.6.1.1832を使って、 ファイルをクリックすると エラーメッセージ CodeWarrior encounterd an unhandled exception 0x00000005 at XXXX Location:IDE_MFC60cw.dll:0x55215e94 と出て死んでしまった。CodeWarrior for RVDSのプロパティ…

ARM ドングル Windows7

フロッピーのドライバは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; } }

C6201

[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' (スタックが割り当てられた可能性のあるバッフ…

VS2008 C言語でもpure

安全または純粋 pureでコンパイルできてるってことは、 呼び出し可能なマネージ メソッドになってるってことなのかな?混合 clrでコンパイルすると、 ○静的なネイティブ ライブラリ ○ネイティブ DLL エントリ ポイント これらは、結合できるのかまだ、いまい…

VS2008 C言語でのアサートのメッセージ

アサートでメッセージを書きたいとき どうやればいいのか悩んだのでメモ書きこんな感じでロギングできるようになった。 System::String^ msg = getMesg("code =", code, " ファイル名=", filename); Assert::AreEqual((int)RTN_OK,(int)rtn, msg); ====…

VS2008のC言語でコードカバレッジ

コードカバレッジを測りたいときは、デバックなしで開始をしないとだめなかんじだ。 デバックだと、測定されないっぽい。

Visual Studio 2008 C言語での UnitTest

Cのファイルの拡張子を変えなくても、コンパイルできました。コンパイルオプションでC言語のファイル(拡張子は.c)を ”Cコードとしてコンパイル(/TC)”から ”C++コードとしてコンパイル(/TP)”へ 各C言語のファイルを変更する。これだけでテストプロジェクト…

Visual StudioでC言語のコードカバレッジ(1)-2 もう一つのやり方

テストプロジェクトのもう一つの作り方を以下に示していきます。①メニューのファイルから”新規作成(N)”の”プロジェクト(P)”を選択します。 ②新しいプロジェクトのダイアログが開きます。 ③プロジェクトのの種類(P)から”他の言語”の”VisualC++”の”テスト”を…

Visual StudioでC言語のコードカバレッジ(3)

コードカバレッジの結果をみるために、以下の操作を行っていってください。

C言語のソフトウェアメトリクス

C言語のソフトウェアメトリクスを測定するものを調べていたところ、 SourceMonitor(Windows)というものがありました。 http://www.campwoodsw.com/sourcemonitor.html複雑度10を超えると分割した方がいいらしい。SourceMonitor http://d.hatena.ne.jp/Wac…

Visual StudioでC言語のコードカバレッジ(2)

Visual StudioでC言語での単体テストの作り方単体テストの作り方を書いていきます。 C言語のサンプルコードとして以下のURLのarctanのプログラムをお借りしました。 http://mail2.nara-edu.ac.jp/~asait/c_program/sample0/pi.htm#section2

Visual StudioでC言語のコードカバレッジ(1)

テストプロジェクトの作り方Visual Studio 2008(Development Edition)でC言語のコードカバレッジを行ってみようと思いました。 C言語のままではVisualStduioはコードカバレッジをしてくれないので、 C++としてコンパイルします。まずは、テストプロジェクト…

Splintの見方

Flag Nameを見ると概要がわかると思います。 boolops branchstate charindex compdef compdestroy compmempass dependenttrans fcnuse kepttrans mustfreeonly nestcomment nullassign nullstate onlytrans predboolint predboolothers retvalother shiftomp…

Splintのcsv出力のとき 最後がエラーになりやすいみたいだ。

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…

Splint 3.1.2 のWindows版がない。

Splint3.1.2のWindows用のBinaryがありません。 Linux用のソースをWindowsでコンパイルしてみようと思いましたが、 ファイルが足りないようです。

結局Splint3.1.2はUbuntuでやった。

Splint3.1.1で+csvのオプションを使用しようとすると、Windowsでうまく動かない。 Splint3.1.2はWindowsだと、うまく動作しない。 マニュフェストファイルとかの関係かもしれない。しょうがないので、最後の手を使った。 VmwareでUbuntu9.10をインストールし…

Splint3.1.2はNorton SONARに食べられる。

Splint3.1.2ビルドしてみたけど、 実行するとNorton SONARに食べられるようになった。 LARCH_PATH通したからかな? まあ、何か変な動きをしているらしい・・・Norton SONARが何で食べるのかよくわからない。 食べるなら理由を詳しく書いて欲しい。世の中の人…

splint 3.1.2 standard.lcdファイルがない

splint3.1.2をリダイレクトしてみたところ、 standard.lcdが読めないと出ていた。 環境変数のLARCH_PATHで指定するようだ。standard.lcdファイルがない。 3.1.2のsrcにあったのでそちらからコピー posix.lcd posixstrict.lcd standard.lcd standardstrict.lc…

Splint 3.1.1のWindows版 発見

FAQの中にWindows版の場所が書いてあった。 http://www.splint.org/win32.html http://www.splint.org/downloads/binaries/splint-3.1.1.win32.zipでも、csvのフラグつけると途中で出力止まっちゃうな。 だめっぽい。

Splintのオプション(CSV出力)

コマンドラインで Splint +csv aaa.csv xxx.c を実行すると、CSVファイルが出力されます。

Doxygen Wizardの設定

①Projectの設定 ワーク用のディレクトリを設定します。(例 d:\DX\PJ) プロジェクトネームを設定します。 (例 ProjectName) プロジェクトバージョンを設定します。(例 1.0) ソースのあるディレクトリを設定します。(例 d:\DX\PJ\SRC) Scan Recursivel…

C言語の関数の関係を視覚的にするツール(Doxygen)のインストールについて

Doxygenは、C言語の関数の関係(コールグラフ)を視覚的に見えるhtmlなどのドキュメントを生成できます。 Doxygenのインストールを以下のようにして行います。 Doxygenのダウンロード DoxygenのホームページからWindows用のバイナリーをダウンロードします。…

splineのオプション(display)

Splineのディスプレイオプションについて linelenとlimitsフラグは+でも-でも同じ意味。 その他は+がフラグON、−がフラグOFF Numeric Argumentは数字の引数がいるオプション Filename Argumentはファイル名の引数がいるオプション csv ファイル名 +csvoverw…

SH SQMlintのMISRA-C(1998)の結果

MISRA-C 1998について出力された一覧例です。