VSはデバッグ情報(pdbファイル)をどのようにして見つけるか [プログラミング]
Visual Studio で c/c++ プロジェクトをビルドすると、デバッグ情報が pdb ファイルに格納されます。
VS内でビルド→デバッグしているときはいいのですが、実環境に近い環境で実行→assert→デバッグしたいときに、VSがデバッグ情報を見つけてもらえるときと、そうでないときがあったりして戸惑います。
一体どうなっているの~?
まあマニュアル読め。
subversionが遅い [プログラミング]
subversionを使っています。ソースコードなど数kbのファイルを扱うにはいいのですが、画像など数百キロバイトのファイルを大量に扱うと、遅さが目立ちます。
AthlonXP 1500+, 768MBのPCをサーバとして使っているのですが、500MB、ファイル数3000ぐらいのリポジトリをチェックアウトすると、ネットワークは2MB/Secぐらいしか出ません。CPU負荷は100%のままです。同サーバとsamba経由でファイル転送すると10MB/Sec出るので、NWがボトルネックではなさそう。
やっぱCPUかなあ、それ以外もあるのかなあ・・・と検索してみたところ、関連ネタが一つみつかりました。
降格した権限でプロセス起動したいネタ [プログラミング]
またもVistaネタ。
UACが有効なVistaでは、システムを操作するような場合に管理者権限に昇格(Elevationであってる?)する必要があり、その場合は例のダイアログがでます。
そうして昇格された権限で動作しているプロセスから、元の権限で動作するプロセスを起動したい場合があります。
とっても身近な例は、インストーラがその最後にreadme.htmlをブラウザで表示したい場合です。そのままShellExecuteすると、管理者権限のIE(!)が起動してしまい、大変危険です。
そこで、「降格した権限でプロセスをキックしたい」という要望がでてくるわけです。
ここまでが前フリ(ふう)。
codeprojectにはこんな記事が投稿されています。
Vista SP1情報
Vista SP1 の情報が公開されています
ぱっと見、ほぼバグフィックスですねえ。
ネットワークドライブをマウントしているとエクスプローラが落ちまくるのは直るのかしらん?
日本語でサマった解説は以下の記事
http://ascii.jp/elem/000/000/063/63199/
外部マニフェストと埋め込みマニフェストの優先順位 [プログラミング]
Windowsには途中からside-by-sideアセンブリという概念が入りました。いわずと知れた「DLL Hell」問題を解決するために、DLLのロード方法を変更したものです。ああ、それ専用じゃないんですけどね。Vista の UAC 向けの情報も書き込まれます。それはさておき。
アプリなりDLLなりが、どのDLLに依存しているかをマニフェストに記述すると、そのDLLであることを確かめてくれるようになります。異なるバージョンのDLLだと弾いてくれます。
マニフェストは AppName.exe.manifest という外部ファイルに書くことができますし、アプリケーションのリソース(アイコンやカーソル、ダイアログなど)として埋め込むこともできます。
これらがどちらもある場合はどちらが優先するか、というのがこのエントリの趣旨です。(ふう)
結論:OSのバージョンにより異なる(えええ)
http://msdn2.microsoft.com/ja-jp/library/ms235342(VS.80).aspx
メモ : Windows XP では、外部マニフェストがアプリケーションのローカル フォルダに存在する場合、オペレーティング システムローダーは、バイナリに埋め込まれたマニフェストではなく、この外部マニフェストを使用します。Windows Server 2003 およびそれ以降のバージョンの Windows では、この優先順位が逆になります。つまり、埋め込みマニフェストが存在する場合はそれが使用され、外部マニフェストは無視されます。
ナンテコッタイ
これってマニフェスト情報全体についての話なのかなあ。UACのrequireAdminはどうなるのかなあ。
XPでの開発中には要注意ですな。外部マニフェストを置いたまま、埋め込みマニフェストを更新しても反映されないわけで、混乱しそう。
DirectX SDK August 2007 リリース [プログラミング]
今後は年4回の定期リリースになるとのこと。
SDKからの削除予定。
* Direct3D8 and all of the earlier versions
* Direct3D RM
* DirectAnimation
* DirectMusic
* DirectInput7 and all of the earlier versions
* DirectPlay
* DirectPlayVoice
* DirectX8-era HRESULT conversion routines
* Managed DirectX samples and documentation
これらは今回のリリースを最後に、次回からはSDKから削除されるとのこと。
ただしランタイムライブラリ(redist)からは削除されないので、既存アプリが動かなくなることはない。
MSは一度採用するとしつこくサポートを続けてくれるので、開発者としてはありがたい。
pythonのスコープが良く分からない [python]
>>> def outer(a):
... def inner(b):
... return a + b + c
... c = 100
... return inner
...
>>> c = 0
>>> x = outer(1)
>>> x(2)
103 # c=100のが使われている
>>> def outer(a):
... c = 100
... def inner(b):
... return a + b + c
... return inner
...
>>> c = 0
>>> x = outer(1)
>>> x(2)
103 # c=100のが使われている
>>> def outer(a):
... c = 100
... def inner(b):
... d = c
... c = d + 1
... return a + b + c
... return inner
...
>>> x = outer(1)
>>> x(2)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 4, in inner
UnboundLocalError: local variable 'c' referenced before assignment
1つ目、2つ目の例から、cはouter内のローカルのが使われていることがわかる。
んで、3つ目のがエラーになるのが分からん。