EXEを作ってみた ― 2007年05月04日 03時11分17秒
これはちょっと便利かも
ゆるゆるとJSDBを試しているが、本家のチュートリアル眺めてたら、「Standalone JSDB programs」という項があって、
c:\temp>pkzip program.zip main.jsとか書いてあるじゃないですか。
c:\temp>copy /b jsdb.exe+file.zip program.exe
c:\temp>program.exe
さらに-helpオプションつけて起動してみたら、.zipのアーカイブをパラメータに渡せるとあった。
D:\jsdb>jsdb -help JSDB 1.52Compiled Apr 27 2007. http://www.jsdb.org/ Copyright 2003-2006 by Shanti Rao and others. JSDB [-strict] [-werror] [-load file.js] [-debug server] [lib.zip] [program.js] -strict Strict syntax mode -werror Treat warnings as errors -load file.js Load and run file.js before program.js -debug server:port Connect to a debugger serverということは、「main.js」にメインコードを記述し、それをzipで固めて、チュートリアルにあるように結合コピーするとオリジナルのコンソールアプリケーションが作れるってことじゃない!こいつぁ便利かも。lib.zip Set lib.zip as the default location for library files Executes main.js if found in the zip fileprogram.js Runs a JavaScript program. If omitted, enter console mode D:\jsdb>
早速試してみた
まず、以下のコードを「main.js」で保存。コードの中身はかなり適当。
write("what your name ? > "); writeln( "hello, ", readln()," !!" ); sleep( 1000 );
そんで、main.jsをmain.zipとして固める。
そしてチュートリアルにある要領で、コピー。hello.exeとした。
D:\jsdb>copy /b jsdb.exe+main.zip hello.exe jsdb.exe main.zip 1 個のファイルをコピーしました。 D:\jsdb>さて、hello.exeを実行。
D:\jsdb>hello what your name ? > hoge hello, hoge !! D:\jsdb>おお、ちゃんとできてるよ。
使い道
とりあえず思いつくのは、ライブラリ読み込み処理をmain.jsに記述してカスタマイズした実行環境にするってとこかな。
と思ったが、アーカイブ内のmain.jsを実行するとそのまま終了しちゃうので、この方法だとドラッグドロップ専用になっちゃうな(たぶんコマンドライン引数は受け取れるだろうから)。 もっとも、ライブラリロードを起動時になんとかするんだったら、-loadをくっつけたバッチファイルにしちゃえばよいんだし。ちぇ。
コメント
トラックバック
このエントリのトラックバックURL: http://dara-j.asablo.jp/blog/2007/05/04/1482273/tb
※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。
コメントをどうぞ
※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。
※なお、送られたコメントはブログの管理者が確認するまで公開されません。