在制作过程中,我看到如下错误:
cc1: warnings being treated as errors
somefile.c:200: error: the frame size of 1032 bytes is larger than 1024 bytes
行号指向具有如下签名的 c 函数的右大括号:
void trace(SomeEnum1 p1, SomeEnum2 p2, char* format, ...) {
char strBuffer[1024];
...
该函数将一些内容打印到缓冲区中。
有谁知道这种类型的错误一般是什么意思?
最佳答案
我猜该例程中有一些大缓冲区是堆栈分配的;这可能会导致该函数的堆栈帧超过 1024 字节,这似乎是您正在构建的体系结构的一些编译器强制限制。可能的解决方案包括传递编译器标志以放松警告、扩大堆栈大小的上限或动态分配缓冲区。
关于c - 这个错误是什么意思: `somefile.c:200: error: the frame size of 1032 bytes is larger than 1024 bytes` ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2450845/
相关文章:
android - 如何以编程方式读取我的 Android apk 的构建日期?
go - 如何使用 Golang 包以外的名称构建可执行文件
python - 问题构建 cx_Oracle - libclntsh.so.11.1 => 未找到
build - Xcode 4 术语 "Build for testing/Build for ru
android - 使用没有运行的 Eclipse 重建 .apk
iphone - 为什么 Xcode 会在钥匙串(keychain)中自动安装(重复和过期的)证书?
python - 在不运行测试的情况下制作(从源代码安装)python