标签[gcc]

GCC是GNU编译器集合。 它是Linux上事实上的标准C编译器,也支持许多其他语言和平台。

1
0回复
09

手动调用所有标志-Osuse不会产生相同的结果(GCC)

我用 -O1 编译并手动使用以下标志: 除了 根据https://gcc.gnu.org/onlinedocs/gcc-4.8.0/gcc/Optimize-Options.html (我使用 GCC 4.8.2),这应该对应于 -Os 的作用。 但是,生成的二进制文件与我使用 -Os 时不同。
0
0回复
15

GCCC++-如何使用__attribute__((packed))

有以下联合提供了基于每个位和使用原始值的整体变量的选项: 由于属性与硬件有直接关系,我真的需要避免任何编译器影响,例如在这些结构中填充。 所以我即将使用 GCC 的__attribute__((packed)) 。 我的问题是在我的例子中把它放在哪里? 我应该对这些bits进行分类bits : 或p
0
0回复
05

可以在GCC内联汇编中将注册名称传递到汇编模板中

以上是一段RISC-V代码。 reg_name来自 CLI,它是一个字符串,例如"ra"或"x1"等。 有没有办法将reg_name传递给程序集模板,以便同一个函数可以处理不同的寄存器?
0
0回复
26

Makefile问题-找不到目标文件

我正在创建自己的 Makefile 来为 ARM 设备编译 C++ 项目,如下所示。 我的所有 C++ 源文件都在src ,头文件在inc ,库文件在lib (尚未指定库)。 makefile 与 src、inc 等位于同一文件夹级别。 src 中的源文件之一称为 profile.CPP。 我遇
0
1回复
30

比较函数中的FMA指令打破了严格的弱排序属性

C++ 命名的需求比较要求比较函数遵循严格的弱排序属性。 这用于许多标准库函数,例如std::sort 。 许多现代 CPU 支持Fused-Multiply-Add 操作,可以有效地计算a + b * c并且不舍入乘法的结果。 这意味着在某些情况下,FMA 运算的结果不同于单独的乘法和加法运算。
0
0回复
07

“memcpy_4aligned”C语言编译问题

我正在使用 gcc7.3.0 编译 ac 文件目标平台是 riscv 编译器将数组的初始化优化为 memcpy_4aligned 我知道编译器会优化数组的初始化,但我对这个 memcpy_4aligned 一无所知,请帮助。 int test[8] = {1,2,3,4,5,6,7,8}; dd
0
0回复
32

使用C++/GCC/Linux有时无法捕获异常

偶尔我会遇到一段没有捕获异常的代码。 到目前为止,我不知道可能的原因是什么。 例如下面的一段代码。 打印日志消息“正在初始化”。 一些来自 module->Init() 的日志信息被打印出来 module->init() 抛出异常 不打印 catch 块中的日志消息应用程序终止
0
0回复
07

MingWglfw3在搜索-lgdi3时跳过不兼容的libgdi32.a

我正在使用 MingW 开发 Opengl,我正在测试这段代码。 此代码必须显示黑屏并立即关闭。 但是当我编译这段代码时。 错误日志显示。 这是一个构建 cli 我认为问题在于库libgdi32.a 。 但是每次我编译时都会显示此消息。 我发现什么skipping incompatible...问题
1
1回复
14

如果在使用dlopen()显式加载共享库后删除/替换共享库,会发生什么?

如果在使用 dlopen() 显式加载共享库后删除/替换共享库,会发生什么? dlopen() 是否将整个共享库加载到内存中? 或者从长远来看,dlopen() 必须不时引用驻留在文件系统中的先前加载的库。 如果是这样,我如何强制 dlopen() 将整个 .so 加载到内存中? 标志 RTLD_
0
0回复
40

无法从派生类指针转换为基类指针

我有一个简单的 3 级层次结构。 我正在尝试做这样的事情(GetCPointer 返回 C*): 但我收到此错误。 我假设这种转换是隐式的。 我也试过static_cast和dynamic_cast没有解决这个错误。 我错过了什么?
-5
1回复
37

如何将输入文件传递给gcc命令?[关闭]

关闭。 这个问题需要细节或清晰。 它目前不接受答案。 想改善这个问题吗? 通过编辑此帖子添加详细信息并澄清
0
0回复
10

进程共享pthread_cond_t在gcc8.4中不起作用,但在gcc4.8.5中起作用

最近我将我的操作系统从 RHEL 7.6(gcc 4.8.5) 升级到 RHEL 8.4(gcc 8.4),我面临着与使用pthread_mutex_t和pthread_cond_t进程同步相关的问题。 我不使用 C++ std::mutex和std::condition_variable的原因是因
5
1回复
98

什么时候在GCC上的成员函数指针中使用增量?

我正在阅读 Don Clugston 的文章Member Function Pointers and the Fastest possible C++ Delegates并且自己正在试验这些东西,但无法正确重现案例。 当然,Don Clugston 的代码是未定义的行为。 这特别是关于 GCC 对成
1
0回复
23

在MacM1中使用make时“ld:找不到架构arm64的符号”

好的,所以我想在我的系统上构建一个交叉编译器。 我正在设置环境以在 OSdev 上工作。 在构建 GCC-Cross 编译器时,我面临以下错误: 我已经下载了 GCC 文件并设置了要构建的配置。 我在使用命令时收到此错误 这是生成文件: https : //pastebin.com/cbBqwPBn
1
2回复
38

在预处理器指令中使用除#以外的其他字符

在定义预处理器指令时,有没有办法使用#以外的其他字符? 例子: 代替: 使用? , 例如:
0
2回复
10

如何获取函数指针数组以停止将函数放入ARMCortexM0和GCC上的RAM

我正在使用 ARM GCC 10.2.1 20201103 并且内存不足,因为我有一个函数数组(下面的简短示例)并且 GCC 将数组(或者可能是函数)放入 RAM 而不是 .text。 代码如下所示: 我试过使用属性((section ("text")))、"static"、"const",但无论如
-1
0回复
11

Python&gcc版本

我需要一个带有 gcc 的特定 Python 版本。 我想在 Ubuntu-18.04 中安装带有 gcc 版本 9.3.0 的 Python 3.7.4。 我浏览了很多在线文章,但找不到合适的内容。 默认情况下,在我的系统中,它总是安装 python 3.7.9 和 gcc 8.4.0。 我尝试先
0
0回复
06

crosstool-NG创建不兼容的库(.so)

我能够使用crosstool-ng构建一个 gcc 交叉编译器,使用 Windows 的CT_KERNEL="linux" ,使用cygwin作为主机。 我能够生成在 Linux 上成功运行的二进制文件(我正在使用虚拟机 CentOS 7.4 和 Ubuntu 18.04.5 进行测试)。 但是,如
-1
0回复
53

为什么程序可以在msvc上运行,却不能在gcc上编译?

当我编译代码时,它显示了错误,我尝试通过const添加left_forward ,但它仍然不起作用。 刚开始用stackoverflow,回复和处理评论很慢。 gcc 版本gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39)命令gcc test.cpp -std=
0
1回复
45

C中的运算符评估顺序,它们究竟是如何工作的?

我对运算符的求值顺序有几个疑问,在第一个例子中,变量 A 和变量 B 都可以先针对这个表达式执行 在这个例子中,如果函数 g 修改变量 A,它可能会产生副作用 比较运算符,例如 > 运算符,它们的操作数没有顺序吗? 现在再举一个例子,使用运算符, 总之,我给出的所有这些例子,求值的顺序,会不会

1 2 3 4 5 6 7 8 9 10 下一页