问题标签 [gcc]

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.

0 投票
11 回答
364921 浏览

c - 如何修复“在 C99 模式外使用的 for 循环初始声明”GCC 错误?

我正在尝试解决3n+1 问题,我有一个for看起来像这样的循环:

不幸的是,当我尝试使用 GCC 编译时出现此错误:

3np1.c:15:错误:在 C99 模式外使用的“for”循环初始声明

我不知道C99模式是什么。有任何想法吗?

0 投票
11 回答
1450 浏览

c - Is GCC broken when taking the address of an argument on ARM7TDMI?

My C code snippet takes the address of an argument and stores it in a volatile memory location (preprocessed code):

I used an SVN version of GCC for compiling this code. At the end of function foo I would expect to have the value 1 stored in the stack and, at 0x40000d4, an address pointing to that value. When I compile without optimizations using the flag -O0, I get the expected ARM7TMDI assembly output (commented for your convenience):

It clearly stores the argument first on the stack and from there stores it at 0x40000d4. When I compile with optimizations using -O1, I get something unexpected:

This time the argument is never stored on the stack even though something from the stack is still stored at 0x40000d4.

Is this just expected/undefined behaviour? Have I done something wrong or have I in fact found a Compiler Bug™?

0 投票
6 回答
1633 浏览

c - 应该使用哪个 4.x 版本的 gcc?

我工作的产品组目前正在使用 gcc 3.4.6(我们知道它很古老)作为大型低级 c 代码库,并希望升级到更高版本。我们已经看到在我们测试过的所有硬件平台上测试不同版本的 gcc 4.x 的性能优势。然而,我们非常害怕 c 编译器的错误(从历史上看是有充分理由的),并且想知道是否有人知道我们应该升级到哪个版本。

人们是否将 4.3.2 用于大型代码库并觉得它运行良好?

0 投票
11 回答
460492 浏览

c++ - 如何列出 .so 文件中的符号

如何列出从 .so 文件导出的符号?如果可能的话,我还想知道它们的来源(例如,如果它们是从静态库中提取的)。

我正在使用 gcc 4.0.2,如果这有什么不同的话。

0 投票
3 回答
24076 浏览

c++ - 调试链接错误的最佳实践

在使用 C++ 构建项目时,我发现调试链接错误很棘手,尤其是在获取其他人的代码时。人们使用什么策略来调试和修复链接错误?

0 投票
9 回答
123955 浏览

c - 如何在 Cygwin 中执行文件?

如何a.exe使用 Cygwin shell 执行?

我在 Windows 上的 Eclipse 中创建了一个 C 文件,然后使用 Cygwin 导航到该目录。我在 C 源文件上调用了 gcc 并a.exe生成了。我想跑a.exe

0 投票
5 回答
2724 浏览

exception - 可移植地处理 C++ 中的异常错误

我正在将 Visual C++ 应用程序移植到 GCC(应该建立在 MingW 和 Linux 上)。

现有代码__try { ... } __except(1) { ... }在一些地方使用块,因此几乎没有什么(可能是内存不足类型错误?)会使程序退出而不做一些最小的日志记录。

用 GCC 做类似的事情有哪些选择?

编辑:感谢 Visual Studio 中指向 /EH 选项的指针,我现在需要一些关于如何在 Linux 上处理信号的示例。我从 2002 年发现了这条消息。

除了我应该注意的其他信号SIGFPESIGSEVG?(主要关心那些可能从做错事中提出的问题)

赏金信息:我希望我的应用程序能够在退出之前自行记录尽可能多的错误情况。

我可能会收到哪些信号,哪些信号通常不可能在之后记录错误消息?(内存不足,还有什么?)

我如何以一种可移植的方式处理异常和(最重要的)信号,使代码至少在 Linux 和 MingW 上运行相同。#ifdef 没问题。

我不只是有一个记录失败的包装进程的原因是,出于性能原因,我保存将一些数据写入磁盘直到最后一分钟,所以如果出现问题,我想尽一切可能尝试在之前写出数据退出。

0 投票
3 回答
171932 浏览

c - 警告/错误“函数声明不是原型”

我有一个我创建的图书馆,

文件mylib.c:

文件mylib.h:

在我的程序中,我试图调用这个库函数:

文件myprogram.c

当我尝试编译此程序时,出现以下错误:

我正在使用:gcc (GCC) 3.4.5 20051201 (Red Hat 3.4.5-2)

声明函数原型的正确方法是什么?

0 投票
5 回答
1490 浏览

c++ - 混合 C/C++ 库

gcc 是否可以链接到使用 Visual C++ 创建的库?如果是这样,这样做是否会产生任何冲突/问题?

0 投票
8 回答
13820 浏览

c++ - 测量 C++ 中的异常处理开销

在 C++ 中测量异常处理开销/性能的最佳方法是什么?

请提供独立的代码示例。

我的目标是 Microsoft Visual C++ 2008 和 gcc。

我需要从以下情况中获得结果:

  1. 没有 try/catch 块时的开销
  2. 有 try/catch 块但不抛出异常时的开销
  3. 抛出异常时的开销