段错误之后:有没有办法检查指针是否仍然有效?
我计划创建一个日志记录/跟踪机制,它将字符串文字的地址 (const char*) 写入环形缓冲区。这些字符串位于只读数据段中,由预处理器使用 __function__ …
GCC comp_except_specs 和异常处理/解析
我有点不知所措...我已经开始深入研究 GCC G++ 并尝试在函数抛出异常规范中未定义的异常时抛出警告/错误,反之亦然(你知道,就像爪哇)。 我感觉我走…
具有 typedef 整数的 Printf,尤其是 64 位
考虑一下这段代码: typedef int64_t Blkno #define BLKNO_FMT "%lld" printf(BLKNO_FMT, (Blkno)some_blkno) 这在 x86 上运行良好。在 x64 上,int64…
一段使用 gcc 编译但不使用 g++ 的代码
可能的重复: 这是合法的 C++ 代码吗? “C++ 的 C 子集”->哪里不是?例子? 有人能想出一段用 gcc 或任何其他 C 编译器编译的代码,而不编译 g++…
gcc(v4.1.2交叉编译器)整数提升问题
这是测试代码。 char ch = 0xff int i = ch printf("%d\n", i) 在 i386 gcc-4.4.5 中,输出为 -1。 但在powerpc-e300c3-linux-gnu-gcc-4.1.2(MPC8315…
函数模板的显式实例化失败 (g++)
我在函数模板的显式实例化方面遇到一些问题(即链接错误)。在Visual Studio下项目链接正常,仅在g++/Unix下,使用Eclipse-CDT,链接产生错误。 在一…
gcc-4.2 失败,退出代码 1 错误
我下载了一个项目,我想尝试一下,但是当我尝试编译它时,我总是收到此错误: Build TuneIn Radio of project TuneInRadio with configuration Releas…
gcc 对什么是左值感到困惑?
gcc 在赋值错误中给了我无效的左值: -2[(size_t *)new] = 0 将代码更改为以下内容使其消失: ((size_t *)new)[-2] = 0 但据我所知,两者在 C 中都是 …
将动态大小的可变长度数组 (VLA) 初始化为 0
以下代码行在堆栈上创建一个可变长度数组: char name[length] = {'\0'} 生成以下编译器诊断信息: error: variable-sized object may not be initial…
如果我包含不必要的头文件,我可以告诉 GCC 失败吗?
我最近正在进行的项目通过打开所有最严格的 GCC 警告并迭代直到编译为止,付出了巨大的努力来清理代码。例如,现在,如果我声明一个变量但不使用它,…
编译 GTK+从 Linux 到 Windows 的应用程序
我是 Linux 新手,过去几天一直在学习 gtk+,并且想知道如何编译一个应用程序以在 Windows 而不是 Linux (ubuntu) 上运行。我在快速搜索时发现了 这个…
较高级别的 SSE 标志是否意味着 GCC / clang 中较低级别的标志?
例如,如果您使用 -msse4,这是否意味着它也将使用 -mssse3、-msse3、-msse2 等,或者您是否也必须显式添加这些标志?…
为什么我会收到 cc1plus: error: unrecognized command line option “-arch”?
/usr/bin/make -f nbproject/Makefile-Debug.mk SUBPROJECTS= .build-conf /usr/bin/make -f nbproject/Makefile-Debug.mk dist/Debug/GNU-MacOSX/cpp…
-Werror 导致编译器在 #warning 时停止。我可以做什么来防止这种情况发生?
首先,我希望它在收到警告时停止。但我也想打印出一些信息性消息(例如“回来实施这个!”)。 不幸的是,我的编译器不支持 #info、#message、#pragma…