【发布时间】:2012-12-11 09:40:00
【问题描述】:
我发现了一个有趣的时刻:atexit() 函数对bionic 和glibc 的工作方式不同。这是一个例子:
#include <cstdlib>
#include <cstdio>
extern "C" {
void one(){
printf("one\n");
}
void two() {
printf("two\n");
atexit(one);
}
}
int main() {
atexit(two);
}
bionic 的结果:
two
glibc 的结果:
two
one
为什么结果不同?
【问题讨论】:
-
另外你的程序不是 C 而是 C++