如何安装 ocaml-cil Fedora 36

在本教程中,我们学习如何安装 ocaml-cil Fedora 36. ocaml-cil 是 CIL – C 程序分析和转换的基础设施

介绍

在本教程中我们学习如何安装 ocaml-cil 在 Fedora 36.

什么是 ocaml-cil

CIL(C 中间语言)是一种高级表示形式以及一组允许轻松分析 C 程序和源到源转换的工具。 CIL 既比抽象语法树低级别,通过澄清不明确的结构并删除冗余结构,又比为编译而设计的典型中间语言高级别,通过维护类型和与源程序的密切关系。 CIL 的主要优点是它将所有有效的 C 程序编译成一些具有非常清晰的语义的核心结构。 CIL 还具有语法导向的类型系统,可以轻松分析和操作 C 程序。 此外,CIL 前端不仅能够处理 ANSI-C 程序,还能够处理使用 Microsoft C 或 GNU C 扩展的程序。 如果您不使用 CIL 而只想使用 C 解析器并分析以抽象语法树表示的程序,那么您的分析将不得不处理该语言的许多丑陋角落(更不用说解析 C 本身并不一项微不足道的任务)。 本质上,CIL 是 C 语言的一个高度结构化的“干净”子集。CIL 的特点是句法和概念形式数量减少。 为了 example,所有循环结构都简化为单一形式,所有函数体都给出显式返回语句,消除了“->”等语法糖,并且具有数组类型的函数参数变成了指针。

我们可以用 yum 或者 dnf 安装 ocaml-cil 在 Fedora 36. 在本教程中,我们讨论这两种方法,但您只需选择一种方法来安装 ocaml-cil。

安装 ocaml-cil Fedora 36 使用dnf

更新 yum 数据库 dnf 使用以下命令。

sudo dnf makecache --refresh

更新 yum 数据库后,我们可以安装 ocaml-cil 使用 dnf 通过运行以下命令:

sudo dnf -y install ocaml-cil

安装 ocaml-cil Fedora 36 使用 yum

更新 yum 数据库 yum 使用以下命令。

sudo yum makecache --refresh

更新 yum 数据库后,我们可以安装 ocaml-cil 使用 yum 通过运行以下命令:

sudo yum -y install ocaml-cil

如何卸载 ocaml-cil Fedora 36

仅卸载 ocaml-cil 打包我们可以使用以下命令:

sudo dnf remove ocaml-cil

ocaml-cil 软件包内容 Fedora 36

/usr/lib64/ocaml/cil
/usr/lib64/ocaml/cil/META
/usr/lib64/ocaml/cil/alpha.cmi
/usr/lib64/ocaml/cil/availexps.cmi
/usr/lib64/ocaml/cil/availexpslv.cmi
/usr/lib64/ocaml/cil/bitmap.cmi
/usr/lib64/ocaml/cil/cabs.cmi
/usr/lib64/ocaml/cil/cabs2cil.cmi
/usr/lib64/ocaml/cil/cabshelper.cmi
/usr/lib64/ocaml/cil/cabsvisit.cmi
/usr/lib64/ocaml/cil/callgraph.cmi
/usr/lib64/ocaml/cil/canonicalize.cmi
/usr/lib64/ocaml/cil/cfg.cmi
/usr/lib64/ocaml/cil/check.cmi
/usr/lib64/ocaml/cil/cil.cma
/usr/lib64/ocaml/cil/cil.cmi
/usr/lib64/ocaml/cil/cilint.cmi
/usr/lib64/ocaml/cil/cillower.cmi
/usr/lib64/ocaml/cil/ciloptions.cmi
/usr/lib64/ocaml/cil/ciltools.cmi
/usr/lib64/ocaml/cil/cilutil.cmi
/usr/lib64/ocaml/cil/cilversion.cmi
/usr/lib64/ocaml/cil/clexer.cmi
/usr/lib64/ocaml/cil/clist.cmi
/usr/lib64/ocaml/cil/cparser.cmi
/usr/lib64/ocaml/cil/cprint.cmi
/usr/lib64/ocaml/cil/dataflow.cmi
/usr/lib64/ocaml/cil/dataslicing.cmi
/usr/lib64/ocaml/cil/deadcodeelim.cmi
/usr/lib64/ocaml/cil/dominators.cmi
/usr/lib64/ocaml/cil/epicenter.cmi
/usr/lib64/ocaml/cil/errormsg.cmi
/usr/lib64/ocaml/cil/escape.cmi
/usr/lib64/ocaml/cil/expcompare.cmi
/usr/lib64/ocaml/cil/feature_config.cmi
/usr/lib64/ocaml/cil/formatcil.cmi
/usr/lib64/ocaml/cil/formatlex.cmi
/usr/lib64/ocaml/cil/formatparse.cmi
/usr/lib64/ocaml/cil/frontc.cmi
/usr/lib64/ocaml/cil/growArray.cmi
/usr/lib64/ocaml/cil/heap.cmi
/usr/lib64/ocaml/cil/heapify.cmi
/usr/lib64/ocaml/cil/inthash.cmi
/usr/lib64/ocaml/cil/lexerhack.cmi
/usr/lib64/ocaml/cil/liveness.cmi
/usr/lib64/ocaml/cil/llvm.cmi
/usr/lib64/ocaml/cil/llvmgen.cmi
/usr/lib64/ocaml/cil/llvmssa.cmi
/usr/lib64/ocaml/cil/llvmutils.cmi
/usr/lib64/ocaml/cil/logcalls.cmi
/usr/lib64/ocaml/cil/logwrites.cmi
/usr/lib64/ocaml/cil/longarray.cmi
/usr/lib64/ocaml/cil/machdep.cmi
/usr/lib64/ocaml/cil/machdepenv.cmi
/usr/lib64/ocaml/cil/mergecil.cmi
/usr/lib64/ocaml/cil/olf.cmi
/usr/lib64/ocaml/cil/oneret.cmi
/usr/lib64/ocaml/cil/partial.cmi
/usr/lib64/ocaml/cil/patch.cmi
/usr/lib64/ocaml/cil/predabst.cmi
/usr/lib64/ocaml/cil/pretty.cmi
/usr/lib64/ocaml/cil/ptranal.cmi
/usr/lib64/ocaml/cil/reachingdefs.cmi
/usr/lib64/ocaml/cil/rmtmps.cmi
/usr/lib64/ocaml/cil/setp.cmi
/usr/lib64/ocaml/cil/sfi.cmi
/usr/lib64/ocaml/cil/simplemem.cmi
/usr/lib64/ocaml/cil/simplify.cmi
/usr/lib64/ocaml/cil/ssa.cmi
/usr/lib64/ocaml/cil/stats.cmi
/usr/lib64/ocaml/cil/trace.cmi
/usr/lib64/ocaml/cil/uref.cmi
/usr/lib64/ocaml/cil/usedef.cmi
/usr/lib64/ocaml/cil/util.cmi
/usr/lib64/ocaml/cil/whitetrack.cmi
/usr/share/doc/ocaml-cil
/usr/share/doc/ocaml-cil/LICENSE
/usr/share/doc/ocaml-cil/README.md

参考

概括

在本教程中我们学习如何安装 ocaml-cil 在 Fedora 36 使用 yum 和 [dnf]((/fedora/36/dnf/)。