正则表达式函数如“regexec”吗? libc 版本 2.2.5 中线程安全吗?
我读过 libc 中的正则表达式函数应该是线程安全的,但我也读过在早期版本中情况并非如此。 我现在必须在具有旧 libc 版本 2.2.5 的嵌入式系统上工作。…
ptrace mprotect调试麻烦
我在一个研究项目上遇到了麻烦。 我正在尝试使用 ptrace 来观察目标进程的执行情况。 在 ptrace 的帮助下,我将 mprotect 系统调用注入到目标代码段(…
静态链接可执行文件的启动代码会发出如此多的系统调用?
我正在尝试静态编译一个最小程序并检查发出的系统调用: $ cat hello.c #include int main (void) { write(1, "Hello world!", 12); return 0; } $ gc…
Android 奇怪的 lib.c 崩溃
我正在编写一个 Android 应用程序。 我完全不知道为什么这种情况经常发生。 有人能告诉我什么原因可能导致它发生吗? 谢谢! 09-29 13:58:00.540: INF…
malloc 和 calloc 如何最终得到不同的签名?
可能的重复: 为什么 calloc 采用两个参数,而 malloc 仅采用一个参数? 有很多资源描述了 malloc 和 calloc 之间的功能差异,但我无法轻松找到描述…
强制 .so 模块使用 libc 函数以防重复函数
我有 .so 文件,它使用 LD_PRELOAD 机制加载到二进制程序地址空间中。 binray 程序(不是我的)有它自己的 malloc 函数实现。 由于我的模块正在加载到…
字符* str=“...”与 char str[]="..." 比较奇怪的行为
可能的重复: 尝试设置字符时程序崩溃一个字符数组 我有一个按预期工作的示例代码: /* strtok example */ #include #include int main () { char st…
当给定一个带有无法识别的可执行幻数的文件时, posix_spawn() 应该如何表现?
glibc 实现 会尝试将文件发送到 /bin/sh: __execve (file, argv, envp); if (errno == ENOEXEC) script_execute (file, argv, envp) POSIX 示例实现 …
确定“stat()”返回的有效时间戳精度
我正在尝试确定软件中 struct stat 的 st_mtim.tv_nsec 字段对于特定目录/文件系统的有效精度。 有没有办法确定文件系统的修改时间精度(而不是库的“…
stdarg.h 在哪里?
在我的系统 (Mac OS 10.6) /usr/include/stdarg.h 上是: /* This file is public domain. */ /* GCC uses its own copy of this header */ #if defin…
libc 如何提供具有两个名称的函数?
在直接绑定(-B direct)出现之前libc提供了许多 有两个名称的函数。例如,getpwent() 和 _getpwent()。 这两个名称引用了 libc 中完全相同的函数。 …
printf(“%d”, 1.0) 是否未定义?
根据 C89 草案第 4.9.6.1 节,%d 是一个字符指定要应用的转换类型。 在我看来,conversion 这个词意味着 printf("%d", 1.0) 已被定义。 请证实或反驳…