从这样的问题: SQLite的堆栈溢出运行BULK INSERT的情况下与500行REPLACE:为什么呢? ,我需要增加堆栈大小为Qt的某个线程。
我想这是跨平台的,但我最初的努力得到它工作在Windows启动。
不幸的是,没有什么我试图做成功增加了有问题的线程的堆栈大小。 (I通过将代码,以计算当前堆栈尺寸测量的堆栈大小(见以上链接),并观察到发生在1 MB,其不反映我试图设置堆栈大小堆栈溢出崩溃。)
我曾尝试以下的事情:
在Qt的.pro
工程文件:
QMAKE_CXXFLAGS += /F 32000000
QMAKE_LFLAGS += /STACK:32000000
在源代码中,前行QThread::start()
函数被调用的线程上:
work_queue_manager_thread.setStackSize(static_cast<uint>(stackSize));
(其中work_queue_manager_thread
是QThread
实例, stackSize
是32000000)。
我已经试过单独上述两种尝试,我曾尝试在一起。 其结果是一样的:堆栈大小保持在1 MB有问题的线索。 它并不反映我所需的堆栈大小。 我无法设置堆栈大小为我的Qt线程。
实际上 ,我怎么设置堆栈大小的一个Qt线程32000000 -和跨Windows和OS X工作的方式吗?
谢谢。