home ホーム search 検索 -  login ログイン  | help ヘルプ

find 検索

541 - 550 / 1320    [|<]  [|<]  [<]  51  52  53  54  55  56  57  58  59  60   [>]  [>|][>|]
タイトル/名前 更新者 更新日
C言語系/memos/VC++/12, フレームポインタ省略(FPO)と"Oy"オプション msakamoto-sf 2011-02-01 17:12:27
日記/2011/02/01/Subversion本家のWindows用バイナリ msakamoto-sf 2011-02-01 15:27:34
日記/2011/02/01/Firefoxのオフラインモード(Work Offline)を抑制 msakamoto-sf 2011-02-01 14:33:13
技術/Windows/ブート設定 msakamoto-sf 2011-01-31 22:05:41
技術/Windows/"SendTo"などユーザープロファイル関連フォルダを開くには msakamoto-sf 2011-01-29 15:42:08
日記/2011/01/29/WindowsSDK v7.0 の "SetEnv.cmd" を手動で実行する msakamoto-sf 2011-01-29 14:34:49
日記/2011/01/29/VirtualPCのXPModeをVMware7にインポートしてみたが msakamoto-sf 2011-01-29 14:24:31
日記/2011/01/28/"プログラミング"の指す内容 msakamoto-sf 2011-01-28 14:55:03
読書メモ/"Practical Common Lisp"(邦訳:「実践Common Lisp」) msakamoto-sf 2011-01-28 14:44:11
日記/2011/01/25/そういえば「空の境界」劇場版、観終わったんだった。 msakamoto-sf 2011-01-26 09:21:37
ソート項目 / ソート順     1ページ 件ずつ表示

C言語系/memos/VC++/12, フレームポインタ省略(FPO)と"Oy"オプション  

所有者: msakamoto-sf    作成日: 2011-02-01 16:40:33
カテゴリ: C言語 Windows セキュリティ 

VC++では "/Oy" オプションによりフレームポインタを省略("FPO" : Frame Pointer Omission)する最適化を利用できます。
ちなみに、"FPO"の最後の"O"は省略(Omission)を表します。ですので、「最適化」まで付けると

FPOO : Frame Pointer Omission Optimization

になっちゃいます。かわいいですね。

この最適化なんですが、Windows開発チームはXP(SP2)以降は無効にしているようです。
FPOを有効にすると、PDBファイルのシンボル情報が無いとスタックトレース情報を復元できず、アセンブラレベルでのデバッグに支障が出る恐れがあります。
またマシンスペック向上のおかげで、FPOの有無は殆ど速度に影響を与えないそうです。

"Responder"という逆解析ソフトを使うとFPO有効な関数でもスタック上のデータを解析できるようなので、逆解析を難しくするという効果も低くなります。

以上のような事情で、少なくとも最近のWindows開発においては、FPOによる最適化はあまり人気が無いようです。

参考:

Advanced Windows Debugging, Chapter 2, p74:

This section (and the remainder of the book), ignores frame pointer omission (FPO) optimization,
simply because it is not used in Windows XP SP2 and later operating system.
Since FPO optimization makes debugging nearly impossible without symbols,
the current recommendation is to avoid it completely.


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2011-02-01 17:12:27
md5:465961025c0c65c21825aab3f18baf5a
sha1:c49bc9dd811559ea3d8169b7b932cce0d797c48f

日記/2011/02/01/Subversion本家のWindows用バイナリ  

所有者: msakamoto-sf    作成日: 2011-02-01 15:23:17
カテゴリ: Subversion 

ずっとTortoiseSVNばっかり使ってて、ふと本家SubversionのWindows用バイナリってどうなってるんだろうと思って見てみた。

http://subversion.apache.org/packages.html

一番下にWindows用パッケージのリンクがあり、CollabNetの他にもSlikSVNやWin32SVNなど、ボランティア?でメンテナンスされているWindows用バイナリが見つかる。

TortoiseSVNは一応コマンドラインでも使えるが、殆どがダイアログボックスを表示する対話形式になっている。
バックグラウンドや定時タスク処理など、非対話形式で処理させたいときは、本家のSubversionを使うことになるだろう。


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2011-02-01 15:27:34
md5:62ea14c9d07ce5284cbdd762aee6cbdb
sha1:4d4f4b3ab44dccb2632cfe0160ce24ecfc863d41

日記/2011/02/01/Firefoxのオフラインモード(Work Offline)を抑制  

所有者: msakamoto-sf    作成日: 2011-02-01 14:21:39
カテゴリ: ネットワーク 

で調べた時のURLメモ集。

最初は「オフラインモード」の事をよくわかってなかったので、「キャッシュをクリア出来れば良いのかな?」と調べてCache-Statusプラグインに到達した。

が、どうやら"File > Work Offline"の事だと自分の勘違いに気づき、調べ直す。

"toolkit.networkmanager.disable"を弄れば、オフライン・オンラインの切り替えを抑制できるっぽいが、これLinux環境オンリー。Windowsじゃ無理ぽ。

で、次の記事にぶつかった。

ここで"StayOnlineMode"というプラグインが言及されている。これが一番アタリっぽい。

m-hiyamaさんと似たような不満を感じている人もいるらしい。

"StayOnlneMode"を試そうと思ったんだが、どうも自分の環境では「自動的にオフラインモードに切り替わる」という現象そのものがまず発生しない。そのため、「オフラインモードへの自動切換えを抑制」する確認がそもそも出来ず、評価できなかった。Cache-Statusの確認では手動でオフラインモードに切り替えたりしてる。

"StayOnlineMode"プラグインはまだまだ発展途上。Firefox自身のOffline/Onlineモード切り替えの変更もあるかもだし、将来は未知数。

以上、メモ。


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2011-02-01 14:33:13
md5:6834c0b79f3d79134cca5ebf99282b9b
sha1:42b046c1be872100a78ca2050ae616c8c2d5f5f9

技術/Windows/ブート設定  

所有者: msakamoto-sf    作成日: 2011-01-31 08:48:35
カテゴリ: Windows プログラミング 

boot.iniなどOSのブート設定周りのメモ。

設定ファイル:boot.ini

直接boot.iniを編集してもよいが、編集ミスを防ぐため、専用の編集ツールが提供されている。

  • Windows 2000, XP :bootcfg.exe
  • Windows Vista 以降:BCDEdit.exe

参考:

カーネルデバッグを有効にするサンプル(WinXP, bootcfg.exe)

別マシンのカーネルデバッガからシリアルポート(COM1)を使って接続できるように設定してみる。

> bootcfg

ブート ローダー設定
-------------------
timeout: 30
default: multi(0)disk(0)rdisk(0)partition(1)\WINDOWS

ブート エントリ
---------------
ブート エントリ ID:   1
フレンドリ名:         "Microsoft Windows XP Professional"
パス:                 multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
OS ロード オプション: /noexecute=optin /fastdetect

1.既存のエントリをコピー。

> bootcfg /copy /ID 1 /d "Debug Mode with COM1"
成功: ブート エントリ 1 のコピーを作成しました。

> bootcfg

ブート ローダー設定
-------------------
timeout: 30
default: multi(0)disk(0)rdisk(0)partition(1)\WINDOWS

ブート エントリ
---------------
ブート エントリ ID:   1
フレンドリ名:         "Microsoft Windows XP Professional"
パス:                 multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
OS ロード オプション: /noexecute=optin /fastdetect

ブート エントリ ID:   2
フレンドリ名:         "Debug Mode with COM1"
パス:                 multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
OS ロード オプション: /noexecute=optin /fastdetect

2.デバッグオプションを追加

> bootcfg /debug ON /port COM1 /baud 57600 /ID 2
成功: BOOT.INI 中の OS エントリ "2" のスイッチを変更しました。

C:\work>bootcfg

ブート ローダー設定
-------------------
timeout: 30
default: multi(0)disk(0)rdisk(0)partition(1)\WINDOWS

ブート エントリ
---------------
ブート エントリ ID:   1
フレンドリ名:         "Microsoft Windows XP Professional"
パス:                 multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
OS ロード オプション: /noexecute=optin /fastdetect

ブート エントリ ID:   2
フレンドリ名:         "Debug Mode with COM1"
パス:                 multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
OS ロード オプション: /noexecute=optin /fastdetect /debug /debugport=com1 /baudrate=57600

再起動すると、起動時にブートメニューが表示されるようになる。



プレーンテキスト形式でダウンロード
現在のバージョン : 2
更新者: msakamoto-sf
更新日: 2011-01-31 22:05:41
md5:41fc3b1d051220cd8e9b2aec3324f4fe
sha1:aa6de9f13a0bb655358475cbd9866a0975ee6c0e

技術/Windows/"SendTo"などユーザープロファイル関連フォルダを開くには  

所有者: msakamoto-sf    作成日: 2011-01-29 15:39:16
カテゴリ: Windows プログラミング 

"SendTo" : 「ファイル名を指定して実行」 or エクスプローラのアドレス欄で

shell:sendto

で開ける。

他:

参考:



プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2011-01-29 15:42:08
md5:287706f321925380540c3220bb705f86
sha1:f1e6cb026f6bfdcd3b88e8b444de4733db6205cc

日記/2011/01/29/WindowsSDK v7.0 の "SetEnv.cmd" を手動で実行する  

所有者: msakamoto-sf    作成日: 2011-01-29 14:31:09
カテゴリ: Windows プログラミング 

という場合は、コマンドプロンプト(cmd.exe)を

/E:ON /V:ON

オプション付きで起動する必要がある。お好みに応じて"/K"を指定。

スタートメニュー → "Microsoft Windows SDK v7.0" → "CMD Shell" のショートカットを見ると、

/E:ON /V:ON /T:0E /K "C:\Program Files\Microsoft SDKs\..."

のようになってる。


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2011-01-29 14:34:49
md5:4dd9ff3fa393261835a9ef20f3f22bf4
sha1:69cdb6123842b232accce435f90ae62960a02bcd

日記/2011/01/29/VirtualPCのXPModeをVMware7にインポートしてみたが  

所有者: msakamoto-sf    作成日: 2011-01-29 12:22:27
カテゴリ: VMware Windows 

・・・XPのセットアップから始まってしまった。

なんとなーくな印象だけで、VirtualPCで整えた環境がそのままVMware側に引き継げるものと思い込んでいたが、現実は非情だった。

あーもう、せっかくVirtualPC側で調整した環境、またVMware側でやり直しか・・・。

あ、あと、キーボードが英語キーボードで認識されてしまったので、

を参考にJP106に手動で切り替えた。


プレーンテキスト形式でダウンロード
現在のバージョン : 2
更新者: msakamoto-sf
更新日: 2011-01-29 14:24:31
md5:9b8ad173d39912661a1c08709ee998e9
sha1:6a46c90ca870ce3b2aee7a8589ca3a40f2f064c7

日記/2011/01/28/"プログラミング"の指す内容  

所有者: msakamoto-sf    作成日: 2011-01-28 14:47:06
カテゴリ:

"Practical Common Lisp"の読書メモでも書いたが、一口に「プログラミング」と言っても本当に範囲が広くなってしまったなぁと思う。

数学パズルを解くための「プログラミング」、
Webアプリを構築するための「プログラミング」、
高負荷に耐えるTCP/IPサーバーを構築するための「プログラミング」、
SQLを駆使する「プログラミング」、
画像処理のための複雑な数式処理を行う「プログラミング」、
DBやOS内部でのデータ処理に使うアルゴリズムを実装するための「プログラミング」、
OSのGUIウィジェットを活用したGUIアプリ構築のための「プログラミング」、
e.t.c...

なので、「プロのプログラマなら○○くらい出来なくちゃ・・・」という語り口が無効になりつつある。

ただ、いずれも根っこは一緒。
「コンピュータとインタラクションしたい」
これは変わらない。
だからこそ、特に初学者・入門者レベルであれば高尚かつ詳細な解説よりは、「これだけ知ってればコンピュータとインタラクションできるヨ」と最低限度のコマンド・関数・マクロ・機能を教え、非実用的でも良いので、短くてすぐ試せるサンプルを沢山提示すること。そちらが重要ではないだろうか。
本当にプログラミングの楽しさを知ることが出来れば、ごくごく基本的な知識だけでも、後は自分で工夫するなり調べるなりして、自分なりの「コンピュータとのインタラクション」を実現するためのプログラミングを始めるだろう。

Lisperは、それを分かっていないように思える。


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2011-01-28 14:55:03
md5:fb811fb4a5a8828ff1f741b21addda5a
sha1:510632b9f3741f9eec20b188e987707172893e37

読書メモ/"Practical Common Lisp"(邦訳:「実践Common Lisp」)  

所有者: msakamoto-sf    作成日: 2011-01-28 14:43:37
カテゴリ: hacks 読書 

例によって原著の方を購入してしまったので、そちらの読書メモになります。
「実践Common Lisp」が出る前に買ってしまったのですが、実に3年近く本棚で眠っていた事になります。

LISP本と来ればLISTの解説や理論重視っぽくて、現実世界で活用できる印象が薄い。そんなイメージを良い意味で壊してくれる一冊です。
Common Lispの柔軟かつ強力な言語機能を幅広く、かつ詳細に紹介してくれています。
「実践(Practical)」と冠する通り、マクロ展開であったりLOOP処理であったり、現実のプログラミングで遭遇することの多いトピックを重点的に攻めています。
他のLISP本やScheme本、Web記事を読んでみたけど、イマイチ現実で使える感じがしない。そんな方に、やり直しの一冊としてオススメできると思います。


書籍では"LispBox"なるオリジナルの実行環境一式を公式サイトよりDLして云々とあります。しかし2011年現在、さすがにアップデートが追いつかないのか、www.gigamonkeys.com上にはDLリンクがありません。
http://www.gigamonkeys.com/lispbox/
プロジェクト自体は継続しており、"Lispbox project"へのリンクもありますが、そちらで提供されているのも"test"バージョンのビルドです。

2011年現在、EmacsしかりCommonLisp処理系しかり、いずれも各メジャーOSで安定して利用できますので、各自で揃えちゃいましょう。

Emacs + SLIME:

CL処理系色々:

CLドキュメント:

変化球としてはEclipseプラグインという手もあるようです。

Ubuntu8.10にEmacs, SLIME, SBCLをインストールする記事。「実践CommonLisp」関連の話題も交えています。

自分はWindows7上で Emacs + SLIME + Clozure CL で整えました。インストーラ不要でアーカイブ展開するだけで使えますので、レジストリを汚す心配はありません。

Emacsのカスタマイズファイルを見つけるのに少し手間取りました。

%AppData%\.emacs.d/init.el
Windows7 -> C:\Users\(ユーザ名)\AppData\Roaming\.emacs.d

".emacs.d"ディレクトリはEmacs起動時に作成されます。"init.el"は自分で作成します。

SLIMEでClozure CLを使うための設定:

(set-language-environment "utf-8")
(add-to-list 'load-path "C:/.../slime-2011-01-24/")  ; your SLIME directory
(setq inferior-lisp-program "C:/.../ccl-1.6-windowsx86/wx86cl.exe -K utf-8") ; your Lisp system
(require 'slime)
(setq slime-net-coding-system 'utf-8-unix)
(slime-setup '(slime-fancy))
(show-paren-mode)
(setq transient-mark-mode t)

以下、ネガティブな評価です。

(全て表示する)
プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2011-01-28 14:44:11
md5:019017252751f2c98f55979d126b734d
sha1:e33f5c5a14bef976b8fcb70a5f65889d919c0205

日記/2011/01/25/そういえば「空の境界」劇場版、観終わったんだった。  

所有者: msakamoto-sf    作成日: 2011-01-25 20:26:10
カテゴリ:

6章の「忘却録音」が雰囲気が明るくて好みだったな。
ハリウッドとかジブリ的な分かりやすさは無く、叙情的かつ哲学的なかけあい問答・独白が多いので、誰でも気兼ねなく楽しめるタイプでは無いと思います。ただ映像は綺麗ですし、なにより両儀式というヒロインへの愛が込められているのは確かです。「時々ポスターで見かけた、あの和服を着てるのに何故かジャンパーを羽織ってナイフを構えているアニメキャラは何者?」という疑問を解消したい方はぜひ観てみてください。


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2011-01-26 09:21:37
md5:ce4f67a7fb4c93532dbb5ddbc2febaae
sha1:a8c9126972fe57c645fa0f4ef1dc03e71c68692d