Có một số perl nhỏ mà tôi có thể sử dụng trong hệ thống nhúng có kích thước không quan trọng?Có một số perl nhỏ mà tôi có thể sử dụng trong hệ thống nhúng có kích thước không quan trọng?
Trả lời
Xem bài viết của Simon Cozens trên Microperl.
microperl
là trình thông dịch Perl chân thực, trung thực đến tốt; không có yếu tố cốt lõi nào của ngôn ngữ Perl đã bị xóa. Công cụ biểu thức chính quy giống hệt nhau, ngôn ngữ giống hệt nhau, nó có cùng hỗ trợ Unicode, v.v. Những điều duy nhất đã bị xóa khỏi đó là các chức năng hoàn toàn theo hệ thống cụ thể, nhưcrypt
vàreaddir
.
Xem thêm README.micro:
microperl
được coi là một perl thực sự tối thiểu, thậm chí nhiều tối thiểu hơnminiperl
. Không có cấu hình là cần thiết để xây dựngmicroperl
, mặt khác điều này có nghĩa là các giao diện giữa Perl và hệ điều hành của bạn được để lại rất tối thiểu.Tất cả điều này là thử nghiệm. Nếu bạn không biết phải làm gì với
microperl
, bạn có thể không nên làm như vậy. Không báo cáo lỗi trongmicroperl
; sửa lỗi.
Tùy thuộc vào những hạn chế kích thước, bạn có thể không cần phải đi xa, chỉ cần sử dụng miniperl
— được xây dựng trong quá trình biên soạn perl
— có thể là đủ.
Ghét phải nói nó và tôi sẽ xác nhận được rất nhiều phiếu giảm nhưng ...
Nếu kích thước là một vấn đề đi với C. Nếu có một chức năng cụ thể mà bạn muốn từ perl bạn sẽ tìm thấy một thư viện C với một chút tìm kiếm sẽ cung cấp cho bạn chức năng tương tự.
Nếu bạn có thể dễ dàng thực hiện kịch bản và quay lại nhanh chóng, bạn nên có một CPU lớn hơn có thể chạy perl hoặc thử một ngôn ngữ có dấu chân nhỏ hơn như Lua.
Perl hiện đại là một ngôn ngữ tuyệt vời để nhanh chóng tạo ra giải pháp cho các sự cố. Tuy nhiên, nó không phải là chính xác nhỏ.
Phiên bản trước của perl nhỏ hơn một chút ... googling cho "16 bit perl" cho thấy một số người điên đã có được phiên bản 3 và 4 của perl để biên dịch cho 16 bit dos.
Nguồn cho perl 4 vẫn còn trôi nổi trên web và nếu bạn thực sự cần thiết, bạn có thể tạo lại công việc của những người đó và chạy perl trên hệ thống nhúng 16 bit mới.
Tuy nhiên, có đủ sự khác biệt giữa ngôn ngữ cổ xưa và perl hiện đại để làm cho nó không đáng để gặp rắc rối. Sự khác biệt rõ ràng nhất là bộ tách gói là '
thay vì ::
và có nhiều khác biệt hơn nữa.
Thay vì xáo trộn xung quanh với thứ gì đó cổ xưa và phức tạp như perl4, tôi khuyên bạn chỉ nên viết chương trình của bạn trong perl hiện đại (phiên bản 5.22 là mới nhất), và sau đó viết lại nó trong C hoặc C++ di động, và biên dịch chéo nó vào hệ thống nhúng của bạn.
Tôi nhận thấy rằng câu hỏi ban đầu là một chút cũ, nhưng tôi figured tôi sẽ cung cấp một câu trả lời mở rộng cho những người khác xem xét chạy perl trên hệ thống nhúng.
- 1. Trình duyệt nhúng nhỏ nhất mà tôi có thể sử dụng trong C++ là gì?
- 2. Kích thước tệp DLL có quan trọng không?
- 3. malloc trong hệ thống nhúng không có hệ điều hành
- 4. Hệ thống Perl có thể gọi bao giờ chết không?
- 5. Tôi có thể làm gì khi sử dụng awk mà tôi không thể làm trong Perl?
- 6. Khi nào tôi nên sử dụng kiểu trừu tượng trong các hệ thống nhúng
- 7. Có một SqlConnection hiện có mà tôi có thể sử dụng trong LinqPad không?
- 8. Celery có thích hợp để sử dụng với nhiều hệ thống phân tán nhỏ không?
- 9. Kích thước khối hệ thống tệp
- 10. Tôi có thể đặt kích thước VARCHAR lớn hơn 8k nhưng nhỏ hơn MAX không?
- 11. Tương quan của Pearson có trọng số?
- 12. Shell nào sử dụng hệ thống Perl()?
- 13. Làm thế nào để có mối quan hệ với một mối quan hệ luôn được nhúng
- 14. Biết hệ thống nhúng có sử dụng glibc hoặc bionic không?
- 15. Erlang là một hệ thống nhúng trong một ứng dụng?
- 16. Một hệ thống xếp hàng cho Perl
- 17. Làm cách nào tôi có thể mở số cổng cụ thể trong hệ thống cửa sổ
- 18. Tôi có nên tránh sử dụng! Quan trọng trong CSS không?
- 19. Có thể thêm cuộc gọi hệ thống qua LKM không?
- 20. tôi có thể sử dụng đối với từng cho hai mảng có kích thước tương tự
- 21. Kích thước tệp có thể đọc được với hệ thống khuôn mẫu Twig
- 22. Tôi có thể (và tôi có bao giờ muốn) thiết lập kích thước heap tối đa trong .net không?
- 23. Con trỏ có thể có kích thước khác nhau không?
- 24. ORM có chậm không? Nó có quan trọng không?
- 25. Gettext không có hệ thống tập tin
- 26. Tôi nên sử dụng CMS nào để quản lý một trang web nhỏ mà không có kinh nghiệm lập trình?
- 27. HTML và XHTML có quan trọng không?
- 28. Tôi có thể sử dụng các biểu tượng tệp lưu/mới/etc mặc định của hệ thống trong WPF không?
- 29. Tôi có nên sử dụng kích thước phông chữ tuyệt đối (nhỏ, trung bình, lớn và cộng sự) không?
- 30. Có phải lập trình Agile quá ... ad hoc cho các hệ thống an toàn quan trọng?
Thậm chí điều này có thể không cần thiết như nhiều người nghĩ. Tôi hapilly sử dụng Perl trên một hệ thống ARM9 với 64 MB RAM. Nó xử lý có 3 daemon Perl mà không có một vấn đề. Chip mới hơn tiếp tục lớn hơn. OTOH, perl sẽ không bao giờ phù hợp với vi xử lý 8 bit hoặc nhỏ 16 bit. – daotoad