GCC用__attribute__((weak))编译报错,帮我看看吧!
源代码:
#include<stdio.h>
int __fun(){return 100;}
void fun() __attribute__ ((weak,alias("__fun")));
void f(int i){
printf("Number = %d\n",i);
}
static void g(int i){
printf("n=%d\n",i);
}
# g++ -c my.cpp
lib.cpp:3: 错误:‘void fun()’是未定义符号‘__fun’的别名
这个错误到底是什么意思呢?
------解决方案--------------------
在我的编译器上面编译没问题,每个编译器会把你的函数名修饰一下,就是换成编译器自己的函数名称,每个编译器的修饰方法不同,所以建议你换个编译器试试