GCC GNU Compiler Collection GCC编译器套件 glibc GNU C LIBrary GNU的C运行库

两者是linux系统中使用最多的编译-运行套件。glibc可以视作独立的运行库,而GCC,甚至部分Linux操作系统组件都依赖于这套运行库。这就导致,glibc不能随意更新,因为版本变化,符号变化导致的运行库加载失败,很有可能会使系统直接崩溃(血的教训)。

所以在跨平台编译软件的时候,一定要使用目标平台格式的glibc库,不然链接不起来,或者会无法运行。

#include <stdio.h>
#ifdef __GLIBC__
#include <gnu/libc-version.h>
#endif

int
main(void)
{
#ifdef __GLIBC__
  printf("GNU libc compile-time version: %u.%u\n", __GLIBC__, __GLIBC_MINOR__);
  printf("GNU libc runtime version:      %s\n", gnu_get_libc_version());
  return 0;
#else
  puts("Not the GNU C Library");
  return 1;
#endif
}

标签: none

添加新评论