在线代码上更改Delphi线程大小

Fil*_*eca 5 delphi delphi-2007

这是我的问题:

我当前的线程默认创建为1024kb,当我通常需要少于50kb时.
有没有办法通过编码来参数化它的大小?我只能通过菜单找到改变它的方法.

提前致谢.

Ser*_*yuz 1

无法使用 指定堆栈大小TThreadTThread的线程创建代码路径导致CreateThread调用 API 以使用可执行文件的默认堆栈大小。默认情况下,Delphi 可执行文件的大小为 1MB(正如您所注意到的)。尽管您可以通过链接器选项(最大堆栈大小)或通过相应的编译器指令修改此值(*),但这将对应用程序中使用默认堆栈的所有线程(主线程、第 3 方 TThread 等)产生影响。 )。

如果不需要TThread,您可以使用BeginThreadRTL 函数让您传递的内容在包含StackSize时使用。STACK_SIZE_IS_A_RESERVATIONCreationFlags

(*) 为线程堆栈保留的值,Te Waka o Pascal有一篇文章展示了使用不同值的效果。