我真的希望有一些帮助可以解决这个问题.有没有人曾经在需要同时支持32位和64位的应用程序中使用过lua?我们目前正在转换到64位,但是客户端编译的lua脚本遇到问题,我们无法使用64位版本重新编译.所以实际上我们需要能够在64位应用程序中加载使用32位lua编译的字节码文件.当我们尝试这样做时,我们收到一条错误消息:
test.bin.lua中的虚拟机不匹配:size_t的大小为8但读取为4
当然,这是一个明确的64位转换问题.如果没有重新编译二进制文件的能力,那么困难的只是弄清楚如何处理它.
谢谢
我试图编译这段C++代码:
void FuncTest() {
int* a = new int;
int* b = new int[2];
}
Run Code Online (Sandbox Code Playgroud)
使用:
clang test.cpp -S -emit-llvm -o - > test.llvm
Run Code Online (Sandbox Code Playgroud)
得到了这个:
define void @_Z8FuncTestv() {
entry:
%a = alloca i32*, align 4
%b = alloca i32*, align 4
%call = call noalias i8* @_Znwj(i32 4)
%0 = bitcast i8* %call to i32*
store i32* %0, i32** %a, align 4
%call1 = call noalias i8* @_Znaj(i32 8)
%1 = bitcast i8* %call1 to i32*
store i32* %1, …Run Code Online (Sandbox Code Playgroud)