dskobaさん、げんたさんへのマルチレスになります。m(__)m
dskobaさんの報告とは別に修正版パッチ(1.5.8.0用)を
作成していたので、Up しておきます。
>>dev:4096 「1.5.8.0 プリコンパイル指定ミスってます」
も関連しているので、その修正も込みです。
http://groups.yahoo.co.jp/group/sakura-editor/files/Developer/Source/ssrc_2005-11-06_stdafx.zip>結果:ビルドできない
数日前にMSDNサブスクリプションダウンロードに登録された、
Microsoft Visual Studio 2005 Team Suite - JPN(リリース候補版)
でもまったく同様な警告・エラーが出てました。
警告が大量でウザいのでstdafx.hに
+#if _MSC_VER >= 1400
+#pragma warning( disable : 4996 )
+#endif
を追加してあります(下位コンパイラ互換も考慮)。
CEditView.cpp(1979) : warning C4819
の警告理由が不明だけど、特に問題は無さそうなので放置してあります。
(ひょっとするとコンパイラのバグかもしれない)
修正パッチは VC++6.0/2003/2005(Express, Team Suite) でコンパイル確認済みです。
>>CWSH.h の 40行目
>>operator = (const ImplementsIUnknown &);
>これ戻り値の型が指定されていないから明らかに変ですよね.
>なんでコンパイルエラーにならないんだろう?
自分が持っている昔のC++の教科書には戻り値なしの例が掲載
されてました。
この部分は、
「オブジェクトのコピーを禁止するのにコピーコンストラクタ
と代入演算子は private で宣言のみ行う」というやつですね。
私の修正では、
- operator = (const ImplementsIUnknown &);
+ ImplementsIUnknown& operator = (const ImplementsIUnknown &);
としてあります。
> ビルドしたバイナリのサイズは
> ・サイズ優先(/O1)で824KB
これマジ?と思って確かめてみました。
Team Suiteでも同じサイズになってます!
ポータビリティも重要なので、これは嬉しいですね!!
通常、速度優先よりも安定性が高く、サイズが小さくなることで
むしろキャッシュ効率が良くなって速くなる場合もあるらしい。
MSも自社製品はこっちでリリースしていると聞きますし、
これをデフォルト設定にしても良さそうですね。
> やっと最適化コンパイラでは無い VC++.NET(2002)から解放されそうです。
Express は無料提供というのが信じられないくらい充実してますね。
あとは MFC を付けろとまでは言わないけど、
Win32用のGUIなリソースエディタが付けば...