草庐IT

c - 在 C 中初始化地址为零的变量

这可能是一个非常基本的问题。我知道有一个C约定将空指针的值设置为零。您是否有可能在Windows中为新变量分配空间,而分配空间的地址恰好为零?如果不是,通常占用该地址区域的是什么? 最佳答案 在MS-DOS上,空指针是一个相当有效的指针,并且由于操作系统在realmode中运行实际上有可能用垃圾覆盖0x0地址并破坏内核。你可以这样做:inti;unsignedchar*ptr=(unsignedchar*)0x0;for(i=0;i现代操作系统(例如Linux、Windows)在protectedmode中运行它永远不会让您直接访问

Windows 批处理脚本将文件保存为日期/时间

我在Windows批处理脚本上使用此代码:FOR/F"TOKENS=1*DELIMS="%%AIN('DATE/T')DOSETCDATE=%%BFOR/F"TOKENS=1,2eol=/DELIMS=/"%%AIN('DATE/T')DOSETmm=%%BFOR/F"TOKENS=1,2DELIMS=/eol=/"%%AIN('echo%CDATE%')DOSETdd=%%BFOR/F"TOKENS=2,3DELIMS=/"%%AIN('echo%CDATE%')DOSETyyyy=%%BSETdate=%dd%%mm%%yyyy%echoNewfoldername%date%但文件

c++ - MS Visual Studio Professional 2013 - C++ 为 32 位和 64 位操作系统编译单个可执行文件?

Google给了我一个线索,有可能将代码编译成一个可执行文件,该可执行文件将在32位操作系统上作为32位运行,在计算机上作为64位运行64位操作系统。可执行文件真的有可能在运行时确定其位数吗?在我的例子中,目标系统是Windows7Professionalx64和WindowsXPSP3x86。所以我在各种文章中读到的内容(我认为甚至有关于SO的类似主题的答案)是必须转到Soltuion的ConfigurationManager(RMBontoSolution->ConfigurationManager)并将Platform设置为AnyCPU。现在所有这些文章都描述了旧MSVS或MSV

c++ - 我可以为特定功能显式取消定义宏吗?

我编写了一个模板函数来执行整数的快速对数基数2。它在我的测试程序中有效,但是当我将它粘贴到我的主项目中时,我发现我遇到了windows.h的问题。header。问题是我正在使用c++std::numeric_limits::max()功能但windows.h包括一个也称为max的宏作为一个宏,它不是命名空间感知的,并且覆盖了我使用真正的C++函数的尝试。无论如何,除了不包括windows.h之外,我可以避免这种情况吗??(这不是一个真正的选择)这是我的功能://Returnsxwherex=log2(n)templateTlog2i(Tn){staticconstTinfinite(s

windows - Visual Studio 在 Windows 7 上将 WINVER/_WIN32_WINNT 设置为 Windows 8?

我正在使用VisualStudio2012在Windows7x64上执行一些测试。看起来Microsoft的工具链正在将_WIN32_WINNT设置为0x602(_WIN32_WINNT_WIN8).运行我们的测试程序导致TheprocedureentrypointGetOverlappedResultExcouldnotbelocatedinthedynamiclinklibraryKERNEL32.dll:我有两个问题。首先,出于病态的好奇,为什么Microsoft将_WIN32_WINNT设置为对执行环境无效的值?我能理解用户是否想要这样做,但微软不行,因为它会破坏一切(q.v.

c++ - 从 'OLE_HANDLE' 转换为 'HICON' 的正确方法是什么?

对于x64目标构建,从“OLE_HANDLE”转换为“HICON”的正确方法是什么?特别是对于普通的C风格转换,我在使用x64配置编译时收到此警告:警告C4312:“类型转换”:从“OLE_HANDLE”到更大尺寸的“HICON”的转换这是有问题的代码:imgList.Add((HICON)ohIcon);上面的代码对我来说工作正常,但我想在为x64构建时摆脱警告。 最佳答案 H泄露了它,在这种情况下,库代码创建了一个独特的类型,为您提供更多的类型安全性(在旧CAPI的时代)。它们实际上都是HANDLE,这是一个内核对象,它并不真正

windows - 为 XNA 游戏实现基于 XML 的简单脚本语言

我正在与一个团队合作使用C#和XNA开发RPG引擎。我们计划以Windows和WindowsPhone7为目标,但在过场动画期间遇到了AI交互和控制玩家Action的问题。大多数情况下,一切都是使用MVC设计模式提取的,但是将所有逻辑和移动抽象到Controller中可能会导致问题。因此,我们的想法是拥有一个接口(interface)(IScriptEngine),该接口(interface)采用IScriptObject并相应地更新map模型中的数据。我正在考虑将脚本放入XML类型的语法中:并让IScriptEngine相应地解析它。我非常怀疑在一个巨大的switch语句中进行解析是

c++ - 为 SetWaitableTimer 设置相对时间时的算术溢出

http://msdn.microsoft.com/en-us/library/windows/desktop/ms686289%28v=vs.85%29.aspx我希望计时器从当前时间开始发出信号5分5秒,但是当我将LARGE_INTEGER的QuadPart设置为-3050000000时,变量溢出,当我打印出来时,它显示为1244967296。我应该怎么办如何让它在当前时间后5分5秒(或更多)发出信号?LARGE_INTEGERli;li.QuadPart=-3050000000;printf("%ld\n",li); 最佳答案

android - 为所有平台(如 windows、Mac、IOS、Android 等)建议一个通用数据库

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。请为所有平台(如windows、Mac、IOS、Android等)建议一个通用数据库...我的目标是构建一个应用程序来离线和在线讨论所有这些媒体。要以离线模式存储数据,我需要知道如何维护存储(即公共(public)存储,因此无需为所有这些媒体编写代码)。请帮忙。

c# - 我必须使用 Windows 8 才能为 Windows 应用商店开发吗?

关闭。这个问题是off-topic.它目前不接受答案。想改进这个问题吗?Updatethequestion所以它是on-topic用于堆栈溢出。关闭10年前。Improvethisquestion我真的很想回滚W8,但我希望有一个为Windows应用商店开发的选项(例如,我可能会购买WindowsSurface并将其用作测试环境,但在W7上保留开发)。这可能吗?当我说应用时,我指的是C#/XAML。