windows核心编程 第8章201页旋转锁的代码在新版Visual Studio运行问题
来源:互联网 发布:mac ps2017怎么破解 编辑:程序博客网 时间:2024/06/16 22:25
// 全局变量,用于指示共享的资源是否在使用BOOL g_fResourceInUse = FALSE;void Func1(){ //等待访问资源 while(InterlockedExchange(&g_fResourceInUse, TRUE) == TRUE) Sleep(0); //访问刚占有的资源 //Access the resource. //我们不需要再访问的资源 InterlockedExchange(&g_fResourceInUse, FALSE);}
这是windows核心编程 5th 201页 第8章 一段旋转锁的代码,可能是因为微软改变了InterlockedExchange的实现,所以以前的代码,在这里无法编译成功了。不能编译的原因Visual Studio提示,
IntelliSense: 没有与参数列表匹配的 重载函数 "_InterlockedExchange" 实例参数类型为: (BOOL *, int) f:\Visual Studio 2012\windows核心编程\第8章\旋转锁.cpp 34 3 第8章
我将InterlockedExchange的参数1&g_fResourceInUse
加一个LONG类型强制转换符,编译->运行,成功如下代码
// 全局变量,用于指示共享的资源是否在使用BOOL g_fResourceInUse = FALSE;void Func1(){ //等待访问资源 while((InterlockedExchange((PLONG)&g_fResourceInUse, TRUE) == TRUE) Sleep(0); //访问刚占有的资源 //Access the resource. //我们不需要再访问的资源 (InterlockedExchange((PLONG)&g_fResourceInUse, TRUE);}参考资源:InterlockedExchange function_InterlockedExchange Intrinsic Functions _InterlockedDecrement Intrinsic Functions
0 0
- windows核心编程 第8章201页旋转锁的代码在新版Visual Studio运行问题
- 基于visual c++之windows核心编程代码分析(27)保持程序单实例运行
- 基于visual c++之windows核心编程代码分析 保持程序单实例运行
- 基于visual c++之windows核心编程代码分析(61)打造自己的Windows输入法
- 关于visual studio2013在windows 10运行的问题
- 针对在Visual Studio 中生成的exe不能在没安装Visual Studio 机器上运行的问题、、
- 基于visual c++之windows核心编程代码分析(35)实践NT服务的框架
- 基于visual c++之windows核心编程代码分析(8)自动下载更新程序
- 基于visual c++之windows核心编程代码分析(8)自动下载更新程序
- 如何在Visual Studio中运行和调试汇编代码
- 如何在Visual Studio中运行和调试汇编代码?
- 如何在Visual Studio Code中直接运行html代码
- 基于visual c++之windows核心编程代码分析(53)在C++中嵌入汇编实现DLL注入源代码
- visual studio 2008 运行DirectX 9.0 游戏开发编程基础里面的源码的问题
- Visual Studio C/C++ windows编程代码提示功能
- 基于visual c++之windows核心编程代码分析(64)现有的exe文件中添加自己的代码
- 基于visual c++之windows核心编程代码分析(64)现有的exe文件中添加自己的代码
- 《Windows核心编程》第4章 笔记
- 反驳--(知乎)大龄门外汉如何进入软件开发行业?的回复
- 一段挂起进程中所有线程的代码
- GetThreadTimes获取其它线程cpu时间
- 如何输出高精度时间差
- 注意!GetThreadPriority的返回值不是系统的优先级值
- windows核心编程 第8章201页旋转锁的代码在新版Visual Studio运行问题
- FILETIME类型到LARGE_INTEGER类型的转换
- windows如何利用计划任务自动关机?
- visual c++.net 技术内幕 第6版 附带的程序如何在vs2013中编译成功
- c#学习路线应该靠谱
- postgresql 常用命令
- Android实现GPS定位功能
- Linux下Tomcat日志定期清理
- 一步步学习SPD2010--第九章节--使用可重用工作流和工作流表单(13)--修改任务表单