Windows环境下增加c/c++编译堆栈空间的方法(CMD,DEV,CLion,VS2022)
Posted 小哈里
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows环境下增加c/c++编译堆栈空间的方法(CMD,DEV,CLion,VS2022)相关的知识,希望对你有一定的参考价值。
文章目录
1、CMD
-
编译指令:
g++ a.cpp -o a.exe -Wl,--stack=268435456
其中:268435456 = 256×1024×1024,即256MB -
O2优化:
-O2 -Wall -Wextra -Wl,--stack=536870912
2、DEV
- →上方工具栏→ 工具[T] → 编译选项[C]
→ 勾选“编译时加入以下命令”并加入一句 -Wl,–stack=268435456
→ 点击下方“确定[O]”即可
3、CLion
-
在CmakeLists.txt中加入下面这句
set(CMAKE_EXE_LINKER_FLAGS "$CMAKE_EXE_LINKER_FLAGS -Wl,--stack,999999999999")
-
即可成功运行
-
参考如下配置:
cmake_minimum_required(VERSION 3.15) project(TestProject) set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX FLAGS -fexec-charset=GBK) #set(CMAKE_CXX_FLAGS "$CMAKE_CXX_FLAGS -std=c++11") # 修改clion 内存 MATH(EXPR stack_size "4*1024*1024") set(CMAKE_EXE_LINKER_FLAGS "-Wl,--stack,$stack_size") add_executable(TestProject 1_01Package.cpp) add_executable(2_wholePackage 2_wholePackage.cpp) add_executable(3_multiplexPackage 3_multiplexPackage.cpp) add_executable(4_mixPackage 4_mixPackage.cpp) add_executable(5_TwoDimensionPackage 5_TwoDimensionPackage.cpp) add_executable(6_GroupPackage 6_GroupPackage.cpp) add_executable(7_DependOnPackage 7_DependOnPackage.cpp) add_executable(8_GeneralizationPackage 8_GeneralizationPackage.cpp) add_executable(9_ChangePackage 9_ChangePackage.cpp)
4、VS2022-Cmake
- 同CLion,在Cmakelists中加入配置
5、VS2022-C++控制台
-
在项目中右键,打开项目属性
-
修改配置属性,链接器,系统,堆栈保留大小。
-
补充一个fopen报错的解决
以上是关于Windows环境下增加c/c++编译堆栈空间的方法(CMD,DEV,CLion,VS2022)的主要内容,如果未能解决你的问题,请参考以下文章
如何在 c / c++ 程序中检测可能/潜在的堆栈溢出问题?