小编tgi*_*hil的帖子

Is there a ILMerge equivalent tool for Mono?

I'm looking for a open source tool to merge multiple .NET assemblies into a single assembly.

c# mono ilmerge assemblies

14
推荐指数
2
解决办法
3758
查看次数

如何使用写入地址捕获内存写入和调用函数

我想捕获内存写入特定的内存范围,并调用一个函数与写入的内存位置的地址.优选地,在已经发生对存储器的写入之后.

我知道这可以通过操作系统通过使用页表条目来完成.但是,如何在想要执行此操作的应用程序中完成类似的操作?

memory windows device-emulation

7
推荐指数
1
解决办法
3692
查看次数

为什么以接口名为前缀的方法不能在C#中编译?

以下为什么不编译?

interface IFoo
{
void Foo();
}

class FooClass : IFoo
{
void IFoo.Foo() { return; }

void Another() {
   Foo();  // ERROR
 }
}
Run Code Online (Sandbox Code Playgroud)

编译器抱怨"当前上下文中不存在名称'FooMethod'".

但是,如果将Foo方法更改为:

 public void Foo() { return; }
Run Code Online (Sandbox Code Playgroud)

编译得很好.

我不明白为什么一个有效,另一个没有.

c# interface

6
推荐指数
1
解决办法
189
查看次数

即使在big-endian系统上,.NET BinaryReader是否仍然是小端的?

有关ReadUnt32的BinaryReader的Microsoft文档(例如)声明:使用little-endian编码从当前流中读取4字节无符号整数.但是,即使在大端系统上,这总是正确的吗?

.net

5
推荐指数
2
解决办法
4212
查看次数

如何在x86(32位)程序集中将无符号整数转换为浮点数?

我需要将32位和64位无符号整数转换为xmm寄存器中的浮点值.有一些x86指令可以将有符号整数转换为单精度和双精度浮点值,但对于无符号整数则没有.

额外:如何将xmm寄存器中的浮点值转换为32位和64位无符号整数?

x86 assembly sse

5
推荐指数
1
解决办法
4563
查看次数

可以独立于它可能引用的任何其他程序集来验证.NET程序集吗?

换句话说:对于要验证的.NET程序集,是否还需要读取和分析任何引用的程序集?PEVerify工具有什么作用?

.net cil peverify

4
推荐指数
1
解决办法
454
查看次数

为什么.NET中的泛型类型在TypeDef中有一个条目而在TypeSpec中有另一个开放类型条目?

为什么.NET中的泛型类型在TypeDef中有一个条目而在TypeSpec中有另一个开放类型条目?

当泛型添加到.NET时,是否只是使用签名扩展了TypeDef?

.net generics typedef metadata

3
推荐指数
1
解决办法
216
查看次数

为什么x86 movsd导致三重故障异常?

以下x86指令导致三重故障异常(CPU复位)。知道为什么吗?

0042F94B  F20F100520E44300  movsd xmm0,qword [dword 0x43e420]
Run Code Online (Sandbox Code Playgroud)

在该指令之前插入了以下代码,以验证是否可以访问位于0x43e420的内存:

0042F945  8B0520E44300      mov eax,[dword 0x43e420]
Run Code Online (Sandbox Code Playgroud)

X86处于保护模式。GDT设置正确,除cs为0x8外,段寄存器均为0x10。这两个GDT条目都是平坦的,并且用完了整个32位存储空间。未设置eflags的对齐检查(AC)。

0x43e420处的内存为:

0x43e420: 00 00 00 00 00 00 00 40
Run Code Online (Sandbox Code Playgroud)

执行该指令后,Bochs仿真器将输出以下消息:

interrupt(): gate.type(9) != {5,6,7,14,15}    
interrupt(): gate descriptor is not valid sys seg (vector=0x0d)
interrupt(): gate descriptor is not valid sys seg (vector=0x08)
Run Code Online (Sandbox Code Playgroud)

这是操作系统启动代码的一部分;不是任何操作系统下的应用程序。

x86 assembly

2
推荐指数
1
解决办法
919
查看次数

X86操作码将xmm寄存器移动到通用寄存器

什么是短x86指令序列将xmm0寄存器移动到eax和edx?

x86 assembly nasm

0
推荐指数
1
解决办法
579
查看次数