nDiki : Visual C++
スポンサード リンク
Related term
2001年6月7日 (木)
■ 13:15 Visual C++ + 日本語 EUC

gcc でコンパイルできるコードを Visual C++ でコンパイルすると namespace 辺りでエラー。 うーんうーん。 半時間以上たって、判明したのはソース中の日本語 EUCによる問題。 Linux で書いていたコードをとりあえず持ってきて make していたので...
泣き。
- amaroK で Linux 上の iTunes 音楽データを聞く (2006-01-22)
- ソフトウェア技術者御用達のプロジェクトマネジメントツール TaskJuggler (2007-04-23)
- 今日のさえずり - 餞別用意したけど最終日の今日来なかった (2009-06-15)
- Squid-2.1.RELEASE-src.tar.gz へ更新 (1999-01-20)
- 計算機の名前を選ぶには…… (2000-11-06)
■ 14:30 GNU Autotools + Visual C++

投げ。とりあえず nmake 用 Makefile を書いてお茶をにごす。
- Module::Build でソースパッケージング (2005-08-24)
- Windows 向けソフトウェア開発者はソースパッケージを作る習慣がない (2007-07-31)
- 14:45 Crypto++ (2001-09-21)
- SCons は GNU Autotools のかわりになるか (2005-04-20)
- 18:20 Visual C++ IDE のメニュー (2001-09-18)
2001年9月18日 (火)
■ 18:20 Visual C++ IDE のメニュー

「ビルド」メニューで、「ビルド」と「リビルド」が並んでいる。 「ビルド」を選択するつもりで「リビルド」を選択してしまうと……コーヒータイムだ。
とはいえ、時間がもったいないので「リビルド」をメニューから削除した。
- Debian Linux kernel 2.6.15 ビルド (2006-02-23)
- クラッシュは突然に - DAR の使用を再検討 (2009-01-06)
- 今日のさえずり - 宇宙刑事ギャバンのカッコよさについて会社の女子に熱弁した (2009-10-22)
- [ Perl ] PDL::PP で C extension を書く (2004-02-19)
- Wx::ActiveX をビルド (2004-08-27)
2001年9月21日 (金)
■ 14:45 Crypto++

以前チェックしていたフリーの C++ 暗号化クラスライブラリ。 gzip や zlib 圧縮もサポート。 MSVC 6.0 でも OK。 ちょっと、使って見ようかなと。
使い方は、Read denis bider の User Guide がよさそげ。
- 今日のさえずり - 停電って近隣にいる Twitter-ers あぶりだしに最適 (2010-01-21)
- [ Perl ] PDL::PP で C extension を書く (2004-02-19)
- 今日のさえずり - 「ちびたれ」って何だよ。スゲー気になる! (2008-03-24)
- 今日のさえずり - 背後に立たれていても気がつかないという恐れ (2008-09-09)
- フィルムスキャンできるインクジェットプリンタ PIXUS MP980 (2008-11-03)
2004年2月19日 (木)
■ [ Perl ] PDL::PP で C extension を書く

PDLを使ったPerl数値処理プログラムによりインタラクティブ性が求められるようになってきたので、一部をCで書いて高速化する事を検討。 問題は Linux でも Windows + ActivePerl でもすんなり動くかどうか。
@ .pd ファイルを書く
とりあず PDL::PP のサンプルから sumit 関数あたりを MathEx.pd に書いておく。
@ Makefile.PLを修正する
Foo::Bar パッケージの中の Foo::Bar::Math の一部を Foo::Bar::MathEx に移して、C extension 化したい。 ということで lib/Foo/Bar/MathEx.pd として、Makefile.PL の各種設定をしてみる。
がどうもうまくいかない。 PDL::PP の Makefile.PLサポートは、Makefile.PL と同じ位置に .pd がある事を想定しているようなので、いろいろと小細工をしなければならない。 一方 Perl の XS は Foo::Bar のベース名から Bar.so を作る前提になっているようで、これまたパッケージの中の一部のモジュールをどうもXS化しにくい。
@ 子Makefile.PLを作る
Perl の ext/SDBM_File を真似て、子 Makefile.PL を使ってみることにした。
Foo-Bar-x.xx | +- Makefile.PL | +- lib | | | +- Foo | | | +- Bar.pm | | | +- Bar | | | +- Math.pm | | | +- MathNoEx.pm | | | ... | | +- blib/... | +- MathEx | | | +- Makefile.PL | | | +- MathEx.pd ...
パッケージディレクトリの下に MathEx ディレクトリを作り、そこに Makefile.PL と MathEx.pd を置く。 Makefile.PL は MathEx.pd 専用になるので、PDL::PP の標準的なものでOKになる。
全体のパッケージング・PPM化・インストール等が面倒にならないかと心配したが、Foo-Bar パッケージ化で perl Makefile.PL、make xxx を実行すれば子Makefile.PLまできちんと面倒をみてくれる。 MathEx 以下でビルドしたものもパッケージの blib に一緒に入れてくれるし(=一緒にインストールできる・PPM化できる)。 逆に make dist の際には子Makefileの方は余計なとりまとめはしないで、親Makefileが一括して tar.gz に入れてくれる。 これはよい。 MathEx.pd もきちんと Foo/Bar/MathEx.so になった。
@ XSが使えない環境との両対応
XSが使えない環境のために、PerlとPPの両方で関数を書いておく。 XSが使えれば MathEx を、使えなければ MathNoEx.pm を使うように。 表向きのAPIは Foo::Bar::Math とし、ここで AUTOLOAD を使ってどちらか一方を呼び出すようにする。 間接呼び出しにして遅くなるのはいやなので、シンボルテーブルを直接設定する。
use vars qw($IMPLEMENT_CLASS $AUTOLOAD);
BEGIN {
$IMPLEMENT_CLASS = 'Foo::Bar::MathEx';
eval "use $IMPLEMENT_CLASS";
if ($@) {
warn "Can't load $IMPLEMENT_CLASS: $@";
$IMPLEMENT_CLASS = 'Foo::Bar::MathNoEx';
eval "use $IMPLEMENT_CLASS";
die $@ if $@;
}
}
sub AUTOLOAD {
my $name = $AUTOLOAD;
$name =~ s/.*://;
my $implement = $IMPLEMENT_CLASS . '::' .$name;
no strict "refs";
*{$name} = \&{$implement}; # ここでシンボルテーブル設定
return &{$implement}(@_);
}
最初は、AUTOLOAD の最後の行で die したら、trap してエラーメッセージ中のパッケージ名(Foo::Bar::MathEx や Foo::Bar::MathNoEx)を呼び出された Foo::Bar::Math に置換して die し直すようにしようかと思ったが面倒なのでやめ。
@ ActivePerl 5.6 + Visual C++ 6
使っているWindows BOX には Visual C++ 6 が入っているので、XSも問題なくビルドでき PDL extension もうまく動いた。
PPM化までここで済ませば、他のPCにも持っていけるはず。
@ さて
これでバシバシPPで書けるわけだが、PPがこれまた難解で最初は苦労しそう。
- PAR::Repository でビルド済み Perl モジュールをネット... (2006-12-12)
- ActivePerl で Ming (2005-02-23)
- PAR を ActivePerl 5.6.1 build 638 に (2004-07-20)
- 自前 PPM リポジトリの管理 (2006-07-03)
- nmake で毎回 pl2bat されるのを何とかしたい (2004-11-25)
2004年8月27日 (金)
■ Wx::ActiveX をビルド

Wx::ActiveX の Perl v5.6.1 用バイナリ(PPM パッケージ)が配布されていないのでビルドする。 最初はPPM パッケージ化された wxPerl (Wx-0.19-wxmsw2.4.2-win32-u-5.6.1.zip) と wxWidgets 2.4.2 で作成しようと思ったが、うまくいかないので全部ビルドすることに。
@ wxWidgets をインストール
wxMSW-2.4.2-setup.zip を C:\usr\local\wxWindows-2.4.2 へ。
@ wxPerl 0.20
ドキュメントの通り、wxWidgets をビルド後、モジュールを作成。 コンパイルには Visual C++ 6 を使用。
set WXWIN=C:\usr\local\wxWindows-2.4.2 set WXDIR=C:\usr\local\wxWindows-2.4.2 cd %WXDIR%\src\msw nmake -f makefile.vc FINAL=1 dll cd %WXDIR%\contrib\src\stc nmake -f makefile.vc FINAL=1 WXUSINGDLL=1 cd %WXDIR%\contrib\src\xrc nmake -f makefile.vc FINAL=1 WXUSINGDLL=1
Wx-0.20.tar.gz を展開したディレクトリに移動し(WXWIN, WXDIR は前記と同じように設定したまま)、
perl Makefile.PL nmake nmake test make_ppm
で PPM パッケージ化まで。
@ Wx::ActiveX 0.05
set WXWIN=C:\usr\local\wxWindows-2.4.2 set WXDIR=C:\usr\local\wxWindows-2.4.2 perl Makefile.PL nmake nmake test make_ppm
demo ディレクトリにあるサンプルで、IE、Flash Player、Acrobat、Windows Media Player を貼りつけられていることを確認。
- wxPerl + ActivePerl 5.6.1 build 638 (2004-07-21)
- wxPerl PPM パッケージ (2006-12-13)
- TrueCrypt 6.1a を Debian GNU/Linux sid に (2009-02-02)
- 自前 PPM リポジトリの管理 (2006-07-03)
- [ Perl ] PDL::PP で C extension を書く (2004-02-19)
2008年9月9日 (火)
■ 今日のさえずり - 背後に立たれていても気がつかないという恐れ

@ 2008年09月08日
- 09:19 NEW MEGALOPOLIS で出勤中。空いている電車で良かった。[mb]
- 09:42 アイス カフェモカ トール パーソナル。[mb]
- 10:39 c:\Documents and Settings\naney\Application Data\Ripplex を削除。
- 11:37 Google ドキュメント、書き込み禁止設定できるようにならないかな。freeze したドキュメントは自分でも誤って編集したりしないようにしたいのだが。
- 11:38 @zakwa Windows XP SP3 がきてるんじゃない?
- 12:17 mixi のエコー利用停止した。停止するのにアンケート必須って何考えてるん?
- 12:49 @odeko_O mixi エコー、見なくてもいい人のが見えてしまうのがダメでした (そんな人マイミクシィから外せばというのも無くはないのですが)。
- 13:28 Visual C# 2008 Express Edition をインストールするつもりが間違えて、Visual C++ 2008 Express Edition のインストールを始めていた。あわててキャンセル。
- 18:12 Visual C# 2008 Express Edition 登録しようとしたら Windows Live ID へのサインインを求められた。(多分)2001年頃の Microsoft Passport のパスワード入れてみたけどはねられた。
- 18:16 と思ったら、メモの下に「new password」が。もうパスワード再設定始めてるけど。
- 18:54 目の前にあるエアコンのスイッチが切られていることを、Twitter のログでようやく気がつくオレって……。
- 20:06 今日はノート PC を会社に置いてきた。人間的な生活をおくろう。[mb]
- 21:04 ギリギリ雨降る前に家に帰って洗濯物取り込めた。ラッキー。[mb]
- 21:18 ザーッときた。朝の天気予報では「にわか雨は一部の地域のみ」と言っていたが、ここはその一部なのか。結局降られる時は降られるから「一部」とかって予報は個人には意味ないな。[mb]
- 21:43 ミニ万年筆「WHITE」付録のラピタもう1冊買ってきた。[mb]
- 21:47 ちなみに箱は思いっきり潰されてた。やるな LABI。[mb]
@ 2008年09月09日
- 10:29 プロシージャ エントリ ポイント GetTokenYnformation がダイナミック リンク ライブラリ ADVAPI32.dll から見つかりませんでした。で、エクスプローラが起動しない。
- 11:59 Redmine の導入検討を始めたか。いいんじゃない?
- 12:40 評判の良い耳鼻科検索中。
- 14:03 Redmine のアカウント作ってもらった。使い方はまだ知らない。
- 15:11 オフィスで耳栓すると随分ノイズカットできる。他者が気にならなくなる。そのかわりいつのまにか背後に立たれていても気がつかないという恐れがあるな。
- 15:18 @shom5w やっぱり耳栓している時に突然はなしかけられるとビビりますよねー。
- 17:12 「充実野菜 低カロリー」不思議な味だった。
- 21:28 ラピタ、12月発売の2009年1月号で休刊か。
- 23:09 マイミクシィがニックネーム変えたので、足あとみて最初誰かと思った。
- 23:15 TinyURL.com のプレビュー設定が外れていたのを思い出して、再度設定しておいた。
- Evernote 使用開始 (2009-03-03)
- 今日のさえずり - 待受画面が巨大仏像写真なのでビビった (2009-11-06)
- ちょっと複雑なネット用統合アドレス帳 Ripplex (2008-04-30)
- Linux ノート PCを iTunes サーバにしてみる (2006-01-21)
- 今日のさえずり - オールラインレッド! (2009-10-08)
■注目キーワード
購入 買った 発売日 フリー 無料 価格 値段 作り方 選び方 使い方 方法 設定 サンプル ダウンロード 限定 在庫 予約 穴場 比較 検証 レビュー 感想 評価 評判 使用感 使ってみた 口コミ 噂 最新 MP3 動画 意味 お薦め お勧め おすすめ 便利 Blog ブログ mixi 修理 デザイン ビックカメラProcess Time: 0.029439s / load averages: 0.30, 0.10, 0.07
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)




■ Twitter やってます。この記事が気にいったらぜひ twitter.com/Naney の follower になってください。
■ Google Buzz はよろしければ Naney の Google プロフィールからどうぞ。