• ベストアンサー

__extension__

__extension__ unsigned long long _rand_next; 上記の表現の __extension__ はどんな意味なのでしょうか? opensslの ソースコードをVC++2005でコンパイルしたいのです。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.1

「ここは標準Cの規格じゃなくて拡張された機能を使用しています」というコンパイラ制御用の指示です。無くてもプログラムは同じです。 付けないと long long型はCの標準規格にないので、コンパイラオプションによっては警告が出ます。もしVCでエラーになるなら消せばいいです。たくさんあるのなら、 #define __extension__ で空に置換でしょうか。

uyama33
質問者

お礼

遅くなってしまいました。 ありがとうございました。

その他の回答 (1)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

_extension_ の意味は #1 のとおりただのマーキングだろうけど, 「C の標準規格」に long long はありますよ>#1. Visual C は 2008 においてもこの標準に従おうという気がないだけで.

関連するQ&A