FC2ブログ

define文

事のついでにGoogle先生に伺ってみたのが、
define文

C/C++の場合、という表現には意味があって、英語のstatementを訳したものがになる。
大抵は、;(セミコロン)で終わるものがstatementであって、処理表現のことになる。

これと対で語られるのが、(expression)

で大幅にはしょって、define
プリプロセッサで処理されるもので、
#define MYVALUE 256
とかいうようなマクロとして使われる。

さぁやっと本題。
この#define、ググってみるとわかるけれど、define文と表現して解説している書籍のなんと多いことか。
まぁ、文/式という構図での視点の記述でない事はわかるんだが、ちょっとどうかと思う。
ちなみにJIS X 3010では、前処理指令と記述されている。
英語で言うと、preprocessing directive だから、まんまの訳。
最近の流行だと、defineディレクティヴなんて言い方になる。

なんか安易に"define文"って書いてあるのを見ると、萎えちゃうんだよなー

ちなみにちなみに、FORTRANなら式文なんてのまであるんだから、もちっと表現に気ぃ使おうよ。>その方面の方々
スポンサーサイト

三項演算子は遅いか

例によって思いつきダラダラだから信じないように>諸兄

”三項演算子は遅い”
っていう話が耳に届いて、ちょっとググってみたり。

三項演算子(さんこうえんざんし)
たぶん条件演算子ってのが正式名称だと思うんだけれど、一般に(特にお歳を召した方(^^;)は”三項演算子”って呼ぶ。
こんなの。
int n = flg ? 0 : 1;

ifを使うと、
if (flg) n = 0; else n = 1;

ってとこなんだが、お年を召した方なので前者が圧倒的に見やすい。

でもって速度なのだが、どう考えても素のままなら三項演算子の方が早い。
というか単純なコードをコンパイラは吐くはず。
これが遅いっていうのはたぶんスクリプト系の言語の話で、構文解析に時間がかかるということなのではなかろうか。

で、これもたぶんなんだが、最適化が有効な場合は、ifが勝つかもしれない。
単純なコードに展開できる三項演算子は、逆に最適化の対照から外れ、これがネストしてたりすると最適化されたifに遅れをとることがあるのかもしれない。

なんて、ぼやーっと考えたってだけで、何も実証してないしする気もないので、興味ある人はアセンブラ出力してステップ数カウントしておくれ。

別にどっちでも十分速いし、おいらはどうでもええ。

Doxygen + Graphviz

ドキュメンテーションツールであるところの、
Doxygen
これに、
Graphviz
を組み合わせる事で、各種関連図を含める事ができる。

単純なCプログラムで、Call/Caller図を入れてHTML出力処理したところ、
Windows版Doxygenでは、一式で10MBほどの量となってしまった。

ところが同じものをUbuntu上でLinux版Doxygen+Graphivizを使うと、一式で2MB程におさまった。
うーん、何が違うんだろう。

てな感じで、いつもプロジェクトの最初はDoxygenを意識してコメント付けはじめるんだけれども、だいたい3日坊主。
後半はなんちゃってDoxygenだったり、もう適当になっちゃって。

辛抱足りんな・・・

private static void ちょっと鬱なのは仕様です(IWorks work)

ここんとこ調子がいま一つで、ちょっと自分で追い込んでみたり。
でも歳とったのか、根性が無く・・・orz

まぁそんなこんなでこんな時間にあちこち徘徊。
最近は(ROMばかりだけど)、わんくま覗く事が多く。
C#関連の話題が豊富ってのもあるし、(その筋では)著名な人が多く集まってる事もあり。

この辺りの人達のプログラミングに対する意欲ってのは尊敬に値するですねぇ。ほんと。

とりあえず今日はちょっと頑張って、今夜はとりあえずたくさん寝るかなー。

花の慶次でられてる場合じゃないんだが、そういう楽しみも必要と言えば必要なわけで・・・

とまぁ人生がとりあえずみたいなのはやっぱりイカンよなー、反省しよ。

ハンマープライス

オタキングの名高い、村上隆 氏製作のフィギュアが、ニューヨークで16億円で落札!
asahi.com : 村上隆氏のフィギュア、約16億円で落札

実際のオークションの状況は、
http://chelseaartgalleries.com/auctions/with?sale=S40&lot=9で見られる。

高さ2m50cmというデカものなんだけども、世の中にはマニアがいるのだなぁ。
んでもって、落札価格1350万ドルに伴って、オークションハウスの手数料が166万1000ドルって2億円近いのも凄い。
高額ものを扱っているのだからそれなりにリスクを負っているんだろうけれど、作る方も売るほうも買った方も、庶民から見ると溜息出ちゃうよなぁ

んでもまぁこういうアートものは夢があってよろしいような気がする。
(財源だの年金だのよりはずーっと透明だし)

Ubuntu 8.04 LTS

Ubuntu 7.1からアップデートマネージャで、Ubuntu 8.04 LTS へアップデート。
ubuntu

所要時間は2時間余り。一式ダウンロードだからこんなもんだろう。
特に問題なくアップデートは終了。
一部削除されたアプリケーションもあるが、だいたい以前の環境を引き継いでセットアップされている。

細かいアップグレード内容は、ubuntuのサイトで確認してもらうとして、目についたのは、
ログイン画面

画面の解像度が1024x768に対して、1600のレイアウトになっているため、かろうじてユーザ名、パスワードの入力はできるのだが、ちょっと違和感がある。
元々Ubuntuのログイン画面の解像度は困ったもので、7.1の時も、最初は縦長の妙な解像度が選択されていた。
NVIDIAの拡張ドライバを一旦入れて不具合があったのでこれを削除。するとログイン画面でドライバの設定ができるのでそこでログイン画面の解像度が指定でき、この時はこれでうまく収まった。
これが今回のアップデートでまたおかしな感じになったんだが、これも一旦ドライバ削除すれば良いのだろうけれど、とりあえずログインはできるので、もっとスマートな解決策が見つかるまでこのまま使う事にする。

それ以外は至極快適。
一部削除されたアプリが、と書いたが、それはXMMS。Winampクローンのミュージックプレイヤなんだが、これも他のミュージックプレイヤが入っているので慣れれば特に不便は無い。
設定が書き換えられたものには、sambaの設定があり、Windows用のLAN-HDDなので、SJISの設定を再度行って、従来と同じように使えている。

このsambaのLAN-HDDだが、以前はファイルマネージャ(?)から普通のフォルダのようにアクセスできたのだが、いや、今もできるのだが、新しい版だとデスクトップにマウントしたアイコンが現れる。
これがちょっと不満だけれど、使わない時はアンマウントすれば消えるので、マウントしたまま気がつかずに居るよりはいくらかマシなのかもしれない。

まー、こんなもんかな。

---
#2008/06/08 追記
ログイン画面の解像度は、/etc/X11/xorg.confの、DefaultDepthの値が24になっている事に起因するようである。これを16あたりにしておくと良いとのこと。
ビデオドライバを入れなおした時は、ログイン画面で解像度の設定が可能だったので、VGAをDefaultにして普段から設定メニューが出るようにしておけばいいのにと思ったり。

#2008/06/13 追記
/etc/X11/xorg.confの、Defaultdepthを16にするってぇ事は'High Color'にしちゃうってことで、なんかやな感じなので、
Section "Screen"
SubSection "Display"
Modes ・・
を必要な解像度だけ残しておけば良いだけの話であったり。

cflow

ちょっと必要に迫られて、cflowをCygwinにインストール。

Cygwinのsetupには何故かcflowが出てこないのでソースをまず探しに。
最初に訪問したのはnetsw
http://www.netsw.org/softeng/lang/c/tools/cflow/cflow-2.0.tar.gz
が最新のようだったのでこれをダウンロードしておもむろに
make install

prcc.c:1070: error: conflicting types for 'show_all_lists'
prcc.c:84: error: previous implicit declaration of 'show_all_lists' was here

ありゃりゃりゃ
何かいぢくるのも面倒なので、ちと古いのを探索。
http://ftp.yz.yamagata-u.ac.jp/pub/GNU/cflow/
で、cflow-latest.tar.gz を落として ./configure して、make install。
今度はすんなり完了。versionは1.2。
まぁこれはこれで良し。

さて次は cxref 探しの旅に出るかっ

-----------
うーむ、The Cxref Homepageからcxref-1.6b.tgzを落としてきたんだが、"yaccが無いよ"と叱られた。
まぁ無きゃ無いでも。Doxygenはあるし、今回はここまで。

ImageMagick

Image Magick
最後の'k'が余計だと思うんだが、理由は知らん。

どうせならblogも自宅鯖で、と思って今更ながらMovable Typeを入れようと。
Six Apart
から Movable Type 4をダウンロード。

で、まずはImageMagickをインストール、と、FreeBSDのportsから、make install

が、終わらん・・・
マシンが非力ってのもあるんだが。

とりあえずapacheだけは完了。
この後、PostgreSQLの設定して、Movable Type入れて、
まーのんびりやりまっさぁ。

トンデモ回答

パソコン通信時代からあちこちの掲示板システムに書き込みを続けているので、もうかれこれ、、長い間だな。

その書き込んだ中には当然、勘違いや間違いがあるし、反対の立場をとる人もいたり、そもそもこちらの意見が少数派だったり、と批判されたり意見を交換したりの世界があったわけで。

ここんところあちこちのQAサイトで、”トンデモ回答者"のレッテルを貼られる人間が出てくるのを見るにつけ、徒労感に襲われる日々。

トンデモ回答者の特徴は、
  1. 感想文の垂れ流し。
  2. 文章が長くまとまりがない。
  3. 間違いの指摘を”攻撃”と受け止める。
  4. 間違いを繰り返し、繰り返しの指摘を”粘着”と受け止める。
  5. 特定のスタンスを持たず、”参加している”意識がない。

他にもいろいろあるんだろうが、まぁこんなところ。つまり会話にならないし、QAサイト的には荒らしに近いが、本人は、”ヲチャに攻撃されている”認識しかない。

そもそもQAサイトに主に回答側として常駐している人間は、各自FAQをまとめていたりという作業をしていたりするんだが、トンデモ回答者は嘘や伝説をところ構わずバラ撒いていく。
ある意味、”風雪の流布”である。

Windows関連で言えば、Microsoftが気軽に出してしまった、”システムの復元”にある程度の歯止めをかけたのは、指摘する側の人間(ヲチャ含む)の功績だろう。
(世の中復元ヴァカだらけになった方がMicrosoftの為には良かったのかもしれないが)

ってな事で、実生活でも話が通じないってぇのは困った事なんだよなぁ、、
まぁ、相手も同じような(通じなくて困ったみたいな)感覚でいてくれればまだ救われるんだが・・・
プロフィール

f_yamaki

Author:f_yamaki

アクセスカウンタ
最近の記事
最近のコメント
最近のトラックバック
月別アーカイブ
カテゴリー
ブロとも申請フォーム

この人とブロともになる

ブログ内検索
RSSフィード
リンク