【发布时间】:2011-01-28 09:05:08
【问题描述】:
有谁知道 free 和 malloc 在 Visual C++ 2010 上是否是线程安全的?
我遇到了一些奇怪的问题,内存被破坏了,我几乎可以归结为这是唯一的可能性。
有谁知道安全装置是否可以开启和关闭以及如何开启?
【问题讨论】:
-
我相当有信心 - 我假设您正在链接到多线程运行时。
-
你为什么在 C++ 程序中使用 malloc 和 free ?
-
因为它叫visual C++,但它也可以编译C。
-
@Nick D:您提到的答案是针对 Linux/POSIX 系统的。 Visual C++ 根本不针对 POSIX 系统。
-
显然在 Visual C++ 中,所有 stdlib 和 stdio 都是线程安全的,只要您使用 /MD 编译器指令来使用多线程库。我尝试编写冲突代码,但当我添加信号量时它永远不会发生冲突并且表现相同。
标签: windows visual-c++ thread-safety malloc