1### 一、环境配置 2 3#### 1、clang 4 5若ubuntu中无clang则需要安装clang 6 7以下为安装命令: 8 9~~~~shell 10sudo apt install clang 11~~~~ 12 13#### 2、python3.8 14 15本程序需要使用python3.8程序和pip3 16 17以下为安装命令: 18 19~~~~shell 20sudo apt install python3.8 21sudo apt install python3-pip 22~~~~ 23 24#### 3、安装项目依赖包 25 26使用以下命令来安装项目依赖包 27 28~~~~shell 29pip3 install -r requirements.txt 30~~~~ 31 32### 二、黑名单文件与宏定义文件格式 33 34#### 1、黑名单文件格式 35 36**黑名单文件:**在执行脚本时可以指定文本文件为黑名单文件,在比较时就不会将黑名单文件中出现的符号体现在比较结果中。黑名单文件中每一行为一个忽略比较的符号信息。以下为黑名单文件的样例: 37 38~~~~txt 39mq_getattr 40getutxent 41..... 42~~~~ 43本工具自带一个默认的黑名单文件default_black.txt,后续添加黑名单内容可在此基础上进行添加 44 45#### 2、宏定义文件格式 46 47**宏定义文件:**在执行脚本时可以指定文本文件为宏定义文件,以便于在获取头文件符号列表时可以按照用户希望的方式展开制定宏。宏定义文件中每一行为一个引入的宏定义。以下为宏定义文件的样例: 48 49~~~~txt 50_GNU_SOURCE 51_BSD_SOURCE 52...... 53~~~~ 54 55### 三、执行命令 56 57执行脚本时提示信息如下 58 59~~~~shell 60usage: python3.8 compare.py [-h] -l <path> -i <path> 61 [-b <path>] [-m <path>] [-o <path>] 62options: 63 -h : print this help message #打印帮助信息 64 -l : input lib file path #库文件路径 65 -i : input head file path #头文件路径 66 -b : input blacklist file path #黑名单文件路径(可选) 67 -m : input macros file path #宏定义文件路径(可选) 68 -o : result file output path #比较结果输出路径(可选) 69~~~~ 70 71以下为执行命令的例子 72 73~~~~shell 74$python3.8 compare.py -l ~/libc.so -i ~/include 75$python3.8 compare.py -h 76$python3.8 compare.py -l ~/libc.so -i ~/include -b ~/backlist.txt -m macros.txt -o ~/ 77~~~~