草庐IT

double-buffering

全部标签

windows - FILE_FLAG_NO_BUFFERING 如何与向通信设备打开的句柄交互?

正如标题所说,我正在编写一个网络程序,我在其中使用CreateFile打开网络驱动程序的句柄,并且我一直在试验NO_BUFFERING标志。大多数文档甚至都不会提及将其与通信设备一起使用,而那些这样做的文档(又名MSDN引用等)只是简单地提到您可以。有谁知道这会如何影响与设备的通信? 最佳答案 这是一个设备驱动程序实现细节,您在CreateFile()调用中指定的选项在IRP_MJ_REQUESTrequest中传递.我链接的那个是用于文件系统的,非常漂亮。通过IrpSp->Parameters.Create.Options链接单击

c - 使用 _sprintf_l 以 thousands_sep 格式化 double

我正在尝试使用Windows特定的_sprintf_l根据德语区域设置格式化double;即逗号作为小数点,句点作为千位分隔符。简而言之,我希望“123456.789”看起来像“123.456,79”(如果只打印两位小数)。但是,千位分隔符没有生效:char*loc=setlocale(LC_NUMERIC,"German");doubleval=123456.789;charbuffer[32]={0};_locale_tlocaleinfo;localeinfo=_get_current_locale();_sprintf_l(buffer,"%.2f",localeinfo,va

c++ - 在 VS2010 中使用长 double 编译 Windows C++ 应用程序

在工作中,我们有MSVS2010Ultimate,我正在编写一个使用实数运行详尽模拟的程序。我遇到了重要的舍入错误,并且我已经采取了合理的步骤来确保我的算法在数值上尽可能稳定。我想切换到128位四倍精度float(longdouble,对吧?),看看它有多大不同。我用longdouble替换了double的所有相关实例,重新编译,并再次运行我的虚拟模拟,但完全相同结果和以前一样。根据我在C/C++中的项目属性页,这些是我的(调试)编译器选项:/ZI/nologo/W3/WX-/Od/Oy-/D"_MBCS"/Gm/EHsc/RTC1/GS/fp:precise/Zc:wchar_t/Z

windows - 带有 Windows : Double backslash or front slash? 的 Django

所以,我是一个初学者,现在正尝试在eclipsepydev中使用Windows的“实用Django项目”来学习Django。无论如何,主要问题是我使用的是Windows,它似乎建议我应该在settings.py的注释中使用前斜杠。但默认情况下,数据库已设置为:'NAME':'C:\\Users\\dtc\\Documents\\Eclipse\\cms\\sqlite.db'当我浏览这本书时,它要我添加以下内容:url(r'^tiny_mce/(?P.*)$','django.views.static.serve',{'document_root':'/path/to/tiny_mce

windows - Windows 上的 Git 别名 : How to escape double quotes

我在Windows10专业版机器上使用Cmder使用Git版本2.15.0.windows.1。我想为gitlog命令设置一个带有一些漂亮选项的别名。命令是:log--pretty=format:"%C(yellow)%h%Cred%d%Creset%s%Cblue[%cn]"--decorate当我尝试通过运行此命令来设置别名时:gitconfig--globalalias.ls"log--pretty=format:"%C(yellow)%h%Cred%d%Creset%s%Cblue[%cn]"--decorate"它不起作用,别名未注册。我怀疑这是因为我在命令中也有双引号。我也

windows - 如何避免 Windows (Vista) 做 "double"webdav 请求

我们对WebDAV访问使用DIGEST身份验证。我们观察到Windows客户端发送每个请求两次。第一个请求没有Authorizationheader(并得到401响应),第二个请求有Authorizationheader(通常得到正确响应)。虽然用户可能看不到这一点,但它会使整个Webdav访问速度变慢。是否有可能以某种方式避免这种行为?也许一些特殊的react会说服Windows不这样做?当我们使用BASIC而不是DIGEST时,它工作正常(仅使用始终包含Authorizationheader的单个请求) 最佳答案 我相信您描述的

python - 在 Windows 中使用 Protocol Buffer

我正尝试在Windows中使用googleprotocolbuffer与python绑定(bind),但是我在安装步骤中遇到了一些问题。按照说明,我必须自己使用vs编译PB,但我的机器上没有安装vs,然后我在download找到了一个窗口二进制文件。页面。我还下载了完整的sourcecodepackage,然后我将protoc-2.5.0-win32.zip\protoc.exe放到C:\windows\system32。然后我转到protobuf-2.5.0.zip\python并运行pythonsetup.pyinstall来安装python绑定(bind)。但是我得到这样的错误:

windows - 关于Winsock Kernel Buffer和Nagle算法的疑问

阅读时this文章,我有疑问。我了解到,在传输小数据时,默认情况下会启用Nagle算法以合并小数据包。这导致在传输之前缓存一些数据。我相信Winsock内核缓冲区是缓存发生的地方。如果我错了,请纠正我。这是否意味着如果使用SO_SNDBUF选项将Winsock内核缓冲区设置为零,Nagle算法是否会被禁用?如果不是那么WINSOCK在哪里缓存小数据? 最佳答案 您引用的知识库文章以这种方式给出了您的答案...Tooptimizeperformanceattheapplicationlayer,Winsockcopiesdatabuf

c# - 为什么 DateTime 到 Unix 时间使用 double 而不是整数?

我需要将日期时间转换为Unix时间戳。所以我googled它正在寻找一些示例代码在我看到的几乎所有结果中,他们都使用double作为此类函数的返回值,即使在显式使用floor将其转换为整数时也是如此。Unix时间戳总是整数。那么使用long或int而不是double有什么问题呢?staticdoubleConvertToUnixTimestamp(DateTimedate){DateTimeorigin=newDateTime(1970,1,1,0,0,0,0);TimeSpandiff=date-origin;returnMath.Floor(diff.TotalSeconds);}

c# - 为什么 (double)0.6f > (double)(6/10f)?

这是我电脑上发生的事情:(double)(float)0.6=0.60000002384185791(double)0.6f=0.60000002384185791(double)(6/10f)=0.6(double)(float)(6/10f)=0.66/10f也是个float,怎么能精确到0.6呢?在我看来(double)(6/10f)也应该是0.60000002384185791。有人可以帮忙解释一下吗?谢谢! 最佳答案 首先,重要的是要记住0.6不能准确地表示为float但它可以准确地表示为double(浮点运算的不准确性已