【发布时间】:2011-10-07 17:18:52
【问题描述】:
我正在为一种语言编写编译器,用户可以在其中选择按值调用或引用调用
最后阶段是生成 llvm 程序集。我读到数组/向量通过引用传递,但我不知道如何通过引用传递整数。
我想过创建一个指针,然后传递指针,比如:
foo(ref var1) { var1 = var1 + 1 }
main { a=1; foo(a); }
被翻译成
foo(int* var1) { (*var1) = (*var1) + 1 }
main {a=1; foo(&a ); }
但我在 llvm 中找不到如何操作。
关于指针或如何通过引用调用参数的任何想法都很棒(我希望这不是一个 RTFM 问题:/)
【问题讨论】:
标签: compiler-construction call pass-by-reference llvm