GCC是GNU编译器集合。它是Linux上事实上的标准C编译器,也支持许多其他语言和平台。
GCC 和 mingw 之间 .s 汇编的差异:如何在 Windows 上编译 QBE 输出?
我想使用我为Windows编译的QBE(一个简单的编译器后端)。 为了尝试一下,我想编译示例文件 hello.ssa: function w $add(w %a, w %b) { # 定义 a
在 Docker 上使用 Cmake 编译,gcc 编译器损坏
我正在尝试构建一个 docker 映像来运行 C++ 程序,但无法编译,因为出现以下错误。 /usr/share/cmake-3.10/Modules/CMakeTestCCompiler 处的 CMake 错误...
gcc -E 为 c 源文件生成中间文件,但使用 -nostdinc 选项排除标准库
我正在尝试使用 gcc -E 标志编译 gcc c 中间文件以生成调用树。 这会生成一个预处理文件来解析函数。 但是,我不希望 stdlib 函数出现在
编译器打印 HelloWorld,而 Chat GPT 表示它应该只打印 Hello
下面是我正在编译的代码: #包括 无效主() { printf("你好%c世界 “,0); } 下面是编译器的输出: 你好世界 Bing Chat-GPT 响应:开始 下面是...
我的程序在使用AddressSanitizer编译时无法启动
当我在 GCC 12.1 上启用地址清理程序 -fsanitize=address 来编译和链接项目时,程序在启动时崩溃,并显示以下错误消息 ==2795970==AddressSanitizer 检查失败...
将 Assembly 链接到 C 时出现链接错误 [对 `asm_main()' 的未定义引用]
我的确切问题是我试图从 3 个文件中获取链接的最终 exe,即: 主要的c加载器 主要的asm文件 包含函数的附件 asm 文件。 我设法将它们全部转换
Windows 11 上 Confluence Kafka Go 包和 MSYS2 GCC 的链接错误
我在安装了 MSYS2 GCC 的 Windows 11 64 位上构建 Golang 应用程序时遇到链接错误。当我尝试使用 confluence-kafka-go 包时出现问题。 错误信息...
我正在研究嵌入式系统并从头开始实现startup.c文件。创建中断向量表后,我在编辑器上收到以下错误(我使用 clangd 作为我的 LSP): 启动...
为什么 GCC 在每次循环迭代时生成数组开头的 mov 来使用 [] 访问数组? (-O3,x86)
描述 我创建了一个示例来研究 TLB 访问/未命中统计信息。示例将 1 写入数组的每个第 4096 个元素。数组有 10'000 * 4096 字节。我预计只会看到 10,000 个 TLB 商店...
FFMPEG:对“avcodec_register_all”的未定义引用不链接
所以我有一个非常示例代码来尝试解码 FFMPEG 视频流。 我的问题是 avcodec 不想链接,为此我全新安装了 Ubuntu 13.04。我已经从...构建了 ffmpeg
我编写了几个 constexpr 函数并在 static_asserts 中使用它们来控制一些资源限制。但我不仅想强制执行编译时谓词,还想查看实际值计算...
我想知道什么时候应该使用 ld 链接器而不是 gcc。 我刚刚用c++写了一个简单的hello world,当然我包含了iostream库。如果我想用 gcc 制作一个二进制文件,我只需使用: g++ he...
如何在 ARM Cortex M4 上进行未对齐的 int 存储?
C 代码如何利用 Cortex M4 的未对齐 4 字节存储指令? *(int*)p = x 大多数情况下有效,但偶尔我会得到这样的结果: 无效存储(uint8_t * p,uint32_t a,
以下代码生成使用 -O3 编译时在 GCC 12.3 中有条件执行 SIMD 的程序集。为了完整起见,代码始终在 GCC 13.2 中执行 SIMD,而从不在 cla...
我一直试图通过使用编译器生成不同优化级别的各种 C 程序的汇编程序来更好地了解幕后发生的情况。有一些...
如何在自动工具中检测 libc 使用的 Linux 发行版:glibc、uclibc、musl 等
代码中某些(例如回溯)函数有不同的实现。此实现因 libc 版本而异。就我而言,它可能是 glibc (Debian) 或 musl libc (openw...
当我运行/调试 C 程序时,malloc() 似乎正在分配“r ...”到一个指针,我不知道为什么?
我正在学习哈佛 cs50x 课程,并且我一直有目的地避免使用他们的 cs50.h 库,这样我就没有另一个障碍来重新学习如何编写某些代码......
我正在创建一个安装在另一个程序中的插件可执行文件(在本例中,它是一个将安装到 Mathematica 中的 Mathematica 插件,但我不确定这是否重要)。 我创造...
GCC 中与 MSVC 的“#pragma message”等效的是什么?
在 MSVC 上,我可以发出编译时消息,如下所示: #pragma message("...一些编译时消息...") GCC 中有等效的吗?
我不确定我问的问题是否正确,但我想知道C或ASM程序是否可以在虚拟地址0x0处写入? 我知道内核不允许在虚拟 0x0 处写入/读取...