在Delphi中,OutputDebugString线程安全吗?
吗
OutputDebugString(PAnsiChar(''));
线程安全
? 我/我们一直在线程中使用它进行调试,并且我从未想过是否应该以不同的方式进行操作。
(德尔福7)
Is
OutputDebugString(PAnsiChar(''));
thread safe?
I/we have been using it in threads for debugging, and it never occurred to me if I should be doing it a different way.
(Delphi 7)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
好吧,并不是说这不是真的,而是这样,但只是为了让你不必只相信 Lieven 的话:
了解 Win32 OutputDebugString 是一篇关于这个问题的优秀文章。
Well, not that it isn't true, it is, but just so that you don't have to just take Lieven word for it:
Understanding Win32 OutputDebugString is an excellent article on the matter.
别担心,确实如此。
Don't worry, it is.
不过,我曾经在使用 ISAPI DLL 中的字符串时遇到过麻烦。 由于某些奇怪的原因,未设置 System.pas 中定义的 IsMultiThread 布尔值!
一旦线程运行多个线程,它就会导致奇怪的 AccessViolations...一个简单的“IsMultiThread:=true;” 在单元初始化中修复了它。
I've had trouble once, though, with strings in an ISAPI DLL. For some odd reason the IsMultiThread boolean defined in System.pas was not set!
It was causing weird AccessViolations, once the thread was running more than one thread... A simple "IsMultiThread:=true;" in a unit initialization fixed it.