Skip to content
This repository has been archived by the owner on Dec 11, 2024. It is now read-only.

关于generator模板代码的一些问题 #36

Answered by Yorkking
lyh1028 asked this question in Q&A
Discussion options

You must be logged in to vote

Q: 这里为什么要用 llvm::Type::getInt32Ty(TheContext)来获取类型,是已知main函数是int类型的才用这个吗,那实际上我们不知道TheFunction将指向的函数的类型该怎么办呢。
A: 确实是因为 main 是 int 类型才用这个。但是后面 实际上我们不知道TheFunction将指向的函数的类型该怎么办呢,实际上指向的函数类型你可以在语法树里面找到,比如下面的 json 语法树部分:

{
      "id": "0x894d78",
      "kind": "FunctionDecl",
      
      "name": "main",
      "mangledName": "main",
      "type": {
        "qualType": "int ()"
      },

qualType 指明了函数返回类型。所以你需要根据 qualType 类型来获取相应函数返回类型。

A: namespace 这里是声明一个匿名名字空间,作用和 static 类似,所有全局变量和函数本文件可见。

A: auto llvmin = llvm::MemoryBuffer::getFileOrSTDIN("-"); "-" 表示打开标准输入 stdin

Replies: 1 comment

Comment options

You must be logged in to vote
0 replies
Answer selected by lyh1028
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants