GCC是GNU编译器集合。它是Linux上事实上的标准C编译器,也支持许多其他语言和平台。
宏定义中双重否定的目的是什么,例如 (!!(expr))? [重复]
可能的重复: C++ 代码中的双重否定。 我正在阅读代码库,发现如下内容: #define uassert(msgid, msg, expr) (void)((!!(expr))||(uasserted(msgid, msg), 0)) 我可以...
GCC 如何连接多个 C++ std::string 变量?
我对 GCC 中 std::string 连接的内部实现感兴趣。具体来说,假设我想连接一些相对较大的字符串a和b。 我对字符串非常警惕
我想知道是否有一个工具/GCC 编译开关可以用来在运行前查看 GCC 编译器的跟踪/输出。一般来说,我希望有一个注释工具...
在 C++ 中,原始类型(int、double、char、...)未定义,因此行为未定义。基本类型没有默认值,因为它们没有构造函数。但是编译器考虑...
我正在测试以确保我的交叉编译器正常工作。 当我编译 hello world 时,它似乎编译得很好,但是当我将 hello.cpp 更改为循环 elf 文件 1000 次的同一程序时
有没有办法在包含在同一文件中的不同文件中使用相同的#define语句
所以,我有这样的文件结构: 文件A 文件B 文件C 文件A包含文件B和文件C 文件B有: #定义图像(i,j,w)(图像[((i)*(w))+(j)]) FileC 有: #定义图像(i,j,h)(...
我的代码中的除法表达式是“ a / b ”。当它被编译为汇编时,在正常的除法指令之后有一个陷阱测试指令(MIPS汇编中的teq)。 所有编译器都会广告...
有没有人见过不同程序的真实世界数字,这些程序使用 C/C++ 编译器提供的反馈优化来支持分支预测、缓存预加载功能等...
我对编译器了解不多,但知道它们足够复杂和智能,可以优化你的代码。 假设我的代码如下所示: 字符串 foo = "酒吧"; for(int i = 0; i < foo.leng...
GCC 错误:嵌套名称说明符中使用的类型“claculator”不完整
我开发了一个库,当我用GCC(在带有CodeBlocks的Windows中)编译我的代码时,源代码无法编译并出现此错误: 错误:嵌套名称中使用的“claculator”类型不完整
有什么方法可以(暂时)恢复旧的 G++3.2 版本而不修改新版本吗?
早些时候我有G++ 3.2版本..最新我安装了GCC 4.5.2 我有 EDG vold 版本 EDG 3.10 现在的问题是当我尝试使用 EDG 运行 C++ 文件时(通常运行 EDG,G++ 是需要的...
GCC 选项:对没有 return 语句的非 void 函数发出警告
如果有一个函数具有非 void 返回值,但在其定义中不包含 return 语句,是否有一个 GCC/g++ 选项会生成错误/警告? 例如。: int add(int a, int ...
是否存在任何情况下有效的 C 代码无法使用 g++ 正确编译[重复]
可能的重复: “C++ 的 C 子集”-> 哪里不是?例子? 我知道 C 是 C++ 的子集(即不存在不是有效 C++ 代码的有效 C 代码)。 我的问题...
编译/链接一些 .c .cpp 和 .h 文件后,会出现一些额外的 .h~ 文件。当我使用 cat 查看它们时,它们似乎具有原始 .h 文件的确切内容。 顺便说一句,t...
如何使用 fmt 的范围支持可靠地格式化 std::vector<bool>?
我在尝试跨不同环境格式化布尔向量时遇到不一致的行为: #包括 #包括 #包括 int main() { ...
如何找出在 Ubuntu 22.04 上使用 GCC 11 构建时 gcc 无法链接我的库(仅使用 lib 构造函数)的原因? 我在这里设置了一个小例子来尝试复制问题:https://
我正在尝试实现带有舍入的整数除法。显然,默认情况下整数除法会取整,我想我可以使用余数来确定是否应该在结果中加 1。
我如何在 Windows powershell 上的 cmake 中正确包含带空格的路径,并使用变量或命令对其进行扩充以传递给 gcc?
唯一有效的方法是手动将整个路径与单个 qoutes '. 像 cmake -G Ninja -DCMAKE_CXX_COMPILER=g++ -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_FLAGS='-IC:/Program" "F...
为什么我的 C 程序中出现“程序失败:内存故障,核心转储”?
该程序从标准输入读取文本,并构建一个包含输入中各个单词的二叉搜索树。程序读取输入,直到没有更多数据可用为止,计算
我的目标是将 Rust 程序编译为尽可能小的二进制文件并提取机器代码。我编写了一个非常简单的程序来测试。 .cargo/配置 [目标.x86_64-pc-windows-gnu] rustflags = [...