Home > 未分類 > [ pbrt読解 ] COREDLL???

[ pbrt読解 ] COREDLL???

  • Posted by: tai
  • 2007/04/06 14:27
  • 未分類

pbrtのコードをぼーっと眺めていると、
COREDLLというものが頻繁に使われていることに気付く。


例えばこんな感じ↓

class COREDLL Light { ….

これがどういう意味か全然わかんなくて、すごく気になってしまって、
調べてみました。

困ったときのgrepです。

結論から言えば、COREDLLというのはマクロです。
pbrt.hに思いっきりこう定義してありました↓

#ifdef CORE_SOURCE
#define COREDLL __declspec(dllexport)
#else
#define COREDLL __declspec(dllimport)
#endif

マクロというのは、コンパイル時にプリプロセッサがその値に置き換えてくれるもの、
だったと思います。違ったっけ?

うーん、なるほど。
あとは__declspec(dllexport)の意味を調べればよいだけです。
詳しく調べてないけど、どうやら値をexportするための何かだそうです。
dllがついてるからdllも関係あるんでしょう。
まぁこれはとりあえず置いとく。

で、COREDLLがマクロだという事に気付いて、ハッとしました。

そういえばC/C++には暗黙の了解があったのでした。

全部大文字のコマンドはマクロだと思え。

あちゃー、すっかり忘れてました。

Cはマクロだポインタだconstだstaticだクラスだ、なんてよく分からない機能が盛りだくさんで、
非常に覚えるのが面倒ですが、うおーー楽しそう!とドキドキしてしまう僕なのでした。

覚えることが多いのって楽しいよねぇ。

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://blog.taikomatsu.com/2007/04/06/pbrt%e8%aa%ad%e8%a7%a3-coredll/trackback/
Listed below are links to weblogs that reference
[ pbrt読解 ] COREDLL??? from memlog

Home > 未分類 > [ pbrt読解 ] COREDLL???

Return to page top