タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

VC++に関するreplicationのブックマーク (8)

  • コマンドラインから VC++ のコンパイラ (cl.exe) を使用する - Cube Lilac

    以前に参考にしていた記事が消えていたのでまとめておきます. GUI など VC++ 固有の機能を特に使用することなく,標準ライブラリ(+α)のみを利用して C++ のコードを書く際には,糞重い IDE を起動したくない わざわざ新規プロジェクトを作成せずにコンパイルだけ行いたい,と思うことがよくあります.ここでは,そんなときのために cmd.exe や cygwin などのターミナルから直接 cl.exe を叩けるように環境を整えることを考えます. Visual C++ のインストール まずは VC++ のインストール.最も手軽な方法は,http://www.microsoft.com/japan/msdn/vstudio/express/ からダウンロードしてインストールする事でしょうか.ここは,特に問題になる事はないと思います. 環境変数の登録 次に,ターミナルから cl.exe を叩

    コマンドラインから VC++ のコンパイラ (cl.exe) を使用する - Cube Lilac
  • プロセス・スレッド間の同期(イベント) | WINAPI入門~bituse~

    今回はプロセス・スレッド間の同期(イベント)について説明します。 過去二回は排他制御についてやってきましたが、 今回はプロセス・スレッド間で行う同期処理の仕組みを説明します。 イベントという仕組みを使って同期処理を行うのですが、 何かのイベントが発生したときに、シグナル・非シグナル状態を切り替える、というだけの 単純な仕組みです。 排他制御ではありませんので、同時に実行されてしまいます。 何かの動作をした時にシグナル・非シグナルを切り換える、というだけの単純なものです。 ただそれを、スレッドはもちろん、プロセス間でも共有できるというのが大きいですね。 まず、CreateEvent関数を使って、 イベントオブジェクトを作成します。 HANDLE CreateEvent( LPSECURITY_ATTRIBUTES lpEventAttributes, // セキュリティ記述子 BOOL bM

  • スレッドを調べまわって分かったことをメモ - かせいさんとこ

    こうですか?分かりません!>< WIN32のみのお話です。 スレッドって結構実装依存なのね…。 先にまとめ windowsは_beginthreadex推奨(CreateThreadはメモリリークの危険あり) _beginthread、_beginthreadexを呼び出すには、process.h をinclude _beginthreadexに入れられる関数ポインタは、__stdcall か __clrcall __stdcall は static WINAPI 〜 __clrcall は CLR系なので今回は未調査 非staticなメンバメソッド(__thiscall)を呼び出すには、ラッパをかぶせる→staticでないクラスメンバ関数を_beginthreadで実行させる方法。 - かせいさんとこ CreateThread C++では無くCの関数。 そのまま使うとメモリリークを起こす

    スレッドを調べまわって分かったことをメモ - かせいさんとこ
  • マルチスレッドプログラミング

    マルチスレッドプログラミング Windows Visual C++ でマルチスレッドを使うサンプルプログラムです. mutex で変数の同期を行っています.count1 と count2 の振舞いの違いを見ればどうなっているのか分かると思います. linux gcc 版を探している方はこちらへどうぞ. //マルチスレッドプログラムと mutex の使い方 #include <stdio.h> #include <windows.h> #include <process.h> HANDLE hMutex; //ミューテックスのハンドル int main(void); int count1 = 0; //mutex で変数を保護する int count2 = 0; //保護しない void func1(LPVOID pParam) { int i; while(1){ WaitForSingl

  • Shift+Ctrl+V でコード定義表示 - satosystemsの日記

    VC++ において Shift+Ctrl+B はソリューションのビルドなんですが、間違えて Shift+Ctrl+V を押したら、カーソル位置の定義がコード定義ウィンドウに表示された。以下画像は NULL 定義を表示させてみたところ。 やばい、知らなかった。 今までは F12 を押して、コードの場所にエディタでジャンプしていたんだけど、使い分けると効率が変わってくるな、これは。

    Shift+Ctrl+V でコード定義表示 - satosystemsの日記
  • C言語のプリプロセスのメモ(Hishidama's C pre-process Memo)

    S-JIS[2006-10-30] プリプロセッサ処理 C言語の特徴のひとつに、ソースの前処理(プリプロセス)というものがある。 これは、コンパイラーがコンパイルを行う前に、プリプロセッサがプリプロセッサ命令(「#」で始まるコマンド等)を処理するもの。いわゆる「マクロ」の展開。 とても便利で強力な機能だが、下手に使うとソースがどう展開されるかさっぱり分からないことになってしまうので要注意。 プリプロセッサ命令は、基的に「#」で始まり、行末で終わる。(通常のC言語の構文では、行末かどうかは無関係だが) 「#」と命令の間にはスペースを入れてもよい。 複数行にまたがるプリプロセッサ命令を書きたい場合は、行の継続記号として、行末に「\」を置く。 また、コメントを処理(ソースから削除)するのもプリプロセッサの仕事。 gccなら「-E」オプション、VC++なら「/E」オプションを付けることにより、プ

  • [Visual C++] デバッグビルドで動作するコードがリリースビルドで動作しない件

    この記事は3年以上前に書かれた記事です。情報が古い可能性があります。 VC++で、デバッグ構成でビルドしたプログラムでは動作するコードがリリース構成でビルドすると動かないよ?ということが稀にある。これはVC++の最適化によるものかもしれない。 例えば、次のコード。

    [Visual C++] デバッグビルドで動作するコードがリリースビルドで動作しない件
  • 1