#warning MSACM.H: Defining _UNICODE because application defined UNICODE

 GPPでビルドするとエラーではないが

#warning MSACM.H: Defining _UNICODE because application defined UNICODE

という警告が出る場合があります。この場合、Unicodeを使っているがその宣言をしていないためだと考えます。この場合には

#define _UNICODE //ワイド文字列 (Unicode) 対応

の定義を行えば警告が出ません。是非試してください。プログラム初心者にはわかりにくいですが、プログラム中の文字列の格納方法は

  • Ascii文字(8ビットの英数字、昔からある形式)
  • マルチバイト文字列 (SJIS)  #define _MBCS
  • ワイド文字列 (Unicode) 対応 #define _UNICODE

があります。別に自前で全てを8ビット文字列として扱えば良いと思われますが、既存の関数を使いたい場合は、文字列の違いはこの仕組みで吸収されます。ちょっと苦しいですが覚えておくと良いと考えます。

簡単に手持ちのC,C++の処理に進捗バーを実装する方法

 C言語やC++で何か処理を書ける人は多いですが、Windowプログラムとなると実装方法が難しいです。VisualStudioのプロジェクトの雛形にボタンを配置し、そこから手持ちのコードを起動すれば動きそうです。 しかし、その方法では「未応答」状態になったり、ウィンドウの操作すら...