//
you're reading...
Codes, Ruby, Tool

Phân Phối Chương Trình Ruby Ra Ứng Dụng Exe

Ruby là 1 ngôn ngữ thông dịch (interpreted language), nên mỗi khi bạn muốn đưa chương trình của mình cho người khác thì cần phải đưa cả mã nguồn (source code) của chương trình, và những người sử dụng cũng phải cài máy ảo Ruby trên máy tính của họ thì mới có thể chạy được chương trình. Cho nên Fri3ng3R đã tìm hiểu trên Google và thấy là có thể phân phối chương trình Ruby của mình ra ứng dụng Windows .exe (standalone executable).

Công cụ RubyScript2Exe của Erik Veenstra có thể chuyển đổi chương trình Ruby thành chương trình thực thi. RubyScript2Exe kết hợp ngôn ngữ thông dịch Ruby và mã nguồn của bạn để đưa ra kết quả là một tập tin exe.

Đầu tiên, bạn cần download công cụ RubyScript2Exe ở đây. Đó là một chương trình được viết bằng ngôn ngữ Ruby với kích thước chưa tới 1 megabyte. Sau đó, bạn chép tập tin này vào cùng thư mục với thư mục lưu trữ tập tin chương trình Ruby của bạn.

Để phân phối ra tập tin thực thi exe, bạn gõ lệnh sau:

ruby rubyscript2exe.rb ten_tap_tin_cua_ban.rb

Bây giờ bạn đã có một chương trình thực thi (như ví dụ là hello.exe) có thể được thực hiện trong bất kỳ máy tính hệ điều hành Windows.

Tuy nhiên, đây không phải là công cụ biên dịch Ruby (compiler), nghĩa là không biên dịch mã Ruby sang mã máy mà chỉ kết hợp và đóng gói toàn bộ Ruby và mã chương trình Ruby của bạn lại nên tập tin kết quả sẽ rất lớn.

Ngoài ra, không chỉ làm việc trên Windows, RubyScript2Exe cũng có thể tạo ra các tập tin thực thi cho các hệ điều hành khác như Linux Mac OS X.

~Fri3ng3R~

Advertisements

Discussion

No comments yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: