2

我一直在 MacOS 上的 Rust 中开发一个 winit 图形应用程序。我基于链接器 (ld) 的默认堆栈大小似乎是 8MB。

我想知道的是:
1. 图形应用程序等必须增加其目标系统上的默认堆栈大小有多普遍?8MB应该合理吗?
2. 我知道在 MacOS 上我不能将它作为子线程运行,我猜窗口库不支持子线程事件循环。如果更大的堆栈大小是合理的,那么在 Rust 中配置它的最佳平台无关方式是什么?我构建项目的唯一cargo rustc -- -C link-args=-Wl,-stack_size,0x100000000方法是在构建依赖项之后调用。.cargo/config如果我使用上述选项创建文件,则依赖项(如libc失败)将堆栈大小设置为链接器参数仅适用于二进制文件。

我的尝试.cargo/crate

[build]
rustflags = ["-C", "link-args=-Wl,-stack_size,0x100000000"]

产生的错误:

   Compiling libc v0.2.68
error: linking with `cc` failed: exit code: 1
  |
...
  = note: ld: -stack_size option can only be used when linking a main executable
          clang: error: linker command failed with exit code 1 (use -v to see invocation)
4

0 回答 0