http://zhidao.baidu.com/question/337487983.html
int main (void) __attribute__ ((weak, alias ("alt_main")));什么意思?
__attribute__是gcc专有的,用来说明函数的熟性weak 和 alias 分别是两个属性。weak 使得 main 这个符号在目标文件中作为 weak symbol 而不是 global symbol。用 nm 命令查看编译 dummy.c 生成的目标文件可用看到 main 是一个 weak symbol,它前面的标记是 W。而 alias 则使main 是 alt_main 的一个别名,alt_main 和 main 必须在同一个编译单元中定义,否则会编译出错。