glibc相关内容

glibc函数检索当前的可执行文件名称?

我想知道是否有可以从gcc / g ++中使用的glibc函数来检索当前的可执行文件。 这样做的目的是提供如 addr2line 的-e参数 - 从程序到打印 - 它的堆栈跟踪/ 4611112#4611112“>这个答案 解决方案 标准C和glibc,你有argv [0]: pre $ int c main int $ b argv 数组的第一个元素是程序名称。 ..
发布时间:2018-04-20 17:14:04 其他开发

未找到GLIBCXX_3.4.9

我有一个关于libstdc ++的问题。so。 我安装了一个新版本的gcc并试图编译c ++代码。编译工作,但当我尝试执行二进制文件(m5.opt是它的名字)时,我得到了以下错误: build / ALPHA_SE / m5.opt:/usr/lib64/libstdc++.so.6 :版本'GLIBCXX_3.4.9'找不到(需要build / ALPHA_SE / m5.opt)。 ..
发布时间:2018-04-20 17:08:10 其他开发

在运行configure时配置不同于默认值的编译器

我正在编译glibc库。在我这样做之前,我需要运行 configure 。但是,为了编译glibc,我需要使用不是机器上默认编译器的gcc编译器。 手册说明了以下内容。 运行configure时,在环境 中设置CC和CFLAGS变量也很有用。 CC选择将要使用的C编译器,而CFLAGS 为编译器设置优化选项。 现在我的问题是我没有该机器上的任何管理权限。那么我怎样才能使用 ..
发布时间:2018-04-20 16:53:23 服务器开发

静态链接GLIBC和专有软件许可

我对开源和许可证有基本的理解问题。有人可能请澄清以下情况的一些问题。对不起,如果它是非常基本的 我正在编写一个专有软件,我计划使用一些开源库。我还需要glibc和一个C编译器,但不希望从我的操作系统使用默认的gcc工具链,所以使用crosstools-ng构建我自己的工具链 现在在ct-ng中,我猜libstdc ++库是静态链接的(这对于c ++来说并且我不会在大多数情况下使用它), ..
发布时间:2018-04-20 16:27:38 其他开发

%ms和%s scanf之间的区别

阅读 scanf 手册我遇到下面这行: 米'字符。这与字符串转换一起使用 (%s,%c,%[), 例子说明了在某些情况下这种选择的不同和需要? C标准没有在 scanf() $ c $>格式。 GNU lib C以这种方式定义了可选的 a 指标 scanf ): 可选的 a 字符。这与字符串转换一起使用,并且减轻了调用者分配相应缓冲区以保存输入的需要:相反, scanf( ..
发布时间:2018-04-20 16:04:26 其他开发

Linux静态链接已经死了?

实际上,Linux上的 -static gcc标志现在不起作用。让我引用GNU libc FAQ: 2.22。即使静态链接的程序也需要一些共享库 ,这对我来说是不可接受的。 我可以做什么? {AJ} NSS(详情请输入'info libc'Name Service Switch'' )如果没有共享的 库, 不会正常工作。 NSS允许通过只更改一个配置 文件(/etc/nss ..
发布时间:2018-04-20 15:48:54 服务器开发

我如何链接到特定的glibc版本?

当我在Ubuntu Lucid 10.04 PC上编译一些内容时,它会与glibc链接。 Lucid使用2.11的glibc。当我在另一台装有旧版glibc的PC上运行这个二进制文件时,该命令失败,说没有glibc 2.11 ... 据我所知,glibc使用符号版本控制。我可以强制gcc链接到特定的符号版本吗? 在我的具体使用中,我尝试为ARM编译一个gcc交叉工具链。 解决方案 ..
发布时间:2018-04-20 15:41:59 服务器开发

单个主机上有多个glibc库

单个主机上有多个glibc库 我的linux(SLES-8)服务器目前有glibc-2.2.5-235,但我有一个程序赢得了在这个版本上工作并且需要glibc-2.3.3。 是否可以在同一个主机上安装多个glibcs​​? 这是我在旧glibc上运行程序时得到的错误: ./ myapp :/lib/i686/libc.so.6:未找到'GLIBC_2.3'版本(必需的./ ..
发布时间:2018-04-20 15:39:01 服务器开发

程序找不到glibc / libstdc ++的正确版本,尽管它是静态链接的

我试图用glibc静态链接我的程序,因为目标机器上的glibc版本几乎不可预知。我使用链接器标志-static-libgcc和-static-libstdc ++,它工作正常。可执行文件很大,但我可以忍受它。不幸的是,当我在目标机器上运行我的可执行文件(它在下面的例子中被命名为'mytest')时,出现以下错误: ./ mytest:/usr/lib64/libstdc++.so.6:找不 ..
发布时间:2018-04-18 20:43:17 其他开发语言

如何获得POSIX strerror_r而不是GNU版本?

我如何获得POSIX strerror_r 而不是GNU版本? 我在Ubuntu 8.04上用g ++编译,用glibc 2.7版本(基于内容)。 编辑 在上面的手册页上,它说: glibc的功能测试宏要求(请参阅feature_test_macros(7)): $ b 符合XSI的版本strerror_r ): (_POSIX_C_SOURCE> = 200112L ..
发布时间:2018-04-18 20:28:21 其他开发语言

什么样的问题会导致缺乏解除分配?

我目前遇到了一个问题,我得到了 ***检测到了glibc *** ./efit:free():invalid下一个大小(快):0x00000000006127f0 *** 与通常的内存映射和回溯信息一起提供 glibc 错误。然而,我无法找到这个问题的原因。这似乎(基本上)我的整个程序是在这种情况发生的时候完成的。我在网上阅读的一件事是,这可能是由于缺乏解除分配。现在,我一直在运行该程 ..
发布时间:2018-03-16 17:28:08 其他开发

等同于各种Unices上的fesetflushtozero()

HP-UX的libc具有 fesetflushtozero 来切换“渐变下溢”和“变为零”之间的浮点行为。 解决方案 正如你无疑指出的那样,这样做(就此而言,没有“清零”的标准定义,也没有硬件实现的任何要求)。因此,所有这些做法都是针对平台的。要添加一些更多的名单,因为这是一个有用的参考: OSX / Intel: fesetenv(_FE_DFL_DISABLE_SSE_DENORM ..
发布时间:2017-12-21 22:15:23 其他开发

IEEE-754浮点精度:允许多少误差?

我正在从 sqrt 函数(对于64位双精度) “rel =”nofollow“> fdlibm 到我目前正在使用的模型检查器工具( cbmc )。 作为我的一部分,我阅读了很多关于ieee-754标准,但是我认为我不了解基本操作的精度保证(包括ieee-754)。开方)。 测试我的fdlibm的sqrt端口,我在64位双精度上用sqrt计算了以下值: SQRT(1977061516 ..

打开O_CREAT |在Linux上的NFS的O_EXCL?

在Linux 2.6内核和NFSv3中,当 open(“fname”,O_CREAT | O_EXCL)有效时,当前规范打开(2)系统调用文档( http://www.kernel.org/doc/man-pages/online/pages/man2/open.2.html )说一切都很好: - O_EXCL - ... 在NFS上,仅在使用NFSv3时才支持O_EXCL或 ..
发布时间:2017-11-04 21:20:41 服务器开发

linux - 为什么使用 ltrace 调试 bash 脚本时, __libc_start_main 运行时间特别长?

一个普通的脚本(公司的代码,源码就不放了),里面大概会运行一千个子进程,然后我 ltrace -c -f 上去想看一下运行情况,结果速度比正常运行时慢了好多好多,然后打出来的结果是这样的 第一行那个 __libc_start_main 函数的调用时间明显是不正常的,请问这是什么原因,是使用 ltrace 导致的吗? ..
发布时间:2017-09-06 08:01:32 服务器开发

在Linux上解析$ PATH时,需要考虑哪些角落?

我正在使用一个C应用程序,必须走$ PATH才能找到二进制文件的完整路径名,唯一允许的依赖关系是glibc(即不调用外部程序)。在正常情况下,这只需要通过冒号分割getenv(“PATH”)并逐个检查每个目录,但我想确保覆盖所有可能的角落。我应该注意什么?特别是相对路径,以〜意为扩展为$ HOME的路径,或包含以下内容的路径允许? 解决方案 p>有一件让我惊讶的是, PATH 中的空字符串表 ..
发布时间:2017-08-25 19:38:03 服务器开发

如何使用getaddrinfo_a与glibc进行异步解析

一个经常被忽视的功能,不需要外部库,但基本上没有任何文件。 解决方案 更新(2010-10-11):linux手册页现在有getaddrinfo_a,您可以在这里找到: http ://www.kernel.org/doc/man-pages/online/pages/man3/getaddrinfo_a.3.html 作为免责声明,我应该补充说,我对C很新,但不完全是一个新手,所以 ..
发布时间:2017-06-09 20:32:48 Wireless/无线

glibc backtrace - 无法将输出重定向到文件

我正在调试一个C程序(我没有写)。我已经启用了所有的内部调试工具(一大堆printf),并且我写了一个使用proc_open()的小PHP脚本,并且只抓住了stdout和stderr,并在一个文件中对它们进行时间坐标。 目前,该二进制文件正在使用glibc捕获的realloc()错误,并打印了一个glibc回溯,以:开头: *** glibc detected *** / sbin ..
发布时间:2017-04-18 03:02:37 开发方法