Ruby 2.6.0 リファレンスマニュアル > ライブラリ一覧 > mkmfライブラリ > Kernelモジュール > have_type (private)

instance method Kernel#have_type

have_type(type, headers = nil, opt = "") -> bool[permalink][rdoc] [added by mkmf]
have_type(type, headers = nil, opt = "") { ... } -> bool [added by mkmf]

静的な型 type がシステムに存在するかどうか検査します。

型 type がシステムに存在する場合は、グローバル変数 $defs に "-DHAVE_type" を追加し、真を返します。型 type がシステムに存在しない場合は、偽を返します。

例えば、

require 'mkmf'
have_type('foo') # => true

である場合、HAVE_TYPE_FOO をというプリプロセッサマクロをコンパイラに渡します。

[PARAM] type:
検査したい型の名前を指定します。
[PARAM] headers:
追加のヘッダを指定します。
[PARAM] opt:
コンパイラに渡す追加のオプションを指定します。