ライブラリとは、汎用性の高い複数のプログラムを、再利用可能な形でひとまとまりにしたもの wikipedia つまり、様々なプログラムで利用可能だなと思われるコードを 再利用しやすいように部品として生成したものがライブラリと言えます。 中でもスタティックライブラリ(静的リンクライブラリ=static link library)は コンパイルするたびにリンクする方式のライブラリです。 今回は例としてfps管理サンプルをライブラリ化してみましょう。 プロジェクトの作成 1.いつも通りのプロジェクトの新規作成。 2.空のプロジェクト(名前はfpser) 3.ヘッダー、ソース類を作る。(mainは不要) プロジェクトの設定 プロジェクト−fpserのプロパティから変えられる。 設定する項目(Debug) ・構成プロパティ−全般−構成の種類 | exe→lib ・構成プロパティ−C/C++−コード生成
How to write Textfiles with encoding in MFC MFC only can handle ANSI-textfiles with CStdioFile, because it uses the default behaviour of the CRT. But you can open the file-stream by yourself and then you can use the new encoding functionality in the CRT to specify the correct encoding. The follwing example demonstrates this: // Old-Style... do not use... //CStdioFile f; //f.Open(_T("\test.txt"), C
ダイアログをMFCダイアログから呼び出すと反応が異様に遅い.† C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_6b128700\msvcr80.dll を読み出そうとして遅くなってるっぽ. 何故,読み出すようになったのか・・・それだけが分からないよ. :未解決 ↑ CTimeを使わずに時間を取得する† time.hを使う struct tm *timeinfo; time_t timer; timer = time(NULL); timeinfo = localtime(&timer); strftime(buffer, length, "%m%d-%H%M%S", timeinfo); もっと短い時間(ミリ秒とか)を取得する場合はGetTickCount()とかを使うべし. ↑ C
gtestをDLL内で使用する方法について。 ・まずexe単体のプログラムからgtestを使用してみる はじめに、dllを使用しない場合の超簡単なgtestのサンプルを作り、動作テストしてみます。 ・sample #include "stdafx.h" #include <gtest/gtest.h> #pragma comment(lib,"gtestd.lib") TEST(Test1, Test1) { // エラーを発生させる EXPECT_TRUE( false ); } int _tmain(int argc, _TCHAR* argv[]) { testing::InitGoogleTest(&argc, argv); RUN_ALL_TESTS(); getchar(); return 0; } これを実行すると、このようなコンソールが表示されます。 正しくエラーが検出され
_T("")マクロについて 初心者の方へ 下の説明を読むのが面倒なら次のように設定を変更すれば わずらわしい思いはしなくてもよくなります。 また、下の設定をすればLPCTSTRとか訳の分からないものはconst char *と同じ意味になり、 自分でコードを書く時にも_T("") などと書く必要もなくなります。 VisualStudio2005での設定例(2003や2008でもほとんど同じです): プロジェクト名で右クリックしてプロパティを選択 (ここでは太文字でcppTestと書いてあるやつ) 左側のツリーで構成プロパティ→全般を選択するとこのようなものが出てくる。 デフォルトでは文字セットのところが『Unicode 文字セットを使用する』となっているはず。 これを『マルチバイト文字セットを使用する』に変更してOKを押すと設定完了。 上級者向けの説明 おそらくVi
完全にVC++用のTipsです。Windows NT workstation 4.0 (Service Pack 5) + Visual Studio 5.0 Professional (Service Pack 3)でチェック済みです。 さらに,実は覚え書きだったりする。 UNICODEプログラムの書き方 UNICODEプログラムといっても,普通に書くだけです。少し書くときにコツがありますが。 UNICODEのみを考えたプログラムの場合 従来文字コードを考えない場合です。 文字・文字列 文字を扱うには,wchar_t型,またはWCHAR型を使います。文字列型としてはLPWSTRやLPCWSTRをつかいます。 文字定数・文字列定数 文字定数や文字列定数を定義するときは,Lで修飾します。 'a' L'a' "テスト" L"テスト" Lによる修飾を怠ると,"テスト"は0x83 0x65 0
VC++ のライブラリにはメモリリークの検出機能があります。関数ひとつ呼んでおくだけでアプリケーション終了時にメモリの解放漏れを出力ウィンドウに表示してくれるという便利なものなのですが、実際にこれを使うまでの過程に罠が多いのでメモしておきます。長すぎて我ながらわけがわからないので、興味のある方は最後の参考サイトだけ読んだらいいと思います。 使い方 普通に使う分には簡単です。 stdafx.h の末尾*1に : #if _DEBUG #define _CRTDBG_MAP_ALLOC #include <crtdbg.h> #define new new(_NORMAL_BLOCK, __FILE__, __LINE__) #endif と記述し、main 関数 (MFC であれば CWinApp::InitInstanceとか) 内部で ::_CrtSetDbgFlag(_CRTDBG_L
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く