小编sta*_*lue的帖子

ESI和EDI寄存器的用途?

汇编程序中EDI和ESI寄存器的实际用途和用途是什么?

我知道它们只用于字符串操作.

有人也可以举个例子吗?

x86 assembly

115
推荐指数
5
解决办法
16万
查看次数

使用Razor/MVC3将AssemblyVersion导入网页时出现问题

我在_Layout.cshtml文件的页脚中使用以下代码将AssemblyInfo版本数据放入我的MVC3站点中每个页面的页脚.然而:

@System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString()
Run Code Online (Sandbox Code Playgroud)

只需在页脚中打印:

Revision 0.0.0.0
Run Code Online (Sandbox Code Playgroud)

当我修改视图以使用以下内容显示"执行装配"的所有装配信息时

@System.Reflection.Assembly.GetExecutingAssembly().GetName().ToString()
Run Code Online (Sandbox Code Playgroud)

其中打印以下内容:

Revision App_Web__layout.cshtml.639c3968.hlogy75x, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
Run Code Online (Sandbox Code Playgroud)

这表明"执行程序集"不是我的主要应用程序,它是视图本身.

如何获取ACTUAL应用程序的程序集信息,而不仅仅是单个视图?

c# reflection assemblies razor asp.net-mvc-3

100
推荐指数
4
解决办法
4万
查看次数

如何列出所有已加载的程序集?

在.Net中,我想枚举所有AppDomains上的所有已加载程序集.为我的程序的AppDomain做这件事很容易AppDomain.CurrentDomain.GetAssemblies().我是否需要以某种方式访问​​每个AppDomain?或者是否已有一个工具可以做到这一点?

.net c# assemblies

96
推荐指数
2
解决办法
10万
查看次数

动态替换C#方法的内容?

我想要做的是改变C#方法在调用时的执行方式,这样我就可以编写如下内容:

[Distributed]
public DTask<bool> Solve(int n, DEvent<bool> callback)
{
    for (int m = 2; m < n - 1; m += 1)
        if (m % n == 0)
            return false;
    return true;
}
Run Code Online (Sandbox Code Playgroud)

在运行时,我需要能够分析具有Distributed属性(我已经可以做)的方法,然后在函数体执行之前和函数返回之后插入代码.更重要的是,我需要能够在不修改调用Solve的代码的情况下或在函数的开头修改代码(在编译时;在运行时这样做是目标).

目前我尝试了这段代码(假设t是Solve存储的类型,m是Solve的MethodInfo):

private void WrapMethod(Type t, MethodInfo m)
{
    // Generate ILasm for delegate.
    byte[] il = typeof(Dpm).GetMethod("ReplacedSolve").GetMethodBody().GetILAsByteArray();

    // Pin the bytes in the garbage collection.
    GCHandle h = GCHandle.Alloc((object)il, GCHandleType.Pinned);
    IntPtr addr = h.AddrOfPinnedObject();
    int size = il.Length;

    // Swap the method.
    MethodRental.SwapMethodBody(t, m.MetadataToken, …
Run Code Online (Sandbox Code Playgroud)

c# methods swap cil assemblies

85
推荐指数
10
解决办法
5万
查看次数

C#或.NET中的程序集究竟是什么?

你能解释一下C#或.NET中的程序集是什么吗?

  1. 它从哪里开始,它在哪里结束?
  2. 我应该了解哪些关于装配的重要信息?

.net c# assemblies

83
推荐指数
5
解决办法
6万
查看次数

测试有效性指针(C/C++)

如果指定的指针是"有效的",有没有办法确定(当然是以编程方式)?检查NULL很简单,但像0x00001234这样的东西呢?当试图取消引用这种指针时,会发生异常/崩溃.

首选跨平台方法,但平台特定(适用于Windows和Linux)也可以.

更新澄清: 问题不在于陈旧/释放/未初始化的指针; 相反,我正在实现一个从调用者获取指针的API(比如指向字符串的指针,文件句柄等).调用者可以(有意或无意地)发送无效值作为指针.如何防止崩溃?

c c++ validation null pointers

80
推荐指数
10
解决办法
10万
查看次数

Eratosthenes筛选 - 寻找Primes Python

只是为了澄清,这不是一个功课问题:)

我想找到我正在建造的数学应用程序的素数并且遇到了Eratosthenes的Sieve方法.

我用Python编写了它的实现.但它非常慢.比方说,如果我想找到不到200万的所有素数.大约需要20分钟.(此时我停了下来).我怎样才能加快速度呢?

def primes_sieve(limit):
    limitn = limit+1
    primes = range(2, limitn)

    for i in primes:
        factors = range(i, limitn, i)
        for f in factors[1:]:
            if f in primes:
                primes.remove(f)
    return primes

print primes_sieve(2000)
Run Code Online (Sandbox Code Playgroud)

更新: 我最终对这段代码进行了分析,发现花了很多时间从列表中删除一个元素.考虑到它必须遍历整个列表(最坏情况)才能找到元素然后将其删除然后重新调整列表(可能还有一些副本继续?),这是相当容易理解的.无论如何,我把字典列表删掉了.我的新实施 -

def primes_sieve1(limit):
    limitn = limit+1
    primes = dict()
    for i in range(2, limitn): primes[i] = True

    for i in primes:
        factors = range(i,limitn, i)
        for f in factors[1:]:
            primes[f] = False
    return [i for i in primes if primes[i]==True]

print primes_sieve1(2000000)
Run Code Online (Sandbox Code Playgroud)

python math primes sieve-of-eratosthenes

66
推荐指数
4
解决办法
9万
查看次数

自定义装配属性

我想知道我是否可以定义自定义程序集属性.现有属性按以下方式定义:

[assembly: AssemblyTitle("MyApplication")]  
[assembly: AssemblyDescription("This application is a sample application.")]  
[assembly: AssemblyCopyright("Copyright © MyCompany 2009")]  
Run Code Online (Sandbox Code Playgroud)

有没有办法可以做到以下几点:

[assembly: MyCustomAssemblyAttribute("Hello World! This is a custom attribute.")]
Run Code Online (Sandbox Code Playgroud)

.net c# attributes assemblies

60
推荐指数
2
解决办法
3万
查看次数

指针算术

有没有人对指针算术有任何好的文章或解释(博客,例子)?图中的观众是一群学习C和C++的Java程序员.

c pointers pointer-arithmetic

58
推荐指数
3
解决办法
8万
查看次数

如何阅读程序集属性

在我的程序中,如何读取AssemblyInfo.cs中设置的属性:

[assembly: AssemblyTitle("My Product")]
[assembly: AssemblyDescription("...")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Radeldudel inc.")]
[assembly: AssemblyProduct("My Product")]
[assembly: AssemblyCopyright("Copyright @ me 2008")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
Run Code Online (Sandbox Code Playgroud)

我想向我的程序用户显示一些这些值,所以我想知道如何从主程序和我正在使用的komponent程序集加载它们.

.net reflection attributes assemblies

57
推荐指数
5
解决办法
4万
查看次数