我在弄清楚如何做下一件事时遇到了问题。
我有以下代码:
测试.cpp
#include <stdio.h>
void
function(void) {printf("Hellow ");}
int main(void) {
printf("World\n");
return 0;
}
我想把它变成下一个:
#include <stdio.h>
void
function(void) {printf("Hellow ");}
int main(void) {
function();
printf("World\n");
return 0;
}
带有 gcc 插件。
在我的插件中不起作用的代码是这个:
...
tree function_fn;
tree function_fn_type;
function_fn_type=build_function_type_list(void_type_node, void_type_node, NULL_TREE);
function_fn = build_fn_decl ("function", function_fn_type);
gimple call = gimple_build_call (funcion_fn, 0);
gsi_insert_before (&gsi, call, GSI_NEW_STMT);
...
然后,当我使用插件编译 test.cpp 时,出现下一条错误消息:
/tmp/cc2VRszt.o: 在函数main':
test.cpp:(.text+0x60): Undefined reference to
函数中'
任何人都可以帮助我吗?