Open1

Windowsでdart2nativeを使ってexeを作るメモ

tristris

どっちかと言うと、Dartの勉強を始めてみた自分用メモ。

前提とか

  • Flutterの環境を作っていること。
    • 公式からzipファイルを落としてきて、適当なところに解凍していること。
    • このFlutterフォルダのbinにパスを通していること。(これは別に前提ではないが)

多分Dartだけを落としてきても、手順はそんなに変わらないはず。試してないけど。

Windowsのdart2nativeはコマンドではなくバッチファイルになっており、ファイル名はdart2native.bat

準備

dart2native.batが格納されている以下のフォルダにパスを通す。
(Flutterの環境構築時に、Cドライブ直下にFlutterのzipファイルを展開したものとする)

C:\Flutter\bin\cache\dart-sdk\bin\

実行

exe化したいソースmain.dartがあるディレクトリで、以下のコマンドを実行する。

dart2native main.dart

以上。これでmain.exeが出来上がる。

dart2native.batと拡張子batを付けてもいいけど、付けなくてもよい。

exeファイル名の指定

出力されるexeファイルの名前を指定する場合は、オプションを使う。

dart2native main.dart -o output.exe

これでoutput.exeが出来上がる。

ソースをそのままdartコマンドで実行するより、exe化した方が実行速度が遅い。とりあえずサクッと測ってみたけど、処理時間が1.5倍くらいかかってしまう。えー、なんで?

ちなみにdartコマンドでそのまま実行すると、うちの環境だとGoやNimより速い。さすがにRustよりは遅いけど。
恐らく測定している処理の内容にもよると思うんだけど、こんなに速いというのは何かおかしい気がする。