这取自C,并基于此.我们假设我们有一个32位指针
char* charPointer;
Run Code Online (Sandbox Code Playgroud)
它指向内存中包含一些数据的某个位置.它知道这个指针的增量是1个字节,等等.另一方面,
int* intPointer;
Run Code Online (Sandbox Code Playgroud)
也指向内存中的某个位置,如果我们增加它,它知道如果我们加1则它应该增加4个字节.
问题是,我们如何能够解决的寻址空间完整的32位(2 ^ 32) - 4 GB的那些三分球,如果很明显它们包含在其中的一些信息,使他们能够彼此分离,例如char*或int*,所以这给我们留下了32个字节,但少了.
在输入这个问题时,我开始思考,也许它是所有的合成糖,真的是编译器?也许原始指针只是32位,它不关心类型?是这样的吗?
要在家中运行不受信任的代码,我使用VMWare虚拟机.我想找到一个替代的轻量级沙箱API来运行不受信任的应用程序,而无需安装VMWare或任何其他类型的最终用户虚拟化工具.(编辑:我不希望它托管操作系统 - 我希望它运行不受信任的应用程序).
理想情况下,沙箱将是(或可以制作)透明,因此在沙箱中运行的应用程序不会显示任何额外的镶边或特征.(他们不是在Mac上的Parallels中这样做)
我希望Windows .NET开发人员能够使用API,而不是启动特殊的GUI,我可以为它编写脚本.
这就像谷歌Chrome浏览器Web浏览器如何包含自己的技术,以便从Internet运行沙箱脚本以保护系统.Google不需要使用他们的浏览器分发VMWare,但他们实现了应用程序的沙箱安全性.
编辑:
寻找像谷歌Chrome一样轻量级的东西包含诸如极大限制的文件/网络/ UI访问,低权限等功能.不寻找运行/托管自己的操作系统.
寻找RAM磁盘API(或实现的等效软件集)临时存储文件以用于物理硬盘环境之外的读/写操作.
更新 Exe文件将被写入RAM磁盘并执行.
我习惯在VB6中使用Structures,并尝试使用.NET来避免它们.只是想知道在2010年使用结构而不是类是否被认为是令人讨厌的?
谢谢您的帮助.
我想在存在无法识别的命名空间时加载XmlNode而不会获得XmlException.
原因是我需要将XMLNode实例传递给方法.我正在加载具有其原始上下文中的命名空间的任意XML片段(例如,MSWord格式化和其他具有各种模式的软件产品,这些模式使用其名称空间前缀"污染"内容).命名空间对我或它传递的目标方法并不重要.(这是因为目标方法使用它作为HTML进行渲染,名称空间将被自然地忽略或抑制.)
示例
以下是我尝试创建XMLNode的示例片段:
<p>
<div>
<st1:country-region w:st="on">
<st1:place w:st="on">Canada</st1:place>
</st1:country-region>
<hr />
<img src="xxy.jpg" />
</div>
</p>
Run Code Online (Sandbox Code Playgroud)
当我尝试将其加载到XmlDocument实例(这是我尝试获取XmlNode)时,我得到以下XML异常:
'st1'是未声明的命名空间.第3行,第251位.
如何从这种XML片段中获取XmlNode实例?
虽然这个问题并不直接与代码有关,但它与编程有关,而且似乎比服务器故障或超级用户更好.
-
我是Visual Studio 2010的开发人员.微软为开发人员提供的最新Web服务器是IIS Express.ScottGu表示这种组合是可行的:
IIS Express将与VS 2010和Visual Web Developer 2010 Express一起使用,将在Windows XP和更高版本的系统上运行,
到目前为止,我见过的唯一选择是下载包含和使用IIS Express的WebMatrix,但我无法将其连接到VS 2010,或单独下载IIS Express.
有任何想法吗?
我正在考虑一个选择语句,该语句将基于字符串前缀在单个类属性值中定位许多css类名中的一个.
例如,我希望detail-从以下示例链接中获取任何前缀类名称.
<a href="eg.html" class="detail-1 pinkify another">
<a href="eg.html" class="something detail-55 minded">
<a href="eg.html" class="swing narrow detail-Z">
<a href="eg.html" class="swing narrow detail-Z detail-88 detail-A">
Run Code Online (Sandbox Code Playgroud)
它让人联想到[class|="detail"]前缀选择器如何在标量属性值上工作.hasClass(className),而且我的问题需要同时应用这两个概念.
注:该detail-前缀不一定是一堆一流的名字.
如果不计算元素IEnumerables<T>集合中的所有struct元素,检测它是否为空的最佳方法是什么?
例如,在class我通常用first或default测试的元素上:
myEnumerableReferenceTypeElements.FirstOrDefault() == null
Run Code Online (Sandbox Code Playgroud)
因为null通常不是正在迭代的集合中的有效值.
但是,对于所有值必须在预定义范围内的值类型,默认值(例如int default 0)也是集合中的可行项.
myValueTypeInt32Elements.FirstOrDefault() == 0 // can't tell if empty for sure
Run Code Online (Sandbox Code Playgroud) 我可以编写,编译并成功运行以下IL程序,其.maxstack大小设置为1,这太低了,因为程序在一个时间点在堆栈上有两个值(即2 + 2 == 4).该程序在CLR 中不崩溃,并以"Hello World"的所有预期输出后跟数字4完成执行.
但是,该程序(正确地)不会传递PEVerify,它指出了堆栈溢出异常,并带有以下消息:
Microsoft(R).NET Framework PE Verifier.版本4.0.30319.18020版权所有(c)Microsoft Corporation.版权所有.
[IL]:错误:[C:\ tmp\hello.exe:HelloWorld1.Program :: Main] [偏移量0x00000011]堆栈溢出.1错误验证hello.exe
为什么它不会在CLR中崩溃?
.assembly extern mscorlib {}
.assembly SampleIL {
.ver 1:0:1:0
}
.class private auto ansi beforefieldinit HelloWorld1.Program
extends [mscorlib]System.Object
{
// Methods
.method private hidebysig static
void Main (
string[] args
) cil managed
{
// Method begins at RVA 0x2050
// Code size 13 (0xd)
.maxstack 1 // **** NOTE THIS LINE *****
.entrypoint
IL_0000: nop
IL_0001: ldstr "hello world" …Run Code Online (Sandbox Code Playgroud) 我在哪里可以下载Microsoft HTML Help 2编译器(或绑定SDK)?我想使用Sandcastle帮助文件生成器从我的编程项目生成HTML 2文档,Sandcastle Guided Installation向导指示我下载该组件.
关于从Sandcastle主页获取的HTML 2的摘录:
HTML Help 2.x输出包括一组有效的集合文件和一个H2Reg.exe配置文件,以简化帮助文件的部署和集成到现有集合(如Visual Studio使用的集合)中.