在 CentOS 上“给 GCC 添加插件”通常有两种理解,下面分别说明,你可以按需选择。
如果你是想 开发或使用 GCC 插件(GCC Plugin API),需要:
sudo yum install gcc gcc-c++ gcc-plugin-devel
gcc-plugin-devel提供了:
gcc-plugin.hgengtype- 插件编译所需的头文件和符号
ls /usr/lib/gcc/x86_64-redhat-linux/*/plugin/include/
如果能看到 gcc-plugin.h,说明环境已就绪。
#include "gcc-plugin.h"
#include "plugin-version.h"
int plugin_is_GPL_compatible;
int plugin_init(struct plugin_name_args *plugin_info,
struct plugin_gcc_version *version) {
printf("Hello GCC Plugin!\n");
return 0;
}
编译:
gcc -I/usr/lib/gcc/x86_64-redhat-linux/$(gcc -dumpversion)/plugin/include \
-fPIC -shared -o hello.so hello.c
使用:
gcc -fplugin=./hello.so test.c
sudo yum install gcc gcc-c++ \
libasan static-analyzer \
gcc-gfortran
一般步骤:
git clone xxx
make
gcc -fplugin=./xxx.so ...
GCC 不支持像 Clang 那样轻量前端插件,但可以通过:
sudo yum install centos-release-scl
sudo yum install devtoolset-11
scl enable devtoolset-11 bash
如果你能具体说明:
我可以给你更精确的命令。