簡體   English   中英

獲取 llvm::module 的入口點

[英]Get entry point of llvm::module

我已經用llvm::parseBitcodeFile解析了一個位碼文件,並且得到了llvm::Module ,我可以迭代模塊的功能:

std::unique_ptr<llvm::Module>& M = *parsed;
for(auto& func : M->functions())
{
    // how to identify the entry point?
}

而且我想確定模塊的入口點(以及應用程序的入口點 - 如果有多個模塊,其中一個應該有一個入口點..),但我無法在func中找到任何事情要做那,識別入口點的正確方法是什么? (在大多數情況下,它將是main功能,因此查找名稱似乎可行,但並非總是如此)。

更一般地說,我正在尋找一種方法來找到我得到的一個/許多位碼文件的入口點(如果有的話 - 也許是main )。

LLVM 模塊中沒有“入口點”。 入口點是應用程序的一項功能,並且可能因源語言等而有很大不同。此外,由於 LLVM 模塊以某種方式代表翻譯單元,因此可能根本沒有“主要功能”。

如果您碰巧知道要查找的函數的名稱,那么您當然可以使用Module::getFunction調用來執行基於名稱的查找。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM