研究与应用:运维平台监控系统告警收敛算法分析
图2.21比较旧式和新式风格的函数,图2.20第11行的hasEllipsis用于检测新式风格函数中的变参。C语言中的printf函数是典型的变参函数,其接口为int printf(const char *format, ...); 以函数f5为例,示范函数的类型结构构建过程。通过ucltype.c中的FunctionReturn()等函数,构建如图2.22所示的类型结构。图2.22中的struct parameter描述函数参数信息,包括id(形参名)、ty(类型)、reg(是否使用register说明符)。struct signature描述参数列表信息,当hasProto为1时,表示新式函数,params指向包含多个struct parameter对象的向量。UCC编译器通过语法分析和语义检查构建这些类型结构,如图2.23所示,创建基本类型和指针类型,并设定大小、对齐和类别信息,同时定义旧式函数类型DefaultFunctionType。SetupTypeSystem()负责这些操作。
7.08MB
文件大小:
评论区