gpt4 book ai didi

visual-c++ - 如何在没有 _alloca 的情况下进行 GCC 编译?

转载 作者:行者123 更新时间:2023-12-04 17:13:39 24 4
gpt4 key购买 nike

出于某种原因,我应该使用 gcc 编译一个 C 文件,然后链接到 Visual C++ 2008 项目。

(我使用了当前最新的 gcc 版本:cygwin gcc 4.3.4 20090804。)

但是有一个问题:gcc 总是用_alloca 分配一个大数组,

并且 VC 链接器无法解析符号 __alloca。

例如,

int func()
{
int big[10240];
....
}

尽管我没有显式调用 _alloca 函数,但这段代码使 _alloca 依赖。

(数组大小很重要。如果我更改 10240 -> 128,一切正常)

我尝试了 gcc 选项 -fno-builtin-alloca 或 -fno-builtin,但没有运气。

是否可以让 gcc 不使用 _alloca ? (或调整阈值?)

最佳答案

最好的办法是用 VC++ 编译所有代码。如果那不可能..

您应该使用 mingw gcc 而不是 cygwin 之一。它旨在输出将链接到 VC++ 运行时的代码,而不是 cygwin 库。特别是,它将调用 VC++ 运行时函数 __chkstk 而不是 __alloca。

关于visual-c++ - 如何在没有 _alloca 的情况下进行 GCC 编译?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2348172/

24 4 0
文章推荐: .net - 在构建事件中使用编译器常量
文章推荐: python - 使用 Python 函数读取 CSV 文件
文章推荐: reactjs - 类型错误 : Cannot assign to read only property 'quantity' of object '#'