- ベストアンサー
Perlソースコードをコンパイルすることはできないのでしょうか?
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
http://aspn.activestate.com/ASPN/docs/ActivePerl/5.8/lib/Pod/perlrun.html Perl のコマンドラインオプション -u を指定するとスクリプトをコンパイル後コアダンプします。 undump コマンドを使ってcore ファイルから実行ファイルが作成できるというようなことが上記サイトの説明として載っています。 あと、ツールでPerl2exe というのもあるらしいです。
その他の回答 (4)
- umasikajiro
- ベストアンサー率67% (545/803)
windowsでしたらBLUEPIXYさんの書かれたper2.exeやPerl デベロッパーキット http://0xcc.net/diary/20040716.html http://www.indigostar.com/perl2exe.htm http://www.activestate.com/Products/Perl_Dev_Kit/?utm_source=ASPN_ActivePerl&utm_medium=banner&utm_campaign=PerlDevKit 他 http://www.perl.com/doc/manual/html/utils/perlcc.html http://search.cpan.org/~mbarbon/ http://par.wikia.com/wiki/Main_Page
- tropic_snow
- ベストアンサー率61% (51/83)
バイトコードを生成したい、ということでしょうか。 参考URL中の、「バイトコードとコンパイラー・バックエンドを使う」の辺りを参考にして下さい。 ただし、どんな場合でも有効に働くわけではありません。 アルゴリズムによる最適化を第一に考え、バイトコードの使用は「極限まで」速くしたい場合の最後の手、という気がしますけどね。
- sakusaker7
- ベストアンサー率62% (800/1280)
前提が間違っています。 内部表現に変換されてそれを解釈実行するルーチン群が動いているのであって、 JavaのVMのように機械語レベルのコードまで落ちることはありません。 実行速度を上げたいということなら、perlのFAQにありますので 探してみてください。
- OsieteG00
- ベストアンサー率35% (777/2173)
PerlではなくてCなどをCGIとして使用すればよいのではないでしょうか?
関連するQ&A
- コンパイラ、インタプリタ、クロスコンパイラについて
インタプリタについて質問があります。 色々と調べたところ、perl、php、rubyなど、ソースをインタプリタで実行する言語の利点は以下なのだと思います。 ソフトを作っている環境と実行環境の間でcpuやos等が異なる場合は、 ソースは互いに異なる機械語に翻訳されるので、翻訳は実行環境で行わなければならない。 その際、コンパイラの場合はわざわざ手動で翻訳を実行しなければならないが、 インタプリタの場合は勝手に実行時に翻訳してくれるので楽。 1.それで質問なのですが、 コンパイラは環境に対応した機械語を出すらしいですが、 何故そんな事ができるのでしょうか。 コンパイラが、自身が置かれた環境を分析して、それに対応した機械語を出すのでしょうか? それとも、そもそも環境毎に対応したコンパイラを使うという事でしょうか? 2.また、世の中にはクロスコンパイラというものがあると聞きました。 クロスコンパイラがあれば、ソフトを作っている環境でそのままコンパイルできるので、 インタプリタはいらないのではないでしょうか? クロスコンパイラの短所や長所などを教えてほしいです。 3.翻訳後の話として、機械語はcpuやosによって違うという話ですよね。 つまり、機械語にコンパイル済みのソフトを配布する際は環境毎に対応したソフトを それぞれ配布しなければならないのですよね。 しかし、ネット上でダウンロードできるフリーのソフトなんかは、 特定のOS向け、あるいはOS別に違うファイルを配布、というのはよく見かけますが、 cpuやその他の環境毎に配布物を分けているのは見たことがありません。 機械語は、本当にos以外にも依存するものなのでしょうか?
- 締切済み
- その他([技術者向] コンピューター)
- rubyのインタプリタについて
プログラムを作って実行しました。すると5秒ぐらい経過して出力が現れ終了しました。このプログラムをまた実行するとつぎは1秒ぐらいで終了しました。rubyはインタプリタ言語なので機械語に一旦翻訳して実行していると聞いたのですがそれではなぜ上記のように5秒かかっていたものが次の実行時には1秒ぐらいですんでしまったのでしょうか?
- ベストアンサー
- その他(プログラミング・開発)
- .NET frameworkについて
.NET frameworkとはJVMとほとんど同じような気がするのですが、いろんな言語が使えること以外に何かメリットあるのでしょうか? それと、たとえば、VC.NETで作ったプログラムはコンパイラで中間コードになって、実行時に.NET frameworkでインタプリタみたいに機械語に直して実行しているのでしょうか?
- ベストアンサー
- C・C++・C#
- コンパイラとインタプリタとアセンブラの違いって何?
言語プロセッサの説明で「コンパイラ、インタプリタ、アセンブラ」などがあると書かれていたのですが、 コンパイラもインタプリタもアセンブラもどれも説明が「機械語に翻訳する」と書かれていました。 何が違うのでしょうか? 違いをわかりやすく教えてください。 いろいろなプログラミング言語があるというところまでは理解できましたが、プログラミングはわかりません。(涙) これから勉強します。
- 締切済み
- Java
- 翻訳アルゴリズムのソースコード
大学4年で自然言語処理について研究しているものです。 現在、webサイトを対象とした翻訳の精度向上に関する研究をしています。そこで機械翻訳のプログラミングをしたいのですが一からプログラムするのは時間がかかってしまうのでインターネットで公開されている翻訳のソースコードをしようと考えています。 どなたかもしよろしければインターネットで翻訳アルゴリズムのソースコードを公開しているサイトを知っている方いらっしゃいましたら教えていただけないでしょうか?
- ベストアンサー
- 科学
- アセンブリ言語は原始プログラムですか?
質問(1) アセンブリ言語というのは、 add $S1, $S2 みたいなやつですよね? wikipediaで「ソースコード(ソースプログラム、原始プログラム)」の注釈1,2を読むと、 注1:【機械語の命令に記述するアセンブリ言語(アセンブラ)が存在するが、このアセンブラ用の文字列で記述されたプログラムはソースコードとは呼ばれないのが普通である。】 注2:【アセンブリ言語で書かれたプログラムはソースコードと呼ばれない】 と書かれてあります。 でも、 他の教材では アセンブリ言語で書かれたプログラム(原始プログラム) と書かれています。 どっちが正しいのでしょうか? 質問(2) 目的プログラム(オブジェクトプログラム)とは、 IT用語辞典によると 【オブジェクトプログラムとは、ソースプログラム(人間が認識できるプログラム言語で高水準言語など?)をコンパイラで機械語に翻訳したプログラムのことである】 とありますが、 ソースプログラムをコンパイラで翻訳するとアセンブリ言語になるんではないのですか? そのアセンブリ言語をアセンブラで翻訳して機械語になるのではないのでしょうか? どなたかご教授ください。 お願いします。
- ベストアンサー
- 情報処理技術者
- インタプリタはロードモジュールを作成する?
情報システムを勉強し始めた初心者です。 私の持っているテキストには以下のように書いてあります。 ・「ソースプログラム」を「ロードモジュール」に変換するプログラムが「言語プロセッサ」。 ・「言語プロセッサ」には「コンパイラ」や「インタプリタ」が使われる。 つまり、コンパイラもインタプリタもロードモジュールを作成するものだと思っていました。 しかし、以下のような問題がありました。 問題: インタプリとは、高水準言語で書かれた原子プログラムを、機械語のプログラムに翻訳してロードモジュールを作成するプログラムである。 答え: 間違い。インタプリタではなく、コンパイラの説明になっている。 つまり、インタプリタはロードモジュールを作成しないということなのでしょうか? どなたかご教授お願いいたします。
- ベストアンサー
- その他(プログラミング・開発)
- ソラリス8のperl5.8が漢字を正しく表現しない
Solaris8(SPARC)にperl5.80をインストールしました。 下記スクリプトを実行すると ------------------------------ #!/usr/local/bin/perl use encoding "sjis"; printf("噂のC言語\n"); ------------------------------ 出力される文字が 奄フC言語 となってしまいます。 漢字コードはシフトJIS(ja_JP.PCK)を設定しています。 上記スクリプトは、Windows-2000上のperl5.80では、 正しく「噂のC言語」と出力されます。 同一条件(soralis8(SPARC) perl5.80 (ja_JP.PCK))で 正しく日本語を表示出来た方は、おりますでしょうか。 また、この文字化けの改修方法をご存じの方、おりましたら教えてください。
- 締切済み
- その他(OS)
お礼
なるほど それならコンパイル済みですね 参考になりました