安装
- gcc源码编译安装
./configure --prefix=path/to/install
- 网络安装
sudo apt-get install gcc
sudo apt-get install gcc-number-plugin-dev //number为自身的GCC版本
- 查看GCC是否支持GCC-plugin
命令行输入以下代码:
gcc -print-file-name=plugin
出现以下结果,说明支持,该结果是一个路径
bbq@ubuntu:~$ gcc -print-file-name=plugin
/usr/lib/gcc/x86_64-linux-gnu/11/plugin
安装完成后会出现以下界面,会有部分头文件供使用
gcc-plugin的使用链接可以参考
简单示例
- 新建简单的plugin1.c
详细源码内容
/* ------ plugin1.c ------ */
#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)
{
if (!plugin_default_version_check(version, &gcc_version))
{
printf("incompatible gcc/plugin versions\n");
return 1;
}
printf("Hello world!\n");
return 0;
}
- 新建plugin1_test.c
/* ------ plugin1_test.c ------ */
#include <stdio.h>
int main()
{
/* Whatever you like. */
return 0;
}
- 编译命令
g++ -std=c++11 -Wall -fno-rtti -I/usr/lib/gcc/x86_64-linux-gnu/11/plugin/include -fPIC -c -o plugin1.o plugin1.c
g++ -shared -o plugin1.so ./plugin1.o
gcc -fplugin=./plugin1.so plugin1_test.c -o plugin1_test.o