我发现了一个有趣的时刻: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
为什么结果不同?