人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

C言語に関する質問です。
コンパイル時に式を評価して、評価式がfalseの場合に任意のメッセージをコンパイル結果として出す方法を教えてください。

■やりたい事

#define AAA 10

#if (AAA > 9)
//AAAが大きすぎます。 (と、コンパイル時に出したい)
#endif

●質問者: merida
●カテゴリ:コンピュータ 学習・教育
✍キーワード:AAA C言語 コンパイル メッセージ
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● tobeoscontinue
●27ポイント

#errorだと思います


#define AAA 10

#if (AAA > 9)
 #error "AAAが大きすぎます。"
#endif

#if (AAA > 9)
 #error "だから大きいんだってば。"
#endif

最初で終わる(止まる)と思ったのですが、全部するみたいです。

リターンコードは1になります。


2 ● garyo
●27ポイント

errorコマンドを使うといいと思いますよ。

http://www.cppll.jp/cppreference/preproc_details.html#error

 #error
文法:

 #error メッセージ

#errorコマンドはコンパイラの処理を止める。
コンパイラが#errorコマンドを読み込んだら、行番号と理由としてメッセージ を表示する。
このコマンドはデバッグ用にもっとも使用される。 

3 ● herbest_an
●26ポイント ベストアンサー

#define AAA10

#if (AAA > 9)

#warning 大きすぎます

//#error 大きすぎます(コンパイルしない)

#endif

/*

「#warning」か「#error」を使えば出来そうです。

#errorの場合はその場で中止します。

*/

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ