libc

libc

文章 2 浏览 66

memmove 不动

memmove 并没有真正移动内存,不是吗?它只是将内存从一个区域复制到另一个区域,并允许这两个区域重叠。我问这个问题是因为我只是想知道为什么这个 f…

浮生面具三千个 2024-10-07 23:19:01 2 0

我应该释放/删除 getenv() 返回的 char* 吗?

char * val; val = getenv("ENV_VAR_NAME"); 上面是获取环境变量的代码,如果不释放 getenv(char*) 返回的内存,会导致内存泄漏吗?如果不是,请回答…

流绪微梦 2024-10-03 10:11:48 3 0

我是否需要担心 Valgrind 报告超出我的应用程序范围的错误?

当运行 Valgrind 的 memcheck 工具时,我经常会收到数十万(或更多,因为 Valgrind 在 100K 处截止)小的无效读取语句,例如: ==32027== Invalid rea…

笑着哭最痛 2024-10-03 00:43:34 4 0

尝试访问 C 中字符串上的字符时出现总线错误

我已经多次使用这行代码(更新:当字符串是函数的参数时!),但是当我现在尝试这样做时,我收到总线错误(无论是使用 gcc 还是 clang)。我正在重现…

但可醉心 2024-10-01 02:18:40 5 0

如何执行“ulimit -n 400”的等效操作从C内部?

在启动用 C 编写的程序之前,我必须运行命令“ulimit -n 400”来提高允许打开的文件数,但是有没有办法在 C 程序中执行等效操作? 也就是说,增加该进…

香橙ぽ 2024-09-30 14:06:52 8 0

链接旧版本的 libc 以提供更大的应用程序覆盖范围

Linux 二进制文件通常动态链接到核心系统库 (libc)。这使得二进制文件的内存占用非常小,但依赖于最新库的二进制文件将无法在旧系统上运行。相反,链…

深空失忆 2024-09-29 06:34:20 2 0

不同字符串指针/数组类型上的 strsep 分段错误

平台:Linux、OSX 编译器:GCC 我有一个简单的程序,目前让我感到困惑 - 我知道我正在弄乱几种不同类型的数组/指针来产生这个问题 - 这是故意的 - 我…

纸短情长 2024-09-28 01:28:04 5 0

确定准备好进行 recv() 处理的字节数

我可以使用 select() 来确定对 recv() 的调用是否会阻塞,但是一旦我确定有字节要读取,有没有办法在实际调用 recv() 之前查询当前有多少字节可用?…

爱本泡沫多脆弱 2024-09-27 19:12:47 7 0

为什么 strtof 和 strtod 的 endptr 参数是指向非常量 char 指针的指针?

strtod 具有以下签名: float strtof(const char *str, char **endptr); double strtod(const char *str, char **endptr); 它们各自将输入字符串 str…

甜心 2024-09-26 04:56:33 11 0

fread/fwrite 将大小和计数作为参数的基本原理是什么?

我们在工作中讨论了为什么 fread() 和 fwrite() 获取每个成员的大小并计算并返回读/写的成员数量,而不是仅仅获取缓冲区和大小。我们可以想到的唯一用…

蓝戈者 2024-09-24 15:53:55 4 0

POSIX lfind()/lsearch() 的性能比手动循环更好吗?

执行 lfind/lsearch比检查每个项目直到匹配的典型循环解决方案表现更好?这些功能的存在有什么特殊的理由吗?…

笨笨の傻瓜 2024-09-18 07:55:13 6 0

如何在 Linux 上重新实现(或包装)系统调用函数?

假设我想完全接管 open() 系统调用,也许要包装实际的系统调用并执行一些日志记录。 一种方法这是使用 LD_PRELOAD 加载一个(用户制作的)共享对象库…

呆头 2024-09-18 07:38:06 14 0

比 memset 更快的零内存方法?

我了解到 memset(ptr, 0, nbytes) 确实很快,但是有没有更快的方法(至少在 x86 上)? 我假设 memset 使用 mov,但是当将内存归零时,大多数编译器使…

美羊羊 2024-09-18 03:56:21 8 0

C 中 ptrdiff_t 在哪里定义?

C 中 ptrdiff_t 在哪里定义?…

潜移默化 2024-09-16 08:17:28 6 0

静态链接新的 libc 符号以与较低的 libc 版本一起使用

我有一个使用 eventfd 和 timefd 内核系统调用的应用程序。为此,您需要一个现代内核和一个支持它们的 libc,至少是 2.8。 我目前的情况是,我有一个…

你没皮卡萌 2024-09-13 04:47:12 2 0
更多

推荐作者

已经忘了多久

文章 0 评论 0

15867725375

文章 0 评论 0

LonelySnow

文章 0 评论 0

走过海棠暮

文章 0 评论 0

轻许诺言

文章 0 评论 0

信馬由缰

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文