names=try_run
visibility=private 
kind=added

--- try_run(src, opt = "") -> bool | nil
--- try_run(src, opt = ""){ ... } -> bool | nil

与えられたソースコードが、コンパイルやリンクできるかどうか検査します。

以下の全ての検査に成功した場合は、真を返します。そうでない場合は偽を返します。

  * src が C のソースとしてコンパイルできるか
  * 生成されたオブジェクトが依存しているライブラリとリンクできるか
  * リンクしたファイルが実行可能かどうか
  * 実行ファイルがきちんと存在しているかどうか

ブロックを与えた場合、そのブロックはコンパイル前に評価されます。
ブロック内でソースコードを変更することができます。

@param src C のソースコードを指定します。

@param opt リンカに渡すオプションを指定します。
           $CFLAGS, $LDFLAGS もリンカには渡されます。

@return 実行ファイルが存在する場合は true を返します。そうでない場合は
        false を返します。プリプロセス、コンパイル、リンクのいずれかの
        段階で失敗した場合は nil を返します。

