Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 14194|Yanıt: 0

Lua ve Luajit'in güçlü ve zayıf yönleri

[Bağlantıyı kopyala]
Yayınlandı 27.04.2018 09:44:40 | | | |
1. Lua&luaJit nedir?



Lua(www.lua.org)Aslında, diğer uygulamaları gömmek için geliştirilmiş bir betik dilidir
Luajit(www.luajit.org)Lua'nın tam zamanında çalışma zamanı derleyicisidir ve aynı zamanda verimli bir lua versiyonu olarak da söylenebilir.

2. Avantajlar

1) Lua ücretsiz, küçük, basit, güçlü, verimli ve hafif gömülü bir betik dilidir ve Lua'nın mevcut dağıtım sürümü 5.3.1 sadece 276k seviyesinde yer alır.
2) C dilinde geliştirilmiş bir projedir, bu yüzden çoğu işletim sisteminde çalışabilir
3) Lua şu anda en hızlı betik dilidir; bu dil esnekliğini artırabilir ve saklama hızını en üst düzeye çıkarabilir
4) Sözdizimi çok basit, istisna yoktur
5) lua ayrıca C için bir API olarak da kullanılabilir

3. Yetersizlikler ve farklılıklar

1) Lua'nın güçlü bir kütüphanesi yoktur, bu yüzden birçok fonksiyon python, perl ve ruby gibi kısa betik dilleri olmadan uygulanmıştır
2) Lua'nın istisna işleme fonksiyonu tartışmalıdır, ancak pcland ve xpcall için istisna işleme fonksiyonları sağlar
3) LUA ana dilinde Unicode kodlama desteği sağlanmamaktadır, ancak http://www.cppblog.com/darkdestiny/archive/2009/04/25/81055.html bazı uzlaşmalarla sağlanabilir
4) C++'da yaygın olarak kullanılan a?b:c için üçlü operatör işlemleri sağlamaz.
5) Anahtar yok... dava... Sözdizimi yalnızca şu durumlarda yapılabilir: elsee.. elsee.. Yoksa.. Son yöntemi
6) Döngü sırasında devam sözdizimi sağlanmıyor
7) C++'da yaygın olarak kullanılan a++ ve a+=1 gibi işlemler yoktur
8) Lua'nın indeksi 1'den başlar, tanıdık 0 (dize, tablo) değil
9) Bir elemanı sıfıra atadığınızda, bu elemanın var olmadığı anlamına gelir
10) Lua'nın sayısal türü sadece sayıdır ve int, float, double vb. arasında bir ayrım yoktur
11) Lua'da sınıflar kavramı yoktur ve sınıfları tablolar şeklinde uygulanır
12) Lua'da sadece sıfır ve yanlış yanlıştır, lua'da sıfır doğrudur
13) Birçok programın çalışması için () ile işaretlenmelidir; örneğin, a={["b"]=5}, print(a.b) çalıştırılabilir, ancak {["b"]=5}.b hata bildirir ve ({["b"]=5}).b gereklidir

4. Genel Bakış

Özetle, LUA basit ve verimli bir ngx_lua oyun mantığı geliştirme ve sunucu geliştirmede yaygın olarak kullanılır.

Transfer olunanlar: https://blog.csdn.net/ugly_man_/article/details/48577007

Ekli:

Lua ve Luajit performans karşılaştırma testi: https://blog.csdn.net/alexwoo0501/article/details/50618031





Önceki:Nginx Lua'nın WAF Uygulama Güvenlik Duvarı Açığı
Önümüzdeki:nginx, üçüncü taraf modüller ekliyor ve nginx tarafından doğal olarak desteklenen modülleri etkinleştiriyor
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com