C++
Visual Studioを開く メニューから「ツール」→「オプション」を選択 「テキスト エディター」→「C/C++」→「詳細」→「フォールバック位置」と進む 「常にフォールバック位置を使用」をTrueにする 「フォールバック位置」に適当なフォルダのパスを指定 sdfとip…
覚書です。 Visual C++の置換で「.*」を置換後の文字列で、使用する方法。 検索する文字列 _ExeCmd{.*}cmdWriter 置換後の文字列 _ExeCmd\1cmdReader {}で囲って\1でいける。
id:motom552:20101031 上の記事の追記に近い覚書 マルチスレッド開発はメモリを愛する事から始める 常にメモリの事を考えながら開発しないと、すぐにパフォーマンスに影響出る事が分かった。 処理内容 単純に0から1 シングルスレッド まあ書く意味あるのかっ…
様々な方法で関数を呼び出し、その速度を競います。 注意点 厳密に平等になるようにはしてないです。 単純にその呼び出しを使う場合を想定したプログラムにしてあります。 自分が使いたい関数呼び出し+αを今回使います。 PCスペッ子 以下の環境で行います。…
キャッシュを意識したプログラム。 どこかのサイトか忘れたけど、記事があったのでプログラム書いてみた。 要はメモリレベルでのスレッド間の独立性を高める。 ソース #include <cstdio> #include <process.h> #include <Windows.h> #include <conio.h> // スレッド #define THREAD_NUM 4 unsigned i</conio.h></windows.h></process.h></cstdio>…
生まれて初めてライブラリを外に出してみた。 もともと自分用にライブラリ作ったのでついで。 ライセンスやドキュメントこれでいいのやら・・。RNLua https://sites.google.com/site/mothulelabs/
以前の日記で sscanf か何かをstringで出来ないか?と書いた記憶があるけど、今日ちょっと作った。変換指定文字の種類やフィールド幅、精度やフラグなどは全く入っていないけどw std::string str; char buffer[64] = ""; str.assign( "[" ); str.append( it…
そりゃねーべ、エフリード!テキストで開くと失敗する。MSDN兄さんに聞いてみました。 指定のストリームがテキスト モードで開いている場合、キャリッジ リターンとライン フィード (CR-LF: carriage returnlinefeed) は単独のライン フィード (LF: linefee…
結構昔に買ったまま、詰んでた。 Moreじゃないほうは、立ち読みして知っていることばっかだったんで、飛ばしてMore買ったけど 読んでない。でも知らないことはあるはず。 以前C++のぶっとい本を思い切って全部読んだら、それなりに知識がついたから 今回もち…
ファーストフィット もっとも単純なアルゴリズムである。 探索リストの最初から順番に探索し、十分な空き領域を見つけると そこを分割してプロセスに与え、残りを空き領域として記録する。 ファーストフィットはできるだけ検索量を少なくする働きがあるため …
VCにあるメモリウィンドウですが、使わなくてもプログラムは作れますが、知っていると役に立つかもしれません。 なのでちょっと入門用としてまとめてみました。今回は製作やっていない代わりこっちをやっていました。 とりあえずこいつを見てくれ。どう思う…
メモリ領域からサイズ指定で取得してくる場合にsize指定が必要なので、 sizeofを使って取得したらうまくいかず。 調べて見たら、sizeofの罠を見つけた。 RECT rect={0xaa,0xaa,0xff,0xff}; int size1 = sizeof(rect); int size2 = sizeof(RECT); 上記のコー…
プログラム開始時に以下のコードを追加 _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF ); ただし、これだけだと実行終了時に出力ウィンドウにリーク検出ログを吐き出してくれますが、 どこでリークしたかは、教えてくれない。 なので、new …
通常の業務ソフトや軽いソフトなどは別に気にする必要性はあまりありませんが、CPUを最大限に活かしたいゲームなど、高速処理が売りのソフトなどは気にしながら作成しないと、痛い目を見ます。ですが、VCの場合だと勝手にアライメントを整えてくれている…
覚書。 宣言箇所 typedef std::vector<WindowConfig*> ConfigType; ConfigType m_configTable; find_ifに渡す関数オブジェクト class WindowNameSearch { const char* m_pTargetName; public: WindowNameSearch( const char* pTargetName ):m_pTargetName(pTargetName){} bo</windowconfig*>…