问题标签 [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 投票
4 回答
227842 浏览

c - 像 uint32、int32、uint64、int64 这样的类型是否在任何 stdlib 标头中定义?

我经常看到使用 uint32、uint64 等类型的源代码,我想知道它们是否应该由程序员在应用程序代码中定义,或者它们是否应该在标准 lib 标头中定义。

在我的应用程序源代码中包含这些类型的最佳方式是什么?

0 投票
1 回答
264 浏览

libc - linux内核中libC的使用及独立编程

我们可以在独立的微控制器编程中使用标准 C 库例程,但不能在 linux 内核中使用。我的问题是,在这两种情况下,当它们在目标硬件上运行时,它们都无法访问 libC,这解释了“linux 内核”的情况,但是当涉及到某些微控制器上的独立应用程序时会发生什么(比如 MSP430) .

0 投票
2 回答
1815 浏览

c - qsort 和 bsearch 指针数组

我需要对指向结构的指针数组进行排序。事实上,我需要在地址之间进行搜索,以查看数组中是否存在指向结构的给定指针。不幸的是,我在这些结构中没有任何“可比”的东西,所以我只想按地址对它们进行排序。我的代码是这样的:

我尝试创建一个 compare_funct 只是将指针转换为 int 并返回它们的差异,但它似乎不起作用。特别是,当我执行 bsearch 时,即使我知道该元素包含在数组中,我总是得到一个 NULL 作为返回值。

0 投票
1 回答
3150 浏览

c++ - 如何选择 libc6 或 libc6-dbg

我正在检查 ac 程序并想安装 valgrind,然后系统告诉我我还应该安装带有调试符号 libc6-dbg 的 libc6。

现在我的问题是,当我将来用 gcc 编译时,会使用哪个版本的 libc?

如何选择要编译的 libc6?

我不是在问如何安装它,我在 ubuntu 上,所以 apt-get install libc6-dbg 可以解决问题。

0 投票
6 回答
62913 浏览

c - 为什么 stdlib.h 中没有 strtoi?

我已经习惯了strtod和变种。我想知道为什么没有strtoi附带<stdlib.h>. 为什么整型被排除在这方之外呢?

具体来说,我要问为什么没有atoi具有安全功能的版本strtod

0 投票
2 回答
1524 浏览

python - Python ctypes 在 Linux 上从 libc 调用 reboot()

我试图reboot通过 Python 中的 libc 调用该函数,ctypes但我无法让它工作。我一直在引用该man 2 reboot页面(http://linux.die.net/man/2/reboot)。我的内核版本是 2.6.35。

下面是来自交互式 Python 提示符的控制台日志,我试图让我的机器重新启动 - 我做错了什么?

为什么不ctypes.get_errno()工作?

编辑:

通过Nemos提醒 - 我可以get_errno返回 22(无效参数)。并不意外。我应该怎么打电话reboot()?我显然没有传递函数期望的参数。=)

0 投票
3 回答
7136 浏览

shared-libraries - 是什么导致 sprof 抱怨“ld.so 检测到不一致”?

我正在尝试使用 sprof 来分析一些软件(ossim),其中几乎所有代码都在共享库中。我已经生成了一个分析文件,但是当我运行 sprof 时,我收到以下错误:

我遵循的说明说我需要 libc 版本至少 2.5-34,我有 libc 版本 2.12.2(Gentoo,内核 2.6.36-r5)。

我找不到关于错误意味着什么或(更有趣的是)如何修复它的任何解释,唯一半相关的谷歌结果是旧版本 Skype 中的错误。

0 投票
2 回答
3666 浏览

python - 使用 Pythons ctypes 从 libc 调用 uname

tl;博士

这适用于 GNU 版本的 libc(尚未尝试使用 uclibc)


原帖

以下代码段错误;我不确定我做错了什么。

这做同样的事情:

我一定是搞砸了一些基本的东西......

(我知道os.uname(),这只是一个理解练习,我失败了)

我在这里引用了 uname 手册:http://www.cl.cam.ac.uk/cgi-bin/manpage ? 2+uname

我究竟做错了什么?


编辑:

感谢Nemo,我能够获取数据;

但是,我假设我只得到“Linux”,因为这些项目是 NULL 分隔的,调节器字符串也是如此。有什么方法可以阅读NULL吗?


编辑2:

根据 Nemos 的评论,我已经尝试过这个 - 这不起作用,但我认为这可能是朝着正确方向迈出的一步......错误:

这只是不可行吗?


Edit3:(我要写有史以来最长的帖子……=P)

这可行,但是,它在打印值后会出现段错误......


最终编辑:

以下作品 - 我当然使用的是 GNU 版本的 libc。(我在 Ubuntu 机器上)所以添加域的字段就是停止段错误所需​​要的。事后看来是有道理的。:)

0 投票
1 回答
355 浏览

gcc - 如何在 opensolaris 中安装 gcc-libc6-dev?

当我./configure在opensolaris中尝试安装软件时。我有以下错误:

然后我在网上查了一下,发现它是由于缺少模块调用gcc-lib6-dev。但是我该如何安装呢?

0 投票
3 回答
1863 浏览

c - 你能从连接的 TCP 套接字中确定源 IP 和端口吗?

我想让我的服务器从连接的 TCP 套接字确定客户端的源 IP 和端口。由于我的客户端可能在 NAT 之后,我不能依赖客户端告诉我(在连接协议中)......如果可能的话,我将需要在 Windows 和 Linux 上实现它。 ..但是任何一个的答案都会帮助我开始......

我正在使用 C,我正在寻找基于 libc 或 msvcrt 的解决方案。