Mac 上 C++ 中的分段错误 11

2023-12-26

当我尝试运行这个时

int N=10000000;
short res[N];

我遇到分段错误 11

当我改变为

int N=1000000;
short res[N];

效果很好


您已经超出了操作系统指定的堆栈空间。如果您需要更多内存,最简单的方法是动态分配:

int N=1000000;
short* res = new short[N];

然而,std::vector在这种情况下是首选,因为上面要求您free用手记忆。

int N = 1000000;
std::vector<short> res (N);

如果您可以使用 C++11,则可以通过使用来节省一些时间unique_ptr数组也特化:

std::unique_ptr<short[]> res (new short[N]);

上述两种自动方法仍可使用熟悉的res[index]语法得益于重载operator[],但要获取您需要的内存操作的原始指针res.data() with vector or res.get() with unique_ptr.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mac 上 C++ 中的分段错误 11 的相关文章

  • 与 MinGW 的静态和动态/共享链接

    我想从一个简单的链接用法开始来解释我的问题 假设有一个图书馆z它可以编译为共享库 libz dll D libs z shared libz dll 或静态库 libz a D libs z static libz a 让我想要链接它 然后
  • copy_from_user() 错误:目标大小太小

    我正在为内核模块编写 ioctl 处理程序 我想从用户空间复制数据 当我编译禁用优化的代码时 O0 gflags 编译器返回以下错误 include linux thread info h 136 17 error call to bad
  • 非模板函数中的尾随返回类型[重复]

    这个问题在这里已经有答案了 我见过有人使用以下语法来实现函数 auto get next gt int 代替 int get next 我理解两者 并且我知道尾随返回类型语法对于使用 decltype 的模板代码很有用 就我个人而言 我会避
  • 无法在 CUDA 中找到 1 到 100 数字的简单和?

    我正在研究使用 CUDA 的图像处理算法 在我的算法中 我想使用 CUDA 内核找到图像所有像素的总和 所以我在cuda中制作了内核方法 来测量16位灰度图像的所有像素的总和 但我得到了错误的答案 所以我在cuda中编写了一个简单的程序来查
  • 使用 POST 的 HttpWebRequest 的性能

    我有一个用于测试网络服务的小工具 它可以使用 POST 或 GET 调用 Web 服务 使用POST的代码是 public void PerformRequest WebRequest webRequest WebRequest Creat
  • C++中类成员函数相互调用有什么好处?

    我是 C 新手 我发现下面的编程风格对我来说很有趣 我在这里写了一个简化版本 include
  • Visual Studio 2013 调试器显示 std::string 的奇怪值

    我有一个大型的 cmake 生成的解决方案 其中包含许多项目 由于某种原因 我无法查看字符串的内容 因为根据调试器 Bx Buf含有一些垃圾 text c str 正确返回 Hello 该问题不仅仅发生在本地字符串上 返回的函数std st
  • C# 结构默认值

    我有一个方法 它接受一个包含许多具有基本数据类型的字段的结构 我想传递大部分默认值 但需要进行一些调整 但我了解结构声明中的基本字段不能包含默认值声明 例如struct S int a 42 现在是这样的 OptionsStruct opt
  • 加载 QPixmap 数据的更好方法

    更好的方法来做到这一点 没有QImage QImage image width height QImage Format RGB888 memcpy image bits m frameRGB gt data 0 height width
  • 自己绘制的WPF自定义滑块

    这是我关于堆栈溢出的第一个问题 所以不要踢它 我在尝试创建 Mac 风格的滑块控件时遇到问题 我已经发现这个解决方案 http www codeproject com KB miscctrl MAC Slider aspx我已经在我的解决方
  • 注入包含接口的所有已注册实现的 Enumerable

    给出以下接口 public interface IMyProcessor void Process 我希望能够注册多个实现 并让我的 DI 容器将它们的可枚举注入到这样的类中 public class MyProcessorLibrary
  • 使用 STL 流时如何格式化我自己的对象?

    我想将我自己的对象输出到 STL 流 但具有自定义格式 我想出了这样的东西 但由于我之前从未使用过 locale 和 imbue 所以我不知道这是否有意义以及如何实现 MyFacet 和operator 所以我的问题是 这是否有意义以及如何
  • main.cpp 是必需的吗?

    我试图编译一个程序cmake 我最终删除了我的main cpp文件 我刚刚将其复合到另一个包含我的项目名称的文件中 即 我刚刚将主函数剪切并粘贴到该文件中 问题是我有一个main cpp未发现错误 不确定是否在C 一个名为main cpp是
  • 如何在Windows窗体中打开进程

    我想在我的 Windows 窗体应用程序中打开进程 例如 我希望当用户按下 Windows 窗体容器之一中的按钮时 mstsc exe 将打开 如果他按下按钮 它将在另一个容器上打开 IE DllImport user32 dll SetL
  • 从单应性估计 R/T

    我一直在尝试计算 2 个图像中的特征 然后将这些特征传递回CameraParams R没有运气 特征已成功计算并匹配 但是问题是将它们传递回R t 我明白你必须分解Homography为了使这一点成为可能 我已经使用如下方法完成了 http
  • 在一个解决方案中调用不同项目的方法

    1 个解决方案中有 3 个项目 我对第一个项目中的主文件进行的主要操作 但是我需要调用第三个项目中的方法并使用类 例如 第三个项目有 public DataClasses1DataContext base global WindowsFor
  • 在 Visual Studio 2012 Express 中设置 C++ 调试环境

    我需要调试的应用程序需要设置环境变量 这在 Visual Studio 2012 中似乎非常复杂 我想做类似的事情 set path c foo c bar c windows c program files application set
  • 让 Windows 尝试读取文件

    我正在对 Windows 文件系统进行某种封装 当用户请求打开文件时 Windows 调用我的驱动程序来提供数据 在正常操作中 驱动程序返回缓存的文件内容 但是 在某些情况下 实际文件没有缓存 我需要从网络下载它 问题是是否有可能让 Win
  • 尝试后终于没有被调用

    由于某种原因 在我的控制台应用程序中 我无法运行我的finally 块 我编写这段代码是为了测试finally块是如何工作的 所以它非常简单 static void Main int i 0 try int j 1 i Generate a
  • 使用通用存储库模式和流畅的 nHibernate

    我目前正在开发一个中型应用程序 它将访问不同站点上的 2 个或更多 SQL 数据库等 我正在考虑使用类似的东西 http mikehadlow blogspot com 2008 03 using irepository pattern w

随机推荐

  • #include 导致很多语法错误

    我的程序使用 Qt 和 OpenGL 它在 Linux 和 Mac 下都能正确编译 在Windows上编译时 我需要 include windows h才能使用OpenGL 代码如下 if defined WIN32 defined WIN
  • 不能需要全局 npm 模块

    我有以下问题 我安装 uuidnpm install g uuid 当我尝试运行以下代码时 var uuid require uuid console log uuid v1 抛出异常 module js 339 throw err Err
  • std::vector 和 C 风格数组

    我正在尝试OpenCL http www khronos org opencl 提高我们软件的速度 我们经常使用映射 为了简化 将映射表示为 std vector OpenCL API 采用原始 C 风格指针作为参数 例如上述情况中的 in
  • 如何设置PowerShell的默认目录?

    有没有办法更改 PowerShell 默认位置 如何设置PowerShell的默认工作目录 创建一个PowerShell 简介 https learn microsoft com en us powershell module micros
  • com.microsoft.sqlserver.jdbc.SQLServerException:MSI 令牌失败:无法从 MSI 端点获取令牌

    我想使用应用服务 API Java 和 MSI 托管服务身份 身份验证来访问 Azure SQL 数据库 我试图找出如何从适用于 Java 的 Azure 应用服务将 Azure sql 与 MSI 连接 这是我正在使用的连接字符串 jdb
  • 脚本脚本需要刷新页面才能运行吗?

    该脚本有助于在线商店的结帐过程 除了需要刷新页面以使程序最初运行之外 一切正常 我想知道这是否是缓存问题 因为它适用于以前查看过的其他产品 我也尝试修补 run at无济于事 我正在使用脚本式的扩展 它是一个独立的 js file User
  • 如何在 Node.js 中渲染 EJS 模板文件?

    我正在使用 Node js 并尝试呈现 EJS 模板文件 我弄清楚了如何渲染字符串 var http require http var ejs require ejs var server http createServer functio
  • 如何查看jOOQ执行的SQL语句?

    我使用 jOOQ 从表中查询 插入 更新数据 有没有办法查看JOOQ执行的SQL语句 查找您的日志配置文件 或创建一个 并设置该类的日志级别org jooq tools LoggerListener as debug or trace 例如
  • 在 netty 通道上设置套接字超时

    我有一个 netty 通道 我想在底层套接字上设置超时 默认设置为 0 超时的目的是 如果 15 分钟内没有发生任何事情 则未使用的通道将被关闭 虽然我没有看到任何配置可以这样做 而且套接字本身也对我隐藏 Thanks 如果使用ReadTi
  • 带命名空间的 xpath

    我正在尝试在 php SimpleXML 中使用 xpath 和 xml 文件 其中以下是相关片段
  • 在推出自己的结构时提供辅助函数

    如果我正在开发一个 C 共享库并且我有自己的结构 为了使库使用者更容易对这些结构实例进行常见操作 我可以在结构本身内部提供指向此类函数的函数指针吗 这是一个好的做法吗 使用不同参数并行调用实用函数等多线程处理是否会出现问题 我知道它更接近
  • IntelliJ 错误:发生 JNI 错误,请检查您的安装并重试

    我正在尝试在 intellij 中运行一个项目 每次运行特定的类时 我都会收到以下错误消息 Error A JNI error has occurred please check your installation and try agai
  • 缓冲文件中的一组行并将其存储在 C 中的数组中

    这可能是一种非常低效的方法 但它确实有效 此代码读取一个文件 一次在全局数组中存储 8 行文本 如果可能的话 希望有更好的选择来执行此操作 并分派以进行进一步处理 这是代码 int count 0 global char array buf
  • Flutter 设置状态 onPressed on RaisingButton

    我正在构建一个测验应用程序 它会在用户提交他们选择的答案后显示正确答案的解释 布局上有两个按钮 下一个问题 和 提交答案 在初始状态下 下一个问题 按钮很微妙 因为它不可点击 只有 提交答案 按钮可点击 点击这里查看初始状态的布局 http
  • 最小起订量测试无效方法

    您好 我是起订量测试的新手 很难做一个简单的断言 我正在使用一个界面 public interface IAdd void add int a int b 最小起订量IAdd接口是 Mock
  • 如何在 Rust 中使用以 f64 作为键的 HashMap?

    我想用一个HashMap
  • Elixir - 将浮点数转换为字符串

    我试图弄清楚如何将浮点转换为字符串 二进制 但似乎并不像看起来那么容易 iex 1 gt to string 1200 00 1 2e3 iex 2 gt Float to string 1200 00 1 2e3 我们需要 1200 00
  • androidcamera2将TotalCaptureResult与Frame关联起来

    这是关于 Android 的 Camera2 API 的 由于捕获结果和输出帧是异步产生的 因此可以在实际帧之前获得捕获结果 有没有好的方法将生成的帧与相应的捕获结果相关联 假设您正在谈论发送到的帧ImageReader or Surfac
  • 通过在改造中透明地发送另一个请求来处理特定错误

    这是我正在尝试处理的案例 如果执行请求 并且响应指示身份验证令牌已过期 发送刷新令牌请求 如果刷新令牌请求成功 则重试原始请求 这对于调用 Activity Fragment 等应该是透明的 从调用者的角度来看 这是一个请求 一个响应 我之
  • Mac 上 C++ 中的分段错误 11

    当我尝试运行这个时 int N 10000000 short res N 我遇到分段错误 11 当我改变为 int N 1000000 short res N 效果很好 您已经超出了操作系统指定的堆栈空间 如果您需要更多内存 最简单的方法是