const_iterator2010/11/01 04:48

iterator クラスを作っていて、はまりました。

typedef const iterator const_iterator

として、型を定義した後に戻り値を const_iterator としたメンバ関数を書いてみると、

typename AAA<T>::const_iterator begin() const{
 const iteraotr を戻す
}

という定義と、

typename AAA<T>::iterator begin(){
  ただの iteraotr を戻す
}

という定義が同じだといってコンパイラに怒られました。

どうも、typename を使って const_iterator を指定するのが良くないらしい。

結局、

const typename AAA<T>::const_iterator begin() const

ともう一回 const 指定をすることで逃げましたが、釈然とはしません。

クラスの外で関数定義をしようとすると良くない理由もわからないし。

と困っています。

IFileOperation2010/11/02 06:34

IFileOperation は、Vista で新しく追加されたCOMのインターフェースになります。これは、Vista 以前に使われていた SHFileOperation 関数の後継APIですが、ネットで検索してもほとんどIFileOperation に関する情報が無いようなので、備忘録としてメモを残します。MSDNにもサンプルコードがありますが、PerformOperations を呼び出さないと実際の作業は行いません。ちょっと、悩んでしまったので使う際には気をつけてください。

IFileOperation(MSDN)

http://msdn.microsoft.com/ja-jp/library/bb775771(v=VS.85).aspx

IFileOperation::CopyItem(MSDN)

http://msdn.microsoft.com/en-us/library/bb775761(v=VS.85).aspx

(※)↑上記のサンプルでは、IShellItemが使われていますが、IShellItem2も使えます。

IShellItem Interface(MSDN)

http://msdn.microsoft.com/en-us/library/bb761144(VS.85).aspx

Windows で Zip の解凍・圧縮2010/11/07 08:10

雲は、意外と、変なことにこだわるところがあって、必要もないのにWindowsでのZipの解凍・圧縮の方法を探していました。なかなか、普通に検索していると見つからない(Microsoftが明文化していない)のですが、それでも、いくつか見つけることが出来ましたので紹介しておきます。

ZIP 圧縮・展開 01 ~ 03

http://eternalwindows.jp/installer/zip/zip01.html

http://eternalwindows.jp/installer/zip/zip02.html

http://eternalwindows.jp/installer/zip/zip03.html

shell32.dllでファイル圧縮(VC++)

http://www.softist.com/programming/shell32-zip/shell32-zip.htm

CopyHereの挙動

http://www.okalabo.office-on-the.net/okalog/34-dialy/73-copyhere306e631952d5

Decompress Zip files with Windows Shell API and C#

http://www.codeproject.com/KB/cs/decompresswinshellapics.aspx?msg=1583265

00_Windows XP以降の圧縮・展開機能を使う

http://mrxray.on.coocan.jp/Delphi/plSamples/733__ArchiverWindowsZIP.htm

VBScriptでファイル圧縮

http://okwave.jp/qa/q2006207.html

ZIPファイルの中身を削除するバッチファイル

http://scripting.cocolog-nifty.com/blog/2007/04/zip_97c3.html

ZIPファイルを作成/追加/置換するバッチファイル

http://scripting.cocolog-nifty.com/blog/2007/04/zip_4d41.html

ZIPファイルの中身を一覧するバッチファイル

http://scripting.cocolog-nifty.com/blog/2007/04/zip_6a3d.html

ZipPackage - .NET Framework 3.0(.Net で ZIP の圧縮解凍)

http://www.ailight.jp/blog/sha256/archive/2006/08/25/11944.aspx

以下、いろいろ。

物理メモリ容量を取得する(Shellオブジェクトの生成方法)

http://www.usefullcode.net/2006/12/post_15.html

Shellオブジェクト (ShellApplication)

http://www.roy.hi-ho.ne.jp/mutaguchi/wsh/object/shell.htm

IShellDispatch2オブジェクト (Shell.Application)

http://www.roy.hi-ho.ne.jp/mutaguchi/wsh/object/shell2.htm

【VC++】CからCOMを呼べば、Shell.Application と Wscript.Shell でスタンバイ状態にできる

http://maglog.jp/lightbox/Article421014.html

_variant_t を使用して、楽して安全にデータ変換

http://isobe.exblog.jp/2060639/

COM基礎

http://eternalwindows.jp/com/combase/combase00.html

【結論】

いろいろと、COM から ZIP を解凍しようと努力をしましたが、残念ながら、MoveHere で解凍すると同じファイルを永遠と解凍するという、謎な現象がどうしても収まらないため、挫折しました。Microsoft。少なくとも標準の圧縮フォーマットを ZIP にするのなら、ZIP の圧縮・解凍の API は明示的に示すべきではないのか?朝から、怒り気味の雲です(かなり不愉快)。いずれにしても、残念な結論です。ということで、以下のライブラリを使うことにしました。

ZLIB

http://www.zlib.net/

zlib の使い方

http://s-yata.jp/docs/zlib/

zlib 入門

http://oku.edu.mie-u.ac.jp/~okumura/compression/zlib.html

リンク集142010/11/18 19:42

スレッド プールによるスケーラブルなマルチスレッド プログラミング

http://msdn.microsoft.com/ja-jp/magazine/gg232758.aspx

C#開発者のための拡張メソッド入門

http://www.atmarkit.co.jp/fdotnet/bookpreview/kisokaracs_1101/kisokaracs_1101_01.html

.NETの例外処理

http://blog.yaju.jp/201005/article_7.html

GPGPU開発支援ツールの最新版「Parallel Nsight 1.5」「CUDA Toolkit 3.2」リリース

http://codezine.jp/article/detail/5457

[C++] C++0x - 右辺値参照(Rvalue reference) / ムーブ・セマンティクス(Move semantics)

http://d.hatena.ne.jp/faith_and_brave/20071004/1191497817

rvalue reference 完全解説

http://cpplover.blogspot.com/2009/11/rvalue-reference_23.html

開発者のための Windows 7 ~まずはここから~

http://www.microsoft.com/japan/powerpro/TF/column/tk_10_1.mspx

アプリケーションへのプログレッシブ デコードの統合(プログレッシブJPEGなど)

http://msdn.microsoft.com/ja-jp/windows/dd637988.aspx

Windows 7 ホワイト ペーパー

http://msdn.microsoft.com/ja-jp/windows/dd262126.aspx

Windows 7 開発者向け技術情報

http://msdn.microsoft.com/ja-jp/windows/default.aspx

カットや結合も可能なCUDA対応の動画変換ソフト「Freemake Video Converter」

http://www.forest.impress.co.jp/docs/review/20101126_409292.html

祗桜(アイコン・壁紙など。とってもセンスがよいです)

http://gi0.net/

Windows 7 徹底解剖(MSDN) - ライブラリの紹介 -

http://msdn.microsoft.com/ja-jp/magazine/dd861346.aspx

プログラミングメモ - テンプレート版 Builder パターンは Policy パターンの特殊な場合という話

http://qune.cside.com/archives/001588.html

Marshal.AllocCoTaskMem メソッド(C#でのメモリ確保)

http://msdn.microsoft.com/ja-jp/library/system.runtime.interopservices.marshal.alloccotaskmem(VS.80).aspx

C++ Glossary(用語集)

http://www.kmonos.net/alang/cpp/glossary.html

[C++] Named Template Parameters

http://d.hatena.ne.jp/uskz/20060607/p1

高 DPI 対応の Win32 アプリケーションを記述する

http://msdn.microsoft.com/ja-jp/windows/dd630126.aspx

本サイトはC言語とWindows APIを用いたプログラムが永遠に栄えることを願うべく多数のプログラミング技術を提供しています

http://eternalwindows.jp/index.html

HTMLファイルの解析(MSHTML)

http://eternalwindows.jp/browser/mshtml/mshtml00.html

SetInformationJobObject

http://msdn.microsoft.com/ja-jp/library/cc429330.aspx

Job Object Security and Access Rights

http://msdn.microsoft.com/en-us/library/ms684164(VS.85).aspx

VisualStudio2010でのプロジェクトの依存関係2010/11/20 07:40

すっかりはまってしまいました。VisualStudio2005では、プロジェクトの依存関係を設定するだけで、Static Lib ファイルを自動でリンクしてくれていたのですが、VisualStudio2010では新しい参照の追加でプロジェクトを追加しないといけません。う~む。こういう大きな変更はちゃんとドキュメント化する必要があるのではないのか > Microsoft。一応、ここに書いてあるというのだろうが、訳もひどいしどうすればいいのかも書いてないしダメダメ。

Visual C++ 2010 の新機能

http://msdn.microsoft.com/ja-jp/library/dd465215.aspx

IT 産業は雲に言わせれば『情報を整理して人に見やすくすることで、人々の生み出す成果を高める』ことが存在意義だと思っているので、Microsoftが自社製品の情報さえ整理できていない(整理する技術を持っていない)ということは、はっきり言ってIT産業としてダメなんじゃないかと思います。話は飛びますが、iPhoneが受けたのは、この観点がブレなかったことが主要因ではないかと雲は推測しています。Microsoft。自社のみのWinだけを考えているといずれ恐竜のように滅びますよ。社会に(どうやって)貢献するのか?ということをもっと真剣に考えて欲しいと思います。