Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 14194|Vastaus: 0

Luan ja Luajitin vahvuudet ja heikkoudet

[Kopioi linkki]
Julkaistu 27.4.2018 9.44.40 | | | |
1. Mitä lua&luaJit?



lua(www.lua.org)Se on itse asiassa skriptikieli, joka on kehitetty upottamaan muita sovelluksia
luajit(www.luajit.org)Se on just-in-time -ajonaikainen kääntäjä lua:sta, ja sitä voidaan myös pitää tehokkaana versiona luasta.

2. Edut

1) Lua on ilmainen, pieni, yksinkertainen, tehokas, tehokas ja kevyt upotettu skriptikieli, ja Lua:n nykyinen jakeluversio 5.3.1 on vain 276k.
2) Se on C-kielellä kehitetty projekti, joten se voi toimia useimmilla käyttöjärjestelmillä
3) Lua on tällä hetkellä nopein skriptikieli, mikä voi parantaa kielen joustavuutta ja maksimoida säilymisnopeuden
4) Sen syntaksi on hyvin yksinkertainen, poikkeuksia ei ole
5) lua:ta voidaan käyttää myös C:n rajapintana

3. Puutteet ja erot

1) Lua:lla ei ole tehokasta kirjastoa, joten monet funktiot toteutetaan ilman tiiviitä skriptikieliä kuten python, perl ja ruby
2) Lua:n poikkeuskäsittelytoiminto on kiistanalainen, vaikka se tarjoaa poikkeuskäsittelytoimintoja pclandille ja xpcallille
3) Unicode-koodauksen tukea ei ole tarjottu LUA:n äidinkielellä, vaikka http://www.cppblog.com/darkdestiny/archive/2009/04/25/81055.html voidaan saavuttaa joillakin kompromisseilla
4) Se ei tarjoa kolmioperaattorioperaatioita a?b:c:lle, jota käytetään laajasti C++:ssa
5) Ei kytkintä... tapaus... Syntaksi, joka voidaan tehdä vain, jos: muuten.. muuten.. muuten.. Loppumenetelmä
6) Jatkosyntaksia ei anneta silmukassa
7) C++:ssa laajasti käytettyjä operaatioita kuten a++ ja a+=1 ei ole olemassa
8) Luan indeksi alkaa numerosta 1, ei tutusta 0:sta (merkkijono, taulukko)
9) Kun annat alkiolle nollan, se tarkoittaa, ettei alkiota ole olemassa
10) Lua:n numeerinen tyyppi on vain numero, eikä intin, kellun, tuplauksen jne. välillä ole eroa
11) Lua:ssa ei ole luokkien käsitettä, ja niiden luokat toteutetaan taulukoina
12) Lua:ssa vain nolla ja epätosi ovat epätosia, ja nolla on tosi luassa
13) Monet ohjelmat täytyy merkitä () suorittaakseen, esimerkiksi a={["b"]=5}, print(a.b) voidaan suorittaa, mutta {["b"]=5}.b raportoi virheen, ja ({["b"]=5}).b on pakollinen

4. Yleiskatsaus

Yhteenvetona voidaan todeta, että LUA on yksinkertainen ja tehokas ngx_lua laajasti käytetty pelilogiikan kehityksessä ja palvelinkehityksessä.

Siirretty: https://blog.csdn.net/ugly_man_/article/details/48577007

Liitteenä:

Lua ja Luajit suorituskyvyn vertailutesti: https://blog.csdn.net/alexwoo0501/article/details/50618031





Edellinen:Nginx Luan WAF-sovelluksen palomuurihaavoittuvuus
Seuraava:nginx lisää kolmannen osapuolen moduuleja sekä mahdollistaa moduulit, joita nginx tukee natiivisti
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com