2010-09-16 22 views
8

Gerçekten bu konuda bir şeyler yapmanın bir yardımı olduğunu umuyorum. Hem 32-bit hem de 64-bit desteğine sahip olması gereken bir uygulamada hiç kimse kullandı mı? Şu anda 64-bit'e geçiyoruz ama 64-bit sürümü kullanarak kendimizi yeniden derleyemediğimiz istemci derlenmiş lua betikleriyle sorun yaşıyoruz. Dolayısıyla, 64-bit bir uygulamada 32-bit lua kullanılarak derlenmiş bayt kodu dosyalarını yükleyebilmemiz gerekir. size_t boyutu 8 ama okumak bu açık bir 64bit geçiş yapan sorunudur Eh tabiilua 64-bit geçiş sorunu

4: test.bin.lua içinde

sanal makine uyumsuzluğu: bunu yapmaya çalıştığınızda biz bir hata iletisi. Zor olan şey, ikilileri yeniden derleme yeteneği olmadan, bununla ilgili ne yapacağını anlamak.

Teşekkür

+1

yükleme bayt kodu önerilmez. daha güvenli ve daha taşınabilir kaynak kodu yüklemektir. – Javier

cevap

3

32 bitlik baytkod dosyalarını okumak için lundump.c'yi uyarlamak zor değil. Bunun için Lua posta listesinde bir yol haritası yayınladım. Sorun yaşarsanız lütfen bana e-posta gönderin.

+0

Bu konuyla ilgileniyorum. Posta listesi gönderileriniz var mı? – Andreas

+0

@Andreas, muhtemelen bu: http://lua-users.org/lists/lua-l/2006-06/msg00205.html – lhf

+0

Teşekkürler. Aslında 'lundump.c' 'boyutunu' 4 boyutta * ve * 8 bayt boyutlarıyla ele alabilmek için değiştirmem gerektiğinden bu gerçekten çok önemsizdi. Bu değişiklikten sonra, programımın 32-bit sürümleri, artık 64-bit sürüm tarafından üretilen bayt kodu çalıştırabiliyor. Tabii ki, eğer 2^32 bayttan daha fazla veriye sahip bir dizge varsa 32-bit üzerinde çalışmayacak ama sanırım daha az tahmin ediyorum :) Değiştirmem gereken başka bir şey de '' Talimat '' imzasız uzun yazımdı “imzasız int”, çünkü talimatlar 32-bit olmalıdır. Hala Lua 5.0.2'de olduğumu unutmayın. – Andreas