《帶有llvm的ebpf元件》
《the llvm compiler infrastructure | llvm編譯器基礎設施》
《llvm每日談 | 知乎》
《llvm 核心類簡明示例》
目錄
llvm 核心類簡明示例 : llvm::value && llvm::type && llvm::constant
llvm::value
llvm:type
llvm::constant
llvm核心類位於include/llvm/ir
中,用以表示機器無關且表現力極強的llvm ir。
llvm::value則是這其中的重中之重,它用來表示乙個具有型別的值。它是類圖如下:
llvm::argument
,llvm::basicblock
,llvm::constant
,llvm::instruction
這些很重要的類都是它的子類。
llvm::value
有乙個llvm::type*
成員和乙個use list
。後者可以跟蹤有哪些其他value
使用了自己,我們可以使用下面的迭代器對它進行訪問:
int main()
system("pause"); return 0;
}
前者顧名思義表示乙個型別。可以通過value::gettype()
獲取到這個llvm::type*
,它有一些is*()
成員函式可以判斷是下面哪種型別:
enum typeid ;
比如這樣:
int main()
system("pause"); return 0;
}
除此之外llvm::type
還有很多成員函式,詳細請參見
多說一句,我們還可以對llvm::value進行命名
bool hasname() const
std::string getname() const
void setname(const std::string &name)
llvm::constant
表示乙個各種常量的基類,基於它派生出了constantint 整型常量
,constantfp 浮點型常量
,constantarray 陣列常量
,constantstruct 結構體常量
:
int main()
原文出處:
C 事務處理簡明示例
定義資料庫 create database guigui use guigui create table users userid int not null primary key identity 1,1 username varchar 20 userpass varchar 20 create...
原創 C 事務處理簡明示例 收藏
定義資料庫 create database guigui use guigui create table users userid int not null primary key identity 1,1 username varchar 20 userpass varchar 20 create...
linux核心基礎(系統呼叫,簡明)
核心基礎 系統呼叫 在說系統呼叫之前,先來說說核心是怎麼和我們互動的,或者說是怎麼和我們產生交集的。首先,核心是用來控制硬體的只有核心才能直接控制硬體,所以說核心很重要,如果核心被控制那麼電腦的一切都被控制了,所以我們需要把核心保護起來,所以shell 就誕生了,我們絕大多數情況下是在和shell ...