问题标签 [libc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
845 浏览

php - 使用 dlsym 进行库插入

我正在编写一个插入库来跟踪 libc 中某些库函数的使用情况,例如 open()、close()、connect() 等。它通常在大多数应用程序上运行良好。但是,当我使用 PHP 进行尝试时,特别是使用 PHP 的 MySQL 模块时,没有跟踪该模块内对 libc 的任何函数调用(因此没有 connect()、没有 socket() 等)。'strace' 告诉我系统调用了 socket()、connect() 等。在模块和libmysqlclient.so.16.0.0上运行'file'表示它们都是动态链接的。所以这应该不是静态链接引起的问题。可能是什么问题?

我正在使用 Fedora 11 64 位版本。

谢谢你。

0 投票
3 回答
2771 浏览

c - Stdlib itoa 函数

我在互联网上搜索并看到很多使用 itoa() 函数的代码,他们声称这个函数在 stdlib.h

我现在使用 2 个版本的 GCC:

  1. (GCC) 4.2.4 (Ubuntu 4.2.4-1ubuntu4))

  2. (GCC) 4.1.2 20080704 (红帽 4.1.2-44)

并且它们都没有 itoa() 函数(我编译程序和错误:未定义对 `itoa' 的引用)。

有任何想法吗?谢谢。

0 投票
2 回答
1124 浏览

debugging - 在 Mac OS X 上,如何获得 System/LibC 的调试版本以进行源代码级调试?

我从 opensource.apple.com 下载了 LibC 源代码,但由于它是一个整体库 /usr/lib/libSystem.B.dylib 的一部分,我是否必须以某种方式重建整个东西?

我有一个从 Linux 移植的 BSD 命令行程序。我希望能够在 LibC 函数中设置断点并逐步执行。我正在尝试解决我的程序中似乎是堆损坏的问题(这在 Linux 上不会发生 - 我已经移植回 Linux 并在那里运行 memcheck。)

0 投票
6 回答
9914 浏览

c - 失败的 malloc() 的单元测试

单元测试涉及失败的代码路径的最佳方法是什么malloc()?在大多数情况下,这可能无关紧要,因为您正在做类似的事情

但是在某些情况下,除了死亡之外,您还有其他选择,因为您已经分配了一些额外的东西用于缓存或其他任何东西,并且您可以回收该内存。

但是,在那些您可以尝试从失败malloc()中恢复的情况下,您在非常不寻常的代码路径中做一些棘手且容易出错的事情,这使得测试变得尤为重要。你实际上是怎么做的?

0 投票
2 回答
537 浏览

iphone - 与 libc 链接混乱

我有一个编译成 .a 文件的库,链接到我的应用程序。(iphone,用 Xcode 开发)

一切似乎都很好,链接似乎成功了,但是当我运行程序时它崩溃了。崩溃点是静态链接库中的 memcmp() 调用。调试器显示了各种名称中带有“dyld”的东西,因此无论出于何种原因,它似乎都无法解析 memcmp,开始寻找动态库,然后失败。

AFAIK memcmp 在 libc 中,所以应该不是问题。(也尝试将 -lc 传递给链接器,但正如我所料,它没有帮助)

那么它应该如何工作呢?为什么静态链接库不能使用 libc 中的任何内容?我应该如何编译它?

谢谢

0 投票
6 回答
47559 浏览

c - 如何用 C 编写我自己的 printf()?

实际上,我正在尝试printf()使用 varags 在 C 中编写自己的代码。但我没有得到正确的解决方案。谁能帮我吗?

0 投票
4 回答
2454 浏览

assembly - 装配分段错误

我在运行以下汇编代码时遇到错误

它在 C 库调用的部分遇到分段错误:调用 printf 它正在 x86_64 模式下运行。关于 c 库,我在编译 x64 代码时遗漏了什么?还是代码有问题

谢谢

0 投票
2 回答
615 浏览

c++ - 与 libc-dbg 和 libc-prof 链接

我安装了多个版本的 libc,如何在编译时选择要链接的版本?

现在我正在编译

0 投票
6 回答
17559 浏览

documentation - 我在哪里可以在线浏览 libc 的源代码(如 doxygen)

有时想在stdlib中查找函数的实现,我已经下载了源代码,但是很乱。

只是 greping 并不适合,因为点击量很多。

有谁知道有文档的网页 doxygen 样式。

linux内核也是如此。

谢谢

0 投票
4 回答
38244 浏览

c - C 中的 fgets() 函数

我知道每个人都告诉我使用 fgets 而不是因为缓冲区溢出而得到。但是,我对fgets(). 据我了解, fgets 取决于:

char* str是将存储我的输入的 ptr。

num是要读取的最大字符数。

但什么是FILE *stream?如果我只是提示用户输入一个字符串(比如一个句子),我应该只输入 " stdin" 吗?

我应该FILE *stdin在顶部附近输入main()吗?