在哪里可以在线浏览 libc 的源代码(例如 doxygen)
有时我想查找stdlib中函数的实现,我已经下载了源代码,但它很乱。 仅仅 grep 并不适合,因为点击次数很多。 有谁知道有文档的网页 doxygen 样式。 Li…
C 中的 fgets() 函数
我知道每个人都告诉我使用 fgets 而不是 gets,因为缓冲区溢出。但是,我对 fgets() 中的第三个参数有点困惑。据我了解,fgets 依赖于: char * fgets…
失败的 malloc() 的单元测试
对涉及失败的 malloc() 的单元测试代码路径的最佳方法是什么?在大多数情况下,这可能并不重要,因为你正在做类似的事情 thingy *my_thingy = malloc(…
标准库 itoa 函数
我在网上搜索并看到很多使用 itoa() 函数的代码&他们声称这个函数在 stdlib.h 中 我现在使用 2 个版本的 GCC: (GCC) 4.2.4 (Ubuntu 4.2.4-1ubuntu4))…
在 Mac OS X 上,如何获得 System/LibC 的调试版本以进行源代码级调试?
我从 opensource.apple.com 下载了 LibC 源代码,但由于它是一个整体库 /usr/lib/libSystem.B.dylib 的一部分,我是否必须以某种方式重建整个库? 我…
使用 dlsym 进行库插入
我正在编写一个插入库来跟踪 libc 中一些库函数的使用情况,例如 open()、close()、connect() 等。它在大多数应用程序上通常运行良好。然而,当我尝试…
关闭 FILE 指针而不关闭底层文件描述符
通过使用 fdopen()、fileno() 可以使用现有文件描述符打开流。然而,使用流打开文件后,关闭文件的正确方法是使用 fclose() FILE 指针。如何关闭流,…
Linux如何同时支持32位和64位?或者这是 glibc 中处理的东西?
Linux 如何同时支持 32 位和 64 位?或者这是 glibc 中处理的东西? 我运行 CentOS 5.3,它是“64 位”版本;尽管我为 64 位和 32 位构建了东西。据我…
在 Android 上安装预构建的二进制文件:“未找到”
我正在尝试在自定义 Android 映像中安装预构建的二进制文件。 为此,我已将其复制到 prebuilt/android-arm/ 中的一个新目录,其中包含与此类似的 Andr…
使用 open() 而不是 fopen() 有什么常见的理由吗?
在离开 C 很长一段时间后,我正在用 C 语言做一个小项目。 这些恰好包括一些文件处理。 我在各种文档中注意到有些函数返回 FILE * 句柄,而其他函数则…
fread/fwrite 将大小和计数作为参数的基本原理是什么?
我们在工作中讨论了为什么 fread() 和 fwrite() 获取每个成员的大小并计算并返回读/写的成员数量,而不是仅仅获取缓冲区和大小。 我们可以想到的唯一…
Windows下的MSVCRT就像*nix下的glibc(libc)一样吗?
我经常遇到将 MSVCRT(或其更新的等效项)与程序可执行文件捆绑在一起的 Windows 程序。 在典型的 PC 上,我会发现相同 .DLL 的许多副本。 我的理解是…