OpenCVでカメラからのキャプチャを行うような事をC++/CLIでやろうとしています。で、まあリソース管理の為のコードを書くのは避けて通れない訳で、Disposeパターンに従って作ろうとしたら、public: virtual void Dispose(bool);が通らない......予約されていると? と思って見てみたら、こんなページがMSDN Libraryにありました。 Destructors and Finalizers in Visual C++ URIが日本語用(ja-jp)なのに翻訳されていないというのはとりあえず置いておいて、C#に慣れた頭で読んでみると驚きの連続でした。ついでに眠いせいか難しい。一通り読んだだけでは収拾がつかないので、デストラクタ(Wikipedia)なども見つつ重要そうな所を僕なりにちょっとまとめてみます。 C++/CLIにおけるデストラクタとファイナ
このページには行き当たりばったりな表現が含まれます。 まとまった記事を期待する方は閲覧にご注意ください。 CairoってVCで使えるのか さて、わたくし、急にSVGを自分のプログラムで表示してみたくなりまして、Cairoならそれができると聞きました。 なので、とりあえずCairoの最新バージョン(現時点で1.8.6)をインストールしてみました。 releasesのページから最新版にあたるcairo-1.8.6.tar.gzを落としてきて展開します。 うちはWindowsだからREADME.win32を読めばいいのかな…。 とりあえずWindows環境の人向けっぽいREADME.win32があったので読んでみます。 Tools requiredとか、Libraries requiredとか、いろいろ書かれてます。 Tools required ============== You will
検出されにくいヒープオーバーラン はじめに、この資料でどのような問題を解決できるのか簡単に説明します。 次のコードを見てください。 #include <windows.h> #include <assert.h> #include <stdio.h> void foo() { printf ( "Entering foo()\n" ); char* p = NULL; p = (char*) HeapAlloc ( GetProcessHeap(), 0, 8 ); assert( p ); ZeroMemory ( p, 16 ); // BUGBUG HeapFree ( GetProcessHeap(), 0, p ); printf ( "Exit foo()\n" ); } int main(int argc, char* argv[]) { foo(); return 0; }
このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 Microsoft Corporation February 2006 目次 はじめに AppVerifier とは AppVerifier の機能 AppVerifier を使用する状況 AppVerifier の使用方法 AppVerifier のデータを分析する AppVerifier の重要点 付録 A: ドライバの検証ツール 付録 B: AppVerifier を使用してセキュリティ機能をテストする 付録 C: 関連情報 要約 Microsoft Application Verifier (AppVerifier) は、アンマネージ コードの実行時検証ツールで、通常のアプリケーションのテスト手法では
組込みソフトウェアを考える。状態マシン図、プロダクトラインも考える。HaskellとElixir大好き、Rubyも好き。島敏博のブログ。 コードカバレッジ測定ツール TestCocoonの使い方 TestCocoon - Code Coverage Tool for C/C++ and C# コードカバレッジ測定ツールとは、プログラムがソースコードの中のどこを通っているかを明らかにするツールである。普通はユニットテストといっしょに使い、対象とするコードのできるだけ多くのところを実行するように、テストを工夫する目的で用いられる。 コードカバレッジ測定ツールは、オープンソースのもの、商用ツールのもの、非常に多く存在していて、できることは似ている。違いはいかに簡単に使えるか、その使い勝手にある。 インストール方法 (Windowsの場合) (1) C/C++コンパイラは、別途いれておく。Test
The latest version of this topic can be found at What's New for Visual C++ in Visual Studio 2017. In Visual Studio 2015, the C++ compiler and standard library have been updated with enhanced support for C++11 and initial support for certain C++14 features. They also include preliminary support for certain features expected to be in the C++17 standard. We have also added project templates for cross
Quickly find untested C++ code and measure testing completeness. BullseyeCoverage is an advanced C++ code coverage tool used to improve the quality of software in vital systems such as enterprise applications, industrial control, medical, automotive, communications, aerospace and defense. Learn More 🡪 Get Started 🡪 Detailed code coverage metrics. Condition/decision coverage is easy to understand
VisualC++に付属しているCランタイムライブラリにはヒープメモリのリークを検出する機能が備わっています。その機能をもちいて、メモリリーク個所を特定してみましょう。 メモリリークの検出 メモリリークを検出するには_CrtDumpMemoryLeaksを呼び出します。このとき未解放のメモリがあればデバッグコンソールにそのメモリアドレスと先頭16バイトのダンプが表示されます。 Dumping objects -> {108} normal block at 0x00143FC0, 256 bytes long. Data: 48 65 6C 6C 6F 20 57 6F 72 6C 64 00 CD CD CD CD Object dump complete. この中の{}で囲まれた数字は、起動後に何番目に確保さえたメモリかを示します。 メモリリーク個所の特定 メモリリー
Online: 3 FrontPage Soft ソフトの部屋 ダウンロード ソフトの部屋 キッズ向けソフトの部屋 Tips 備忘録 玄箱/HGメモ TX100 S3メモ ポケモン備忘録 ポケモンレンジャー備忘録 最新の20件2021-12-21 コメント/ポケモン+ノブナガの野望/パスワード 2020-04-06 コメント/宮迫博之 2020-03-10 ????/Subversion??/SVNPath?SVNParentPath 2013-06-28 Android/REGZA Tablet AT700接続方法 Android/REGZA Tablet AT3S0接続方法 Android/USB driver追加方法 2013-11-13 にほんをまもれ!! キッズぼうえいたい 5 かけざん2 にほんをまもれ!! キッズぼうえいたい 4 かけざん にほんをまもれ!! キッズぼうえいた
暫く触っていないとすぐ忘れるのでメモ.クラスを関数の引数に取るとき,参照で渡すかポインタで渡すか?結論をさっさと書くと,constなら参照,非constならポインタをデフォルトとする.constポインタはconst参照の使用が合理的でない場合に使える.非const参照は使ってはいけない. constの有無 ポインタ 参照 const △ 使える ○ 推奨 非const ○ 推奨 × 使ってはいけない! 結局好みの問題でもある気がするけど,GoogleのC++スタイルガイド,プログラミング言語C++第3版,大規模C++ソフトウェアデザインあたりでも上と同じような主張がされているということで正当化してみます. なぜ非constの参照がまずいのか 引数が変更されるかどうかが構文だけから分かりにくい.たとえば以下のコードでcが意図せず変更されてしまったとき,どの関数が悪さをしているのか調べるために
第10章 著名な脆弱性対策 バッファオーバーフロー: #4 あふれを検出するデバッグ 領域あふれの問題の検出については、ロジックが複雑に入り組んでいる場合、ソースコードから見いだすのは容易でない。そのような場合、デバッガ等のツールの下で対象のプログラムを動かして、問題を見つけ出すことになる。 スタックおよびヒープにおけるあふれを検出するためのコンパイラのオプションやデバッグ・ツールがいくつか存在する。 次にその主なものを紹介する。 あふれの検出等に使うことのできるデバッグ・ツール ヒープにおける領域あふれやダブルフリー等の問題を検出できるツールをふたつ紹介する。ひとつは独立したツール、もうひとつは統合開発環境の中の機能である。 (1) Valgrind [GNU/Linux] ヒープデバッガを中心とした GNU/Linux 専用のツールスイートである。割当領域外への書き込みや、メモリリーク
今週の水木あたり、集中して時間を取って、やや込み入ったWindows… というかNTFSの機能を調べてテストプログラムを作って遊んだので、その覚書。 スキャナを使って画像を取り込んで、ファイルに落とす処理が今既にある。そのファイルをあとからキーワードを使ってデスクトップ検索で調べられたら便利じゃん!とか思いついた。なにしろSQL Serverとかお高いソフトがなくてもよくなるし、検索機能を自力で実装しなくていい。キーワードは文字認識で抜いてきて、エクスプローラでファイルのプロパティ→詳細タブ(Windows XPでは概要タブ。なんだこの落差はw)にある「キーワード」や「コメント」って欄に値を設定すると、これが検索の対象になる。こうすればjpegのデータはjpegのままだけど、検索対象のワードも持ったファイルになるので超ハッピー! で、問題。ここって書き込むとどこにデータを持つことになるのか
日本語ドキュメントshared_ptr、weak_ptr boost勉強会http://www.ustream.tv/recorded/2981654 Smart Pointer Programming Techniques 実装してみた shared_ptrの実装1 - while( c++ ); shared_ptrの実装2 - while( c++ ); shared_ptrの実装3 - while( c++ ); shared_ptrの実装4 - while( c++ ); boost::shared_ptrっぽく。 shared_ptrの実装5 - while( c++ ); shared_ptr< void >を可能にする。 shared_ptrの実装6 - while( c++ ); 適当なクラス図とか。 shared_ptrの実装7 - while( c++ ); dele
C++ Advent Calendar です。 google の V8 engine を 組み込んで簡易スクリプトにしてしまおうという話です。 C++の言語仕様や boost の話は超絶詳しい人たちがされているので、誰もやらなそうな ぬるいいい加減な話をします。 #間違ってたら突っ込みよろしく!! なぜ V8? Lua ぢゃだめなんですか? C++ から呼び出しやすい 組み込み言語として、 Luaがあります。 しかし、 Luaはコメントが -- から始まったり、 〜end と、 C / C++ に組み込みやすいスクリプト言語なのになぜか pascal チックな文法?という不思議なところがあります。 やはり、 C++ ユーザとしてはコメントは // で書きたいし、ブロックは { } でやりたいですよね (y/Yes) そんなところに、 google の V8 engine があります。 C+
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く