草庐IT

默认动作

全部标签

windows - 为什么 x64 项目使用默认的打包对齐方式 16?

如果您在VS2012的x64项目中编译以下代码而没有任何/Zp标志:#pragmapack(show)然后编译器会吐出:valueofpragmapack(show)==16如果项目使用Win32的话,编译器会吐出:valueofpragmapack(show)==8我不明白的是,在Win64中任何类型(即longlong和指针)的最大自然对齐是8。那么为什么不直接为x64设置默认对齐8?与此有点相关,为什么有人会使用/Zp16?编辑:这里有一个例子来说明我在说什么。即使对于x64指针具有8字节的自然对齐,Zp1也可以将它们强制为1字节边界。structA{chara;char*b;}

windows - 批处理脚本 "Timeout"错误 : Invalid Syntax. 默认选项不允许超过 1 次

首先,我使用的是Windows764位,如果它有所不同的话。我有一个批处理文件,我在其中使用了“超时”功能,如下所示:*codedoessomethings*timeout/t100remwaitfor100secondsfortheabovethingtofinish如果我在命令行中执行timeout/t100,它会像我预期的那样等待100秒。但是,在脚本中它给了我错误:ERROR:Invalidsyntax.Defaultoptionisnotallowedmorethan'1'time(s).Type"TIMEOUT/?"forusage.timeout的指令是/t等待的秒数,/

windows - Windows 中 dll 的默认加载计数是 0x0000ffff 吗?

使用windbg,通过!dlls命令获取带有加载计数的dll列表。观察到许多加载的dll的加载计数为0x0000ffff。这是默认值吗?那还有别的意思吗?0x00262fa8:C:\WINDOWS\system32\ole32.dllBase0x774e0000EntryPoint0x774fd0b9Size0x0013d000Flags0x80084006`LoadCount0x0000ffffTlsIndex0x00000000LDRP_STATIC_LINKLDRP_IMAGE_DLLLDR**strongtext**P_ENTRY_PROCESSEDLDRP_PROCESS_A

windows - 如何在 Visual Studio 2013 中获取默认项目目录

我正在尝试设置一个安装程序,将我制作的压缩导出的项目模板复制到默认项目目录的项目模板文件夹中,因为这似乎是在新建项目向导中合并自定义模板的最简单方法。对于大多数人来说,位置将是%USERPROFILE%\Documents\VisualStudio2013\Templates\ProjectTemplates,但我很确定这不能保证,或者至少不是静态的。有没有一种方法可以通过宏或以编程方式检索此信息?如果只是后者,C#和C++是首选示例。 最佳答案 您可以从注册表中读取它们:HKEY_CURRENT_USER\Software\Mic

c# - 使用泛型检查默认值

这个问题在这里已经有了答案:NullordefaultcomparisonofgenericargumentinC#(14个答案)关闭9年前。我希望能够检查一个值是否是其值类型的默认值。理想情况下,我想说:DoSomething(TValuevalue){if(value==default(TValue)){...}}但是,编译器提示它不能对TValue和TValue进行==比较。这是迄今为止我想出的最佳解决方法:DoSomething(TValuevalue){if(value==null||value.Equals(default(TValue))){...}}有没有更优雅/正确的

c# - 使用与默认不同的密码

我只需要使用一个密码连接到服务器-“ADH-RC4-MD5”。我正在寻找一个通用的解决方案,它可以让我检查服务器使用的是什么密码(我是一个配置服务器,充当许多其他应用程序服务器的客户端,需要连接和获取数据-每次都可以不同的服务器)。我目前的流程是:TcpClienttcpClient=newTcpClient(serverName,port);SslStreamsslStream=newSslStream(tcpClient.GetStream(),false,null,null,EncryptionPolicy.RequireEncryption);sslStream.Authent

c# - 检查 switch 语句中是否缺少默认情况

对于ReSharper6.1,没有针对C#开关中缺少默认语句的内置检查项,但自定义模式似乎总体上是可靠的。对于ifblock缺少else语句之类的情况,我已经对它们进行了一些处理,但我不确定如何检查是否缺少默认值。这是我目前所拥有的:搜索模式switch($expr$){case$val$:$statement$break;$missingDefault$}替换模式switch($expr$){case$val$:$statement$break;default:break;}其中$expr$是一个表达式,$val是一个表达式,$statement$是任意数量的语句,$missingD

c# - 无法在默认 MVC 应用程序中存储用户

我之前在使用授权时遇到了一些问题,所以我得到了全新的一切——新计算机、新操作系统、全新安装的VS、新应用程序和Azure上新资源组中的数据库。整个沙帮。我可以确认我可以登录到Azure数据库,如下面的屏幕截图所示。我可以看到数据库、表、用户等。问题是,虽然它在本地工作(使用自动为我提供的默认连接字符串),但它在Azure中的表现不是很好(尽管我正在使用那里的发布文件)。根据thisanswer,它说了一些关于找不到文件的事情。,我需要更改连接字符串。在我更改它之后,出现以下错误。请注意,防火墙是打开的,当我运行我的应用程序代码时,我可以访问数据库。我觉得自动配置身份验证部分时出现问题。

c# - 有理数结构的默认值

我正在为教育目的开发一个简单的数学库,我已经实现了一个代表RationalNumber的struct.显示结构核心字段的非常基本的代码是:publicstructRationalNumber{privatereadonlylongnumerator;privatereadonlylongdenominator;privateboolisDefinitelyCoprime;privatestaticRationalNumberzero=0;publicRationalNumber(longnumerator,longdenominator){this.numerator=numerato

c# - 在 .NET 应用程序中在哪里设置默认区域性

我正在编写一个WPF应用程序,但在文化方面遇到了一些困难。我想知道当没有明确设置值时,.NET应用程序从哪里获取CurrentThread.CurrentCulture的值。它不是来自Windows区域性信息,因为我已将其从en-US更改为en-GB,但在运行时没有注意到应用程序有任何变化。请帮忙!标记 最佳答案 来自thefinemanual:SeetheCultureInfo.CurrentCulturepropertytolearnhowathread'sdefaultcultureisdetermined,andhowuse