glibc相关内容

glibc中的fputwc(),putwc()和putwchar()的定义不一致

为什么fputwc(),putwc()和putwchar()接受类型为wchar_t而不是wint_t的参数? 这与对应的非宽字符函数fputc(),putc()和putchar(),矛盾,后者采用int,而不是char . 解决方案 这是因为wchar_t要求保存WEOF值,而char不需要保存EOF值. 对于char,fputc(),putc()和putchar()函数需要接受可 ..
发布时间:2020-11-15 23:57:53 其他开发

寻找snprintf()的C源代码

我需要将snprintf()移植到另一个不完全支持GLibC的平台上. 我正在寻找Glibc 2.14源代码中的基础声明.我遵循许多函数调用,但是卡在vfprintf()上.然后,它似乎调用_IO_vfprintf(),但我找不到该定义.可能是宏混淆了事物. 我需要看一下真正的C代码,它扫描格式字符串并计算如果输入缓冲区足够大的话它将写入的字节数. 我也尝试在newlib 1.1 ..
发布时间:2020-11-15 23:57:51 其他开发

gets()函数和输入中的'\ 0'零字节

如果C语言中的gets()函数从文件中读取了零字节('\0'),它会停止吗? 快速测试:echo -ne 'AB\0CDE' 谢谢. 此问题来自以下问题的评论:返回libc-问题 PPS gets功能很危险,但这是关于此功能本身的问题,而不是有关是否应该使用它的问题. 解决方案 gets()的行为是,遇到换行符或遇到EOF时,它将停止.不管它是否读取\0个字节. ..
发布时间:2020-11-15 23:57:48 其他开发

"C或gcc"表示就像“鸡还是蛋" ? :(

可能重复: 如何引导gcc/g ++? 我想知道gcc是如何编译的,因为我们都知道它是用C编写的. 他们是否使用了其他一些编译器来编写gcc? 如果是这样,我可以使用相同的编译器来编译我的C程序吗? 解决方案 这里没有鸡肉和鸡蛋. glibc是使用您使用的编译器进行编译的. 该编译器首先使用同一编译器的早期版本进行编译.然后它也可以自行编译. 真正的鸡和蛋问 ..
发布时间:2020-11-15 23:57:44 其他开发

找不到GLIBC_2.27 Ubuntu 16.04

我要运行的软件之一需要GLIBC_2.27,而我所看到的只是控制台上的此错误: /lib/x86_64-linux-gnu/libm.so.6: version 'GLIBC_2.27" not found 当我运行此命令ldd --version时,我得到以下输出: ldd(Ubuntu GLIBC 2.23-0ubuntu11) 2.23 如何将GLIBC更新为2.27并摆 ..
发布时间:2020-11-15 23:57:39 其他开发

我可以在Windows下使用glibc吗?

是否可以(或可以)在Windows下使用glibc(作为msvcrt的替代品)?我知道这是一个愚蠢的问题,像cygwin这样的答案会弹出,但是我真的在问: 是否可以链接到Windows上的glibc并使用msvcrt之类的所有库函数? 解决方案 可能存在一种解决方法:如果某人结合了 ..
发布时间:2020-11-15 23:57:10 C/C++开发

在装有dlopen的库中使用std :: thread会导致sigsev

我最近发现使用std::thread和dlopen的奇怪行为. 基本上,当我在使用dlopen加载的库中执行std::thread时,会收到一个sigsev.库本身与pthread链接,而调用dlopen的可执行文件则不是. 一旦我将可执行文件链接到pthread或库本身,一切正常.但是,我们使用的是基于插件的基础结构,在该基础结构中,我们不知道应用程序本身是否与pthread链接在一 ..
发布时间:2020-11-15 23:57:06 C/C++开发

不同版本的glibc的兼容性如何?

特别是: 是否可以确保glibc 2.x的所有版本都是二进制兼容的? 如果没有,如何在已为其他版本编译的系统上运行二进制文件(游戏)?我可以在其他文件夹中安装glibc吗? 我的具体问题是glibc 2.14(我拥有的)和2.15(游戏想要的)之间的兼容性. 我也许还会得到glibc 2.13的版本,但是我不确定该版本是否可以在2.14上运行. 解决方案 通常,为较 ..

/lib64/libc.so.6:找不到版本"GLIBC_2.14"

我遇到有关glibc的以下错误. ./simulator: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./simulator) 我已经阅读了有关此错误的多个文档,并且我了解到程序simulator是使用glibc的更高版本编译的,并且正在运行的计算机具有较低的版本. simulator是在Ubuntu 14 ..
发布时间:2020-11-15 23:56:59 其他开发

%m格式说明符是什么意思?

此代码的输出打印为“成功". printf("%m\n"); 解决方案 m转换说明符不是C,而是对printf的GNU扩展: 来自GNU文档: http://www.gnu.org/软件/libc/manual/html_node/Other-Output-Conversions.html “%m"转换会打印与errno中的错误代码相对应的字符串.请参阅错误消息.因此 ..
发布时间:2020-11-15 23:56:55 其他开发

glibc,glib和gnulib

gnulib 解决方案 glibc是核心的C运行时库.它提供了printf(3)和fopen(3)之类的东西. glib是用C编写的基于对象的事件循环和实用程序库. gnulib是一个提供从POSIX API到本机API的适配器的库. 这三个都用于完全不同的任务. ..
发布时间:2020-11-15 23:48:43 其他开发

如何在现有的libstdc ++中使用备用glibc?

我需要使用glibc(2.18)的自编译版本,比系统上的默认版本(2.15)更新.我可以编译和链接C ++程序,但是当我尝试运行它时,出现关于libstdc++.so.6的错误. (C程序似乎可以正常工作.)是否需要针对较新的glibc重新编译gcc才能使其正常工作?为什么? (更新:我已经弄清楚了这部分,但是在底部还有其他一些问题.) 这是一个示例C ++程序: #include ..
发布时间:2020-11-13 00:12:56 服务器开发

ubuntu中的libc或glibc?

我对这些库有些困惑.我现在正在使用Ubuntu,我使用的是g ++ 5,我看到我的应用程序链接在libc.so中.它是Ubuntu的C标准库实现吗?与glibc不同吗? $ ldd application.exe ... libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 ... 解决方案 当前Ubuntu将glibc用于C标准库实现.原始程序包称 ..
发布时间:2020-11-12 23:35:51 其他开发

__builtin_va_start在哪里定义?

我试图找到在GCC的源代码中定义__builtin_va_start的位置,并查看其实现方式. (我一直在寻找va_start的定义位置,然后发现该宏定义为__builtin_va_start.)我在GCC 9.1的源代码目录中使用cscope -r来搜索该定义,但没有找到它.谁能指出该函数的定义位置? 解决方案 在任何地方 均未定义__builtin_va_start.它是内置的GCC编 ..
发布时间:2020-11-12 23:15:53 其他开发

Glibc,GCC,binutils兼容性

是否存在有关binutils,glibc和GCC之间的版本兼容性的官方文档?我发现此矩阵用于binutils与GCC版本的兼容性.对于GCC和glibc,最好也有这样的东西. 我要问的要点是,我需要知道是否可以构建具有“嵌入式" glibc 2.2.4的GCC 4.9.2,以便能够支持相当老的目标,例如CentOS 5. /p> 谢谢. 解决方案 使用这种新版本的gcc构建这种旧版 ..
发布时间:2020-11-12 22:45:47 C/C++开发

检测到glibc-两次释放或损坏

将代码(粘贴到下面)提交给在线gcc编译器时,出现以下错误消息. *检测到glibc /run-1326102706-2046832693/solution:两次释放或损坏(!prev):0x091901a8 * * ======= 代码如下: # include # include # include # include ..
发布时间:2020-11-10 22:07:29 C/C++开发

了解“损坏的大小与prev_size". glibc错误

我已经实现了到FDK-AAC的JNA桥.可以在此处 中找到源代码. 在对我的代码进行基准测试时,我可以在同一输入上获得数百次成功运行,然后偶尔发生C级崩溃,这将终止整个过程,并导致生成核心转储: 看着核心转储,它看起来像这样: #1 0x00007f3e92e00f5d in __GI_abort () at abort.c:90 #2 0x00007f3e92e4928d i ..
发布时间:2020-11-10 22:07:15 C/C++开发

fork()的异步信号安全性

根据Oracle的《多线程编程指南》 ,fork()应该在信号处理程序中可以安全使用.但是我的进程陷入了信号处理程序的内部,并跟踪以下回溯: #0 __lll_lock_wait_private () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:95 #1 0x00007f86e6a9990d in _L_lo ..
发布时间:2020-11-09 23:04:47 服务器开发