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