わいえむねっと

Contents
Categories
Calendar
2026/06
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Monthly Archives
~2000/01
Recent Entries
RSS1.0
Templates
Information
Processed: 0.077 sec
Chashed: -
2007/09/15 Sat
3時朝食。就寝。
色々と間違っている気が。 15時昼食。出発。
先日、PC-9821Rv20が炎上してから、とりあえず予備部品にて使用を続けていましたが、いい機会なのでようやくというかなんというかメイン機を乗り換えることに。
そんなわけで秋葉原。

ケースはSONATA-BK。
とかく台数が多くて邪魔なので今回はMicroATX。
そもそもフルタワーが3台とかなんなのでしょうか。馬鹿なのか。馬鹿ですが。
あと、SONOTAかと思っていたらSONATAでした。
HENKANとかSOTOとかFUTAとかそういう類の製品名に毒されすぎている。(順に玄人某、挑戦某、大陸某)
http://www.scythe​.co.jp/case/sonata.htm​l

メモリはi-RAMのために確保してあるのを使えばいいやと、DDR400対応マザーボードを中古で探してGIGABYTEのGA-8I865GME-775-RH-ASに。
CPUは刺さればなんでもいいやと、じゃんぱらで適当に見繕ってPentium4の531に。
しめて20k弱。炎上した部品の半値以下でいて、スペックは比べるまでもなく。 20時夕食。帰宅。
中身を確認せずに買い物をしてきた財布の残額37円。
5時間近くきしめんをエンドレスでたれ流し続けていたイヤホンをそっと外す。
2007/09/14 Fri
昨日に引き続き、割と普通?
とにかく今週はひどくケヅられたのでもういいや。
もういいや!
もういいよ!
もーう! ガーリックしょうゆは、とてもしょうゆでガーリックでした。
うん。まずしょうゆなんだ。
そしてガーリック。
2007/09/13 Thu
噴き出そうがデミタス。
噴き出してもデミタス。
噴き出せどもデミタス。 うーん。
割と普通?
2007/09/12 Wed
overflow:autoのオートタグ処理がなんかおかしい気がすると思いながら寝て。
起きて。
電車に乗って。
ぼけとして。
ああ、あそこかーと。 デミタス飲んで。
デミタス飲んで。
デミタス飲んで。
デミタスを盛大に噴き出して。
周りのリアクションが薄いとなんだか少し悲しくなってくるなと思ったりなんだり。
2007/09/11 Tue
雨は振るだろうけどあえて傘は持たず。
でも豚角煮まんは食べて。
そんな朝です。 昨日のそれの追記とか。

dependファイルが

$ cat foo.d
foo.o: foo.cc foo.h bar/bar.h
bar.o: bar/bar.cc bar/bar.h

とかの場合に、dependファイルを加工するのではなく、

OBJS        =   $(SRCS:%.cc=%.o)


OBJS        =   $(notdir $(SRCS:%.cc=%.o))

とかしてbar/bar.ccからbar.oをつくろうとしても暗黙ルールには

%.o: %.cc
    $(COMPILE.cc) $(OUTPUT_OPTION) $<

とかしかなく、bar.o: bar/bar.ccに合致するものがないため、コンパイルされないままリンクまで進んでリンカエラー。
Perlコマンドラインスイッチ挙動。

$ echo|perl -0pe 'print ord $/'
0
$ echo|perl -08pe 'print ord $/'
Unrecognized switch: -8peprint ord $/  (-h will show valid options).
$ echo|perl -0377pe 'print ord $/'
255
$ echo|perl -p0377e 'print ord $/'
255
$ echo|perl -0400pe 'print ord $/'
0
$ echo|perl -0401pe 'print ord $/'
0
$ echo|perl -0ep 'print ord $/'
$ echo|perl -e0p 'print ord $/'
Bareword found where operator expected at -e line 1, near "0p"
        (Missing operator before p?)
syntax error at -e line 1, next token ???
Execution of -e aborted due to compilation errors.
$ echo|perl -ep0 'print ord $/'
$ echo|perl -pe0 'print ord $/'
Can't open print ord $/: そのようなファイルやディレクトリはありません.
デミタスとデミタスとデミタスは相変わらずで。
2007/09/10 Mon
道路に出た瞬間に土砂降られる。 なぜなぜQ&Q!(懐かしすぎる)

Q:カレント以外に置いてあるファイルをカレント内の同名ファイルより優先的にインクルードするには?
Q:そもそも、なんでそんな配置なの?

コンパイル前後でリネームするとか。
gccなら-I-、Visual C++なら/Xで検索パスをどうにかするとか。
ただし、/Xは-I-と違って全てのパスが消えるので、$(VCInstallDir)\includeとかの追加が必要になって鬱陶しい。

http://www.linux.​or.jp/JM/html/GNU_gcc/man1/gcc.1.html​
これに加えて `-I-' オプションは、カレントディレクトリ (現在の入力ファイルが存在するディレクトリ) が `#include "file"' に対する最初の検索対象となることを抑制します。`-I-' によるこの効果を上書きする方法はありません。`-I.' を指定することによって、コンパイラが起動されたディレクトリが検索されることを指定することは可能です。これはプリプロセッサが行なうデフォルトの動作とは異なりますが、たいていはこれで十分です。

http://msdn2.micr​osoft.com/ja-jp/library/93t31bx4(VS.80).aspx
環境変数 PATH と INCLUDE で指定されたディレクトリ内でインクルード ファイルが検索されなくなります。
Q:-MMで依存関係を出力しているのに依存ファイルを更新してもMakefileと別ディレクトリにあるソースが再コンパイルされないのですが?
Q:だから、なんでそんな配置なの?

-MMとか使わず自前で依存関係を記述するとか。
そもそも、

$ cat Makefile
TARGET      =   foo
SRCS        =   foo.cc \
                bar/bar.cc
OBJS        =   $(SRCS:%.cc=%.o)
DEPEND      =   $(TARGET).d
CXXFLAGS    =   -Ibar
 
all: $(TARGET)
 
$(TARGET): $(OBJS)
 
$(DEPEND): $(SRCS)
    $(CXX) $(CXXFLAGS) -MM $^ >$@
 
include $(DEPEND)

とかなっていた時、dependファイルには

$ cat foo.d
foo.o: foo.cc foo.h bar/bar.h
bar.o: bar/bar.cc bar/bar.h

のようにbar/bar.oではなくbar.oの依存関係として出力されており、bar/bar.oには結局暗黙ルールが使われてしまう。
ので、

$(DEPEND): $(SRCS)
    $(CXX) $(CXXFLAGS) -MM $^|perl -e '\
    do{\
        do{\
            /([^\/]+)$$/ and $$IN =~ s/$$1/$$_/\
        } foreach split(/\s/, qq{$(OBJS)});\
        print $$IN\
    } while($$IN = <>)' >$@

とかして-MMの出力結果を加工してみる。

$(DEPEND): $(SRCS)
    $(CXX) $(CXXFLAGS) -MM $^|perl -e '\
    do{\
        sub{\
            do{\
                /([^\/]+)$$/ and $$_[0] =~ s/$$1/$$_/\
            } foreach split(/\s/, qq{$(OBJS)})\
        }->($$_);\
        print\
    } while(<>)' >$@

無名サブルーチンで一時変数を除去。

$(DEPEND): $(SRCS)
    $(CXX) $(CXXFLAGS) -MM $^|perl -pe '\
    sub{\
        do{\
            /([^\/]+)$$/ and $$_[0] =~ s/$$1/$$_/\
        } foreach split(/\s/, qq{$(OBJS)})\
    }->($$_)' >$@

-pでwhileとprintを省略。

$(DEPEND): $(SRCS)
    $(CXX) $(CXXFLAGS) -MM $^|perl -0pe 'sub{do{/([^\/]+)$$/ and $$_[0]=~s/$$1/$$_/}foreach split(/\s/,qq{$(OBJS)})}->($$_)' >$@

ワンライナー。
ついでに繰り返しが無駄なので-0。
デミタス。
舌打ち。
デミタス。
舌打ち。
デミタス。
舌打ち。 玉音を聴いた。
2007/09/09 Sun
嫁からの帰れコールで離脱したPOSさん以外は店を追い出されるまで飲み続けて0時半。
確か18時から飲んでいた気がするのですが。
なんか焼酎のボトルがごろごろしてるのですが。 しゅんぞーさんは鎌ヶ谷、Jさんと自分は実家が八千代なので、タクシーにて船橋→鎌ヶ谷→八千代。
Jさんに「ちゃんと実家帰れよー」と言われて「おー」と返しつつ別れる。
実家と逆方向に歩きながら。
2.7km地点のデイリーを1:51通過。
5.9km地点から9.7km地点までの直線に24時間営業のコンビニが8.1km地点のミニストップしかなくなってて少し悲しくなる。
11.3km地点のセブンイレブンを3:58通過。
11.7km地点の階段で力尽きる。 気が付いたら5時。
起床というか起段というか。よく階段で熟睡できるな?
そういえば、大学時代もよく機械棟の外階段で寝ていたような気が。
蚊に喰われた指を余計痒くならない程度に掻きながら、トラックを走っているおっさんをぼけと眺めて。 あとは5:37発の御茶ノ水行きで東船橋を出発して中央線に乗り換えて京王線に乗り換えて珍しく乗り過ごしもなく東府中に到着してと。
そんな日曜の朝。 昼海苔弁。 夜海苔弁。
2007/09/08 Sat
15時半。
部屋を発って。
横断歩道を渡りながら「腹減ったなー」と呟いて。
今日はまだ何も食べていなかったことに気が付いて。
そんな土曜。 そんなこんなで船橋で。
編集長が当日になって月末に延期と言ってきたので

むしろ二回飲んでもよいです。

と返してみたら実際に二回飲むことになったE某編集部集会です。
というか、高知在住のJさんがたまたま婚前旅行で関東に来ていて会うことができたので、無闇に酒を所望してみるものだなと思いました。
他のメンツはPOSさんにしゅんぞーさんと。
2007/09/07 Fri
午前レビュー。
デミタス。 昼休みホワイトボード殴り書き。
デミタス。 午後レビュー。
デミタス。 XいれてないのにX11-6009が閉じられてた。
絶望した!
2007/09/06 Thu
台風一過、豚角煮まん。 電源ユニットを分解して。
埃を取り払って。
ひとしきり眺めて。
電源ケーブルを装着して。
コンセントに挿入して。

バチィ

ここかー。(確認の仕方が間違っています)
PC-9821に無改造で載せられる電源ユニットは入手困難だというのにまったくもう。