Compiler construction llvm-无法复制Hello世界通行证

Compiler construction llvm-无法复制Hello世界通行证,compiler-construction,llvm,Compiler Construction,Llvm,我是LLVM新手,我试图在中重现Hello World pass示例。通行证汇编得很好;但是,我无法复制文档中给出的输出 而不是 你好:uuu main 您好: 你好:梅因 我只是想 你好:梅因 这就像pass只通过用户定义的主函数一样。是否有一个标志,我应该打开,以便通过它来打印完整的函数跟踪 多谢各位 另外,我正在使用LLVM的3.1版当您执行LLVM dis-o-hello.bc时,是否可以看到所有3个函数。以下是输出:;ModuleID='hello.bc'target datalayo

我是LLVM新手,我试图在中重现Hello World pass示例。通行证汇编得很好;但是,我无法复制文档中给出的输出

而不是

你好:uuu main
您好:
你好:梅因

我只是想

你好:梅因

这就像pass只通过用户定义的主函数一样。是否有一个标志,我应该打开,以便通过它来打印完整的函数跟踪

多谢各位


另外,我正在使用LLVM的3.1版

当您执行
LLVM dis-o-hello.bc
时,是否可以看到所有3个函数。以下是输出:
;ModuleID='hello.bc'target datalayout=“e-p:32:32-i1:8-i8:8-i16:16-i32:32-i64:32-f32:32-f64:64-v64:64-v128:128-a0:0-f80:32-32-n8:32-S128”target triple=“i386 pc-linux-gnu”@str=private unnamed\u addr常量[12 x i8]c“hello world\00”define-i32=main call=32@wind=32@wind=32(i8*getelementptr inbounds([12 x i8]*@str,i32 0,i32 0))ret i32 0}声明i32@put(i8*nocapture)nounwind
那里只有一个函数(
定义i32@main()
),这就是为什么你的pass只打印了一个函数。你的pass运行得很好;唯一的问题是为什么
hello.bc
文件没有像文档中预期的那样包含所有3个函数。@Oak我明白了。我不知道为什么会发生这种情况。我完全按照安装指南操作。我应该为这个问题发布一个新线程吗?我不知道哦,你的电话。我只是说你的通行证很好:)