当前位置: 技术问答>linux和unix
GCC用__attribute__((weak))编译报错,帮我看看吧!
来源: 互联网 发布时间:2017-04-18
本文导语: 源代码: #include int __fun(){return 100;} void fun() __attribute__ ((weak,alias("__fun"))); void f(int i){ printf("Number = %dn",i); } static void g(int i){ printf("n=%dn",i); } # g++ -c my.cpp lib.cpp:3: 错误:‘void fun()’是未定义符号‘__fun’...
源代码:
# g++ -c my.cpp
lib.cpp:3: 错误:‘void fun()’是未定义符号‘__fun’的别名
这个错误到底是什么意思呢?
#include
int __fun(){return 100;}
void fun() __attribute__ ((weak,alias("__fun")));
void f(int i){
printf("Number = %dn",i);
}
static void g(int i){
printf("n=%dn",i);
}
# g++ -c my.cpp
lib.cpp:3: 错误:‘void fun()’是未定义符号‘__fun’的别名
这个错误到底是什么意思呢?
|
在我的编译器上面编译没问题,每个编译器会把你的函数名修饰一下,就是换成编译器自己的函数名称,每个编译器的修饰方法不同,所以建议你换个编译器试试