编译glibc版本的时间检查

wal*_*rii 2 glibc g++

我需要编译时间检查将使用哪个版本的glibc.

我可以找到唯一的编译时检查(即#defines)返回glibc日期(__ GLIBCXX__),日期和版本之间的对应似乎是iffy.如何在编译时检查将使用的glibc版本?

我的代码将在几个系统上编译和运行,包括一个非常旧的系统.特别是我对使用malloc_info感兴趣(参见http://man7.org/linux/man-pages/man3/malloc_info.3.html).这是在2.10版本中添加到glibc中的.该程序将在其构建的相同(或相同的系统)上使用.

Has*_*san 5

我想你期待看到的东西__GLIBC____GLIBC_MINOR__,它代表一个intGNU C库的主要和次要版本号.有关详细信息,请查看(存档链接).

因此,如果__GLIBC__大于2,或__GLIBC__等于2并且__GLIBC_MINOR__大于或等于10,那么malloc_info()应该工作.