草庐IT

cl-preview-section

全部标签

windows - 断言当前线程不持有 CRITICAL_SECTION 锁

我有一个维护列表的对象;其中一个辅助方法需要锁定列表找到第一个元素解锁列表通知另一个线程开始清理操作等待另一个线程完成重复此操作直到列表为空。清理操作从另一个线程的列表中删除对象,因此它需要在两者之间锁定列表。只要不调用helper时已经持有列表上的锁,这就可以正常工作,因为解锁操作实际上不会允许其他线程访问列表,所以我想在此标记一个错误案例。据我所知,CRITICAL_SECTIONAPI没有提供官方支持的方式来查询当前进程是否持有这个对象,所以我正在考虑“hack-ish”方法(毕竟,它是一种调试辅助工具,并不打算用于生产代码中):变体1是检查CRITICAL_SECTION结构的

windows - Windows 上的 EnterCriticalSection 和 CRITICAL_SECTION

在我的const'中-我希望'secondCommand'仅在'firstCommand'之后被调用。我尝试使用EnterCriticalSection,但问题是,从哪里启动我的锁-如果我在构造函数中执行此操作(在##),并在“firstCommand”(在##)之后释放锁,并尝试在“secondCommand”(在###)之前再次获取锁,它可能无法工作,因为在###,即使锁被锁定-secondCommand仍然可以被调用-因为锁定是在同一个thead中获得的(就像连续两次调用“lock”和“lock”一样-不会有死锁)。另一方面,如果我在“firstCommand”之前(在####)

c++ - IMAGE_SECTION_HEADER的VirtualAddress和PointerToRawData的区别

在this文章,定义是DWORD虚拟地址InEXEs,thisfieldholdstheRVAtowheretheloadershouldmapthesection.Tocalculatetherealstartingaddressofagivensectioninmemory,addthebaseaddressoftheimagetothesection'sVirtualAddressstoredinthisfield.DWORDPointerToRawDataThisisthefile-basedoffsetofwheretherawdataemittedbythecompiler

windows - 如何在 Windows 8 Consumer Preview 中使用 TcpClient

我正在Windows8ConsumerPreview中编写Metro应用程序。但是,我无法在.NET4.5中使用TcpClient,似乎没有地方可以添加程序集引用。http://msdn.microsoft.com/en-us/library/1612451t(v=vs.110).aspx 最佳答案 城域网不支持TcpClient。您可以使用StreamSocket类代替。Here是关于如何使用它创建TCP套接字、建立连接、发送和接收数据的示例。这些示例使用JS和C++,但同一类适用于C#。

c - 尝试用 cl.exe 编译

抱歉,如果这是一个简单的问题,我不会在Windows中进行太多编程。我安装了VisualStudio,但当我尝试从命令行执行“cl”时,它告诉我它未被识别为命令!我如何获得cl? 最佳答案 打开VisualStudio命令提示窗口,它会自动为您设置正确的路径和其他设置。如果您做不到,这里有手动操作的说明:http://msdn.microsoft.com/en-us/library/f2ccy3wt(VS.80).aspx 关于c-尝试用cl.exe编译,我们在StackOverflow

windows - 在哪里可以下载 Visual Studio 2012 RC 和 Windows 8 Customer Preview?

关闭。这个问题是off-topic.它目前不接受答案。想改进这个问题吗?Updatethequestion所以它是on-topic用于堆栈溢出。关闭10年前。Improvethisquestion我听说VS2012beta和Windows8CustomerPreview将于今天(29II2012)可供下载,但我找不到它们的任何链接。有人知道我在哪里可以找到它们吗?

windows - 是否可以在 Windows 8 Release Preview 中将 metro 风格的应用贴紧到屏幕大小的一半?

在Windows8ReleasePreview中是否可以将metro风格的应用程序恰好缩小到屏幕大小的一半?在屏幕尺寸为1920x1080或2560x1440的台式机/笔记本电脑上,metro应用程序是否可以通过注册表或任何其他hack调整大小/紧贴在“桌面应用程序”旁边正好是屏幕尺寸的一半...因为它可以非常看电视/视频时方便。非常感谢。 最佳答案 不,无论整体屏幕分辨率如何,它都限制为320像素。 关于windows-是否可以在Windows8ReleasePreview中将metr

c++ - 构建通用应用程序时编译器和库版本之间的 cl.exe 不匹配

我正在尝试从命令行使用cl.exe构建Windows通用应用程序。我已经从其中一个VisualStudio模板粘贴了命令行参数,但我仍然无法使其正常工作。我收到以下错误:F:\ProgramFiles(x86)\MicrosoftVisualStudio14.0\VC\INCLUDE\vccorlib.h(348):errorC3940:'EventRegistrationToken':identifiernotfound-possiblemismatchbetweencompilerandlibraryversions.Pleaseensurevccorlib.h/.lib,vcco

windows - cl.exe 标志或设置以在/O1 或更高级别禁用尾调用优化(相当于 gcc -fno-optimize-sibling-calls)

我从事一个项目,我们维护自己的堆栈爬虫(出于各种原因)。我们需要能够以一定的可靠性抓取堆栈。目前我们遇到了一个问题,函数尾部调用了我们感兴趣的函数,并且我们的堆栈跟踪跳过了调试构建(/Od)中会出现的帧。我们已经禁用了帧指针优化和内联(/Oy-和/Ob0),因此我们可以获得更好的堆栈跟踪,但我们仍然希望能够启用一些优化(/O1)以使代码更快。但是,尾调用仍然会干扰我们的堆栈跟踪。是否有任何标志或设置可以在MSVC中禁用此优化?gcc有-f(no-)optimize-sibling-calls,涵盖了这一点。 最佳答案 不,您可以将尾

c++ - 如何更改 C 编译器而不以 cl.exe 开关结束?

我正在尝试使用CMAKE通过CMAKE在Windows中运行Arduino编译器。我创建了一个小的.cmake文件,它可以定位和覆盖一些工具链变量,例如CMAKE_C_COMPILER。这在Linux上效果很好。一切都在被发现和build。在Linux中,我使用的是UNIXMakefiles生成器。但是,当我转到Windows时,我遇到了问题。我想让NMake和VisualStudio生成器都工作。如果我必须选择一个,我会选择最不复杂的(NMake)NMake生成器坚持为cl.exe添加命令行开关(/nologo、/DWIN32等),这些会产生错误并停止构建。NMake生成器确实使用a