• Home
Name Date Size #Lines LOC

..--

README.mdD12-May-20242.1 KiB7754

compare.pyD12-May-202411.4 KiB327296

default_black.txtD12-May-202428 44

requirements.txtD12-May-202456 54

README.md

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~~~~