问题标签 [libgcc]
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.
c - 如何安装 16 位版本的 libcc
我正在尝试编译以获取系统的内存映射。OSDev 显示了一些代码如何做到这一点。
代码如下:
显然代码必须以 16 位模式编译。所以我用
gcc -m16 smapentry.c -o smap
了这导致了一个错误,上面写着。
这意味着我安装了 64 libgcc。因此,-m64 和 -m32 可以正常工作。只有 -m16 不起作用。看来我需要安装 libgcc 版本来编译 16 位代码。我应该使用哪个库?
c - 从 uint64_t 转换为 double
对于包含双浮点指令的 STM32F7,我想uint64_t
将double
.
为了测试这一点,我使用了以下代码:
默认情况下(如果DO_NOT_USE_UL2D
未定义)编译器(gcc 或 clang)正在调用函数:__aeabi_ul2d()
这在执行指令的数量上有点复杂。在此处查看汇编代码:https ://github.com/gcc-mirror/gcc/blob/master/libgcc/config/arm/ieee754-df.S#L537
对于我的特定示例,它需要 20 条指令而无需进入大多数分支
如果 DO_NOT_USE_UL2D
定义了,编译器会生成以下汇编代码:
代码比较简单,只有10条指令。
所以这里的问题(如果DO_NOT_USE_UL2D
已定义):
- 我的代码(在 C 中)是否正确?
- 我的代码比
__aeabi_ul2d()
函数慢吗(不是很重要,但有点好奇)?
我必须这样做,因为我不允许使用 libgcc 中的函数(有很好的理由......)
请注意,这个问题的主要目的不是关于性能,我真的很好奇 libgcc 中的实现,我真的很想知道我的代码是否有问题。
android - 在 Android 中迁移到 LibC++ 后观察到 Size 的增加
我正在努力从 Gnustl迁移到 LibC++,并且在 Android 中从 gnustl 迁移到 LibC++ 后,我观察到总体大小增加了 8-10% 。我们添加的一些可以解释大小的附加依赖项是,
• 在每个so 中静态链接来自libc++ 的附加libunwind.a。
• 重写typeInfo 类,尤其是由于检查typeInfo == 运算符的行为不同。
但即使在这两个变化之后,我也不明白是什么导致了整体尺寸的增加。我最初怀疑 LibC++ 的引入以某种方式禁用了调试符号剥离,但这也不是真的,我已经通过显式禁用-Wl,--gc-sections & -ffunction-sections -fdata-sections 进行了验证,这进一步增加了生成的 SO 和 APK。
由于许多其他人已经经历了这个循环,所以我想问一下,其他人是否也观察到了使用 LibC++ 时增加大小的这些副作用?
谢谢/
rust - 如何在 rust 中静态链接 libgcc
我正在尝试用静态链接的 libgcc 编译一个 Rust 程序。
该程序旨在initramfs
在受限环境中运行,并针对不同平台(arm、x86_64)进行编译。
目前我唯一的解决方案是针对生成静态链接二进制文件的 musl 进行编译。
不幸的是,这给构建过程增加了一些复杂性——我还没有找到在 x86 上交叉编译 arm-musl 的方法,而且我有额外的安装要求 (musl-gcc)。
我试图添加这个:
...to .cargo/config
,但据我了解+crt-static
仅适用于 Windows,并且-static-libgcc
也没有任何效果。
c - 交叉编译时添加 -O2 选项会导致展开回溯失败
-funwind-tables
交叉编译时添加,可以通过_Unwind_Backtrace and _Unwind_VRS_Get
libgcc库中的interface()成功展开回溯。但是当我在交叉编译时添加 -O2 选项时,展开回溯会失败。我通过-Q -O2 --help=optimizers
打印出来优化和测试,但是结果和-O2不一样,很奇怪,
arm - Yocto 包在安装 deb 文件时具有未满足的依赖关系
我想在我的armhf7 板上安装ws-rtsp-proxy_1.8-4_armhf.deb , 同时我得到了错误。但我有我在下面附加的所有依赖项。
但是正如您所见,并且已经存在libgcc
:libssl1
unname -a
我该如何解决这个问题?
编辑 我从这个站点下载了 ws-rtsp-proxy_1.8-4_armhf.deb -> https://streamedian.com/我尝试将它安装在我的 armhf 板上。我下载的 deb 是 Raspbian 9.3(.deb)
或者 libgcc 和 libssl 已经存在于我的 rootfs 中
linux - 定义 libgcc_s.so.1 的位置
首先,我在一个没有 SUDO 权限的 Debian VPS 中,不可能安装任何东西。
我想运行一个程序:
它告诉我它需要 libgcc_s.so.1:
我的问题是,有没有一种方法可以运行程序而无需安装 gcc-multilib(没有 sudo)?我想也许我可以在本地下载 gcc-multilib 并指定执行路径,但我不知道如何。
c++ - libstdc++ 和 libgcc 前向兼容性
根据 GCC ABI Policy and Guidelines 页面,我了解到他们试图保持前向兼容性,但我想知道这在多大程度上是正确的,或者我是否遗漏了一些东西。
我目前正在尝试在带有 libstdc++ 6.0.19 的 CentOS 7 上使用 gcc 4.1.2 / libstdc++ 6.0.8 运行基于 red hat 5 构建的 C++ 软件。
我遇到了奇怪的行为,例如随机崩溃(可能会工作一段时间,然后系统崩溃 30 分钟,然后再次工作......)或内存猛增以使用所有 64GB 服务器(以前从未见过这个问题)。
我似乎通过静态链接 libgcc 和 libstdc++ 解决了其中一个行为不端程序的问题。几个小时过去了,没有崩溃。我正在考虑使用 LD_LIBRARY_PATH 并将库与可执行文件一起发送。
但是将相同类型的解决方案应用于整个系统将非常耗时,所以如果有人能告诉我我是否走在正确的轨道上,我将不胜感激。
- 编辑 -
我忘了提,有些库是静态链接到 libstdc++ 的,有些是动态链接的,所以我有以下情况:
所以这里我有一个 libstdc++ 是系统的,另一个是编译器的。
opencv - 无法在 Heroku 上部署 Streamlit 应用程序 - 缺少 libgcc_s.so.1
概述:
我正在尝试部署一个使用 OpenCV 和 Tensorflow 对人的面部表情进行分类的 Web 应用程序。因此,一个人上传了一张图片,应用程序会在面部周围生成一个带有该人表情的边界框。当我在本地机器上运行 Streamlit 应用程序时,它与相同的 requirements.txt 完美配合。但是,该应用程序在 Heroku 上不断崩溃。
这是日志的输出:
这是我的 Procfile 的输出:
这是我的 setup.sh 的输出:
这是 GitHub 存储库的链接: https ://github.com/Manas73/fer-2013
debian - apt get update 在使用 debian 源时发布错误
我的dockerfile如下:
过去几个月没有运行构建,现在我在构建时遇到以下错误
我尝试完全删除 gcc 但没有运气.. 也尝试了多个其他 debian 源但没有运气,有人遇到过类似的问题吗?