一个C语言抄袭检测项目(其实是作业)。基于libclang。
暂时先写成这样来交差吧,目前实现功能:
- 寻找一个文件夹内的所有文件的主执行函数。
- 用
libclang
解析C代码的AST。 - 比较俩AST的差别,然后根据阈值判断是否抄袭。
使用说明:https://github.com/zsxsoft/Plade/wiki/%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E
参见:https://github.com/zsxsoft/Plade/wiki/%E5%BD%93%E5%89%8D%E8%AE%BE%E8%AE%A1
其实我觉得它写完就会被太监了……目前仅测试过Windows。
npm run build
build
- Nodejs 7.0+
- Python 2.7
- (Windows) Visual Studio 2017 / (*nix) g++ 5.4+ / clang (连gyp配置都还没有写,根本编译不起来的啦。反正需要支持C++17的编译器。)
git clone https://github.com/zsxsoft/Plade
npm install electron -g
npm install
- 下载并安装LLVM。
- Windows用户需要把
x64
的llvm/lib
下的所有文件复制到third-party/x64/clang
,把x86
的llvm/lib
下的所有文件复制到third-party/x86/clang
。*nix还没测试,我猜安装libclang就可以啦。 node-gyp rebuild --target=1.6.8 --arch=x64 --dist-url=https://atom.io/download/electron --debug
electron .