对程序进行编译以在 64 位操作环境中运行(也就是说,使用 -m64 进行编译,并在支持 64 位的 SPARC 或 x86 平台上运行可执行文件)会更改某些函数的返回值。这些通常是与标准系统级例程交互的函数(如 malloc(3F))(请参见1.4.35 malloc、malloc64、realloc 和 free:分配/重新分配/解除分配内存),这些函数可能会根据环境采用或返回 32 位值或 64 位值。为了能够在 32 位环境与 64 位环境之间移植代码,提供了这些例程的 64 位版本,它们始终采用和/或返回 64 位值。下表列出了适用于 64 位环境的库例程:
表 1–1 适用于 64 位环境的库例程
功能 |
说明 |
---|---|
malloc64 |
分配内存并返回指针 |
fseeko64 |
重新确定大文件的位置 |
ftello64 |
确定大文件的位置 |
stat64、fstat64、lstat64 |
确定文件的状态 |
time64、ctime64、gmtime64、ltime64 |
分解系统时间,转换为字符 |
qsort64 |
将数组元素排序 |