開発

MSCC参加します

Microsoft Community chanpionなるイベントに参加登録しました。 ぼっち参戦です。 Windows8のストアアプリってまったく作った事がないので、ゼロスタートです。 今日からがんばってアプリの作り方を覚えますよ。 何を作るかもノープラン! ただ、せっかくな…

Visual Studio 2012 Update3 RC1

Visual Studio 2012 Update2にはATL/MFCをスタティックリンクするとXPで動作しないバイナリができるというバグがあります。 Visual Studio 2012 Update 2 RTW breaks XP targeting with C++ when statically linking MFC and ATL どうしてもXPで動かないと困…

cppcheck 1.59

cppcheck 1.59がリリースされました。 前バージョンからの設定変更は以下 --enable=warningオプション追加 include<>のスキップ 2.の方はどういう事かというと #include <header1.h> //このヘッダは解析対象にしない #include "header2.h" //このヘッダは解析対象 とい</header1.h>…

VC2012 Expressで静的コード分析

ようやくVC2012 Expressをインストールしました。 正式名称でいうと、「Microsoft Visual Studio Express 2012 for Windows Desktop」。 長いです。 VC2012からは無償のExpressでもコード分析できるというとこで使ってみました。 サンプルはこんなコード(※…

cppcheck 1.58

2ヶ月前にcppcheck 1.58がでてた。 個人的に大きなポイントはこのバージョンから、Windowsのコマンドライン版がマルチスレッド対応(-j オプション対応)したところ。 同じWindows版でもGUIの方は前から(Qtの機能で)対応してた。 今時の物理4コア/8スレッド…

64bit Windowsの物理メモリアドレスは連続ではない

64bit Windowsだとメモリアドレスが連続しているみたいな話を聞いたような聞いてないような気がしていた。 sysinternalsのRAMMapを使ってみたところ、物理アドレスは3.2GBの部分で分断されているみたい。 32bit Windowsで使用可能なメモリ量と同じところで分…

テスト設計コンテストを見て残ったもやもや感

JaSST'13 Tokyoへ行ってきました。 テスト設計コンテストを見てたらだんだん訳が分からなくなってきました。 [そのフェーズなの?] 機能テスト以外のユーザビリティやユーザーに対するリスクを重視しました!みたいなチームが多かったように感じました。 結…

わんくま同盟 名古屋勉強会 #25

すっかり忘れてたけど、参加してました。 先日のDelphi Advent Calendar 2012への参加はこの勉強会がきっかけです。 @tworksさんによるC++ BuilderのセッションがC++ Builderのバグで、だいたい同じだからってDelphiを使ったデモになってました。 その時にAd…

10年ぶりのDelphi

これはDelphi Advent Calendar 2012参加記事です。 Delphi、たぶん10年ぶりくらいでしょうか。 Delphi6以来です。 当時、Delphi6には無償のPersonal Editionがあったから、今も無償で使えるバージョンがあるかと思って探してみたけど、無償エディションがな…

VC++2010は関数名・変数名に日本語が使える

今まで知らなかったけど、VC++2010ではWin32 コンソールアプリ(ネイティブ)でも関数名・変数名に日本語が使えるようだ。 #include "stdafx.h" #include <stdio.h> int てすと関数() { int 変数 = 0; printf("%d\n", 変数); return 変数; } int _tmain(int argc, _TC</stdio.h>…

わんくま同盟 名古屋勉強会 #20 & 第39回 名古屋アジャイル勉強会 & TEF東海 勉強会

久しぶりに勉強会に参加したし、最近記憶力がないのでレポートを残す。 TDDワークショップ やはり聞いてるだけと、手を動かすでは違いますね。 (PCを持って行ってないので実際には手も動かしてませんが) TDDに対する認識が改まった事は、純粋なTDDってのは…

VC11ではExpressEditionでも静的コード解析が使えそう

MSDN Blog「Code Analysis for All」より This is the first time that Code Analysis has been made available in an Express edition of Visual Studio We are keen to hear your feedback on your experience of using Code Analysis in Express. やった…

Adplusがvbsからexeになってた

開発環境を入れ直ししていたら、Debugging Tools for Windowsが単独ダウンロードではなく、Windows SDKに含まれるように変更されていたようだ。 32 ビット版 Debugging Tools for Windows 64 ビット版 Debugging Tools for WindowsWindows SDK 7.1をダウンロ…

VC2010の並列プログラミング

ようやくVC2008からVC2010への移行を始めたので新機能の確認から。 CodePlexにParallel Programming with Microsoft Visual C++というのがあって、本として出版された内容のサンプルコードとかが落とせる。 まぁ、英語の本は買うつもりものないので、そこか…

並列プログラミング書籍が当たるかも

最近、iSUSというサイトができたらしく、オープン企画として、Cilk、OpenMP、インテル スレッディング・ビルディング・ブロックの本が当たるキャンペーンをやってる。 このサイト自体もインテルのオンラインマガジンの日本語訳があったりで結構使えそうな感…

memcachedとWindows

ちょっとmemcachedとやらを試してみようと思ってWindowsで使えるのかなーと調べてみた。 memcachedのwikiにPlatform Windowsというページがあり、これによると昔は本家は対応してなくていろいろなポーティングがあったけど、今は対応してるよ。という感じら…

有償版VisualStudioについてくるアイコン

有償版のVisualStudioにはImageLibraryというアイコンなどのイメージファイルがついてきます。 VSインストールディレクトリにある 「Common7\VS2008ImageLibrary\1041\VS2008ImageLibrary.zip」 「Common7\VS2010ImageLibrary\1041\VS2010ImageLibrary.zip」…

アトミックな64ビット操作

Windows 32bit + VS2010(ネイティブC++)環境での話。 インテルのマニュアルによると64ビット境界にアライメント調整された64ビット値の読み、書きはアトミックに操作できるようだ。 7.1.1. 保証付きアトミック操作 インテル® Pentium® 4 プロセッサ、インテ…

Windows7のパフォーマンスモニターが使いにくい

Windows7のパフォーマンスモニターがもうこれでもかってくらい使いにくい その1 前回の設定を覚えない 表示したい項目(カウンター)をぽちぽち選んでも次回起動時に復元しない。 たくさん見たい項目があるとそのたびに選びなおさないといけない! 設定の保…

ラップアラウンドの処理はめんどう

32ビット値でインデックスとオフセットを受け取って、対象のアドレスになんかの操作をするような関数があったとする。 とりあえず、インデックスは最大100までとすると、範囲が超えてないかチェックする必要がでてくるわけで。 bool test(unsigned int index…

メモリのアライメント

FPGAの載ったボードにアクセスするライブラリに、「アクセスするメモリは8バイトの倍数アドレスにアライメントされている事」という条件があった。 これをVCで実現するには以下の方法で良いようだ。 ・ローカル変数 _declspec(align(8)) short buffer[8]; ・…

静的配列の要素数を取得する

MSDNのstrcpy_sの説明を見てて、初めて知ったC++の書き方。 C++ では、これらの関数の使用はテンプレートのオーバーロードによって簡素化されます。オーバーロードでは、バッファ長を自動的に推論できる (サイズの引数を指定する必要がなくなる) だけでなく…

lstrcmpの"l"って何?

The Old New Thingの記事 What does the "l" in lstrcmp stand for?をてけとー訳。 (16ビット時代のことは知らないのでてけとー訳したものの意味が分からないところ多数。) ↓ここからこれをMichael Kaplanに聞いたら、きっと「lameの事だね」って言うと思…

余分なカンマ

C++ってCのルーズさを受け継いでいながら、++された部分にはルーズさがなくて困る。 例えば、余分なカンマがあってもコンパイルOKなもの 配列 int a[] = { 1, 2, //カンマがついててもコンパイルOK }; enum enum b { AA, BB, //カンマがついててもコンパイ…

引数つきコンストラクタ

C++でローカル変数で使うときは void Function() { int a(5); ClassB b(5); } なんだから、メンバ変数の方もこう書きたい。 class ClassA { private: int a(5); ClassB b(10); } でも実際は class ClassA { public: ClassA() : a(5), b(10){} private: int a…

C++の継承が難しい

C#みたいなインターフェイス指向?(という単語があるのか知らないが)なコードをC++で書こうとして継承が分からなくなった。 とりあえずこんなインターフェイスを用意。 IBaseを基底として、IA、IBがそれぞれ別のインターフェイス。 この時に、IBaseの処理…

Gitのリファレンス

Pro Gitってページがいい感じ。 一見すると英語しかないんだけど、http://progit.org/book/ja/にアクセスすると日本語に翻訳されてる。 トップページの一番下にちょろっと翻訳ページへのリンクがあるんだけど、これは見落とすよなぁ・・・・ もっと上のほう…

OSSライセンスは難しい

IPAのOSSライセンスの比較、利用動向および係争に関する調査を読んでるんだけど、やっぱりライセンス関係は難しい。 例えばGPLとBSDライセンスの互換性についても <互換性> FSF ウェブサイトによると、2-Clause および3-Clause のBSD License はGPL と互換…

NMateに期待したけど使えなかった

Visual Studioギャラリーを見てたら、 NMate NUnit + PartCover VS Addin Open-Source Project というもの発見。 スクリーンショットを見る限り、VisualStudio上から単体テストの実行とカバレッジが取れそう。 まぁ、タイトルからしてNUnit + PartCoverって…

C++でboolの演算

パッと見で全然分からなかったバグコード if(!this-IsComplete()) { return true; } 想定の逆が返ってくるからなんだろうとよくみると、「this->」のつもりが「this-」になってた。 コンパイル通るもんだねぇ。 「!this - IsComplete()」つまり、thisアドレ…