36025
このサイトでダウンロードできる「libjpeg」のソースコードを見て、
cjpegとdjpeg - JPEGと、他の一般的な画像フォーマットとの変換を行う。
と記述されていたので、cjpeg.c
のソースを見ました。
すると、1~22行あたりまでは利用の規約などが記載されており、24行目あたりからコードが書かれていると思います。
#include "cdjpeg.h" /* cjpeg / djpegアプリケーションの共通デッキ */
#include "jversion.h" /* for version message */
#ifdef USE_CCOMMAND /* Macintosh用のコマンドラインリーダー */
# ifdef __MWERKS__
# include <SIOUX.h> /* Metrowerksはこれを必要とします */
# include <console.h> /* ... この */
# endif
# ifdef THINK_C
# include <console.h> /* ここでそれを宣言してください */
# endif
#endif
質問
1.include "cdjpeg.h"
これは、cdjpeg.h
のファイルを読み込んでという意味ですよね?
2.#ifdef USE_CCOMMAND
は使い方を調べたんですが、#ifdef <識別子名> <処理> となっていて、<識別子名>が定義済みなら<処理>を実行するというコードですよね?
USE_CCOMMAND
は、読み込んだファイルで定義されている場合も実行するんですか?
3.#include "cdjpeg.h"
先のcdjpeg.h
でcdjpeg.h
と定義されているんですが、#define
って、#define A B
という記述でコードのAをすべてBと置き換えて実行しなさいという意味ですよね?今回の場合、Bにあたる部分がないのですが、どういう解釈をすればよいですか?