小编use*_*993的帖子

这个东西在.net中叫什么?

我记得有一段时间,我正在开发一个基于C#razor的网页.有一个响应属性,作为控制器和页面之间的一种管道.我不知道它叫什么,但它有一个有趣的属性 -

基本上它就像一个字典(字符串,对象),所以你可以通过任何名称转储任何名称,除非你像这样使用它:

ThingNameIDontRemember.name =无论如何

在添加了我想要的东西之后,我认为它们甚至出现在另一侧的intellisense自动完成中(与您对通用对象的期望不同)

这个类型叫什么,它是否也可以在mvc bundle之外使用?在我目前的vb.net项目中,我真的会使用类似的东西.

.net asp.net-mvc

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

内存映射文件和实际内存使用情况如何?

无法真正找到任何细节,以下是关于mmf在windows中的所有知识:

  1. 在Windows中创建内存映射文件不会增加程序使用的明显内存量
  2. 创建该文件的视图会占用与视图大小相当的内存

这看起来倒退了,因为对于一个人,我知道mmf本身实际上有记忆......某处.如果我在mmf中写入内容并破坏视图,数据仍然存在.同时,为什么视图会占用任何内存?它只是一个指针,不是吗?

然后是什么怪异的事实上在公羊和什么在盘上.在具有分布式外观访问模式的大型mmf中,有时速度是存在的,有时则不是.我猜它有些存在于文件中,如果有人与它或页面文件绑在一起,但实际上,我没有任何线索.

无论如何,驱使我去研究这个的问题是我有一个~2gb文件,我希望多个程序共享.我无法在每个视图中创建一个2gb的视图,因为我只是"内存不足"所以我必须创建/销毁较小的视图.由于额外的偏移计算和视图本身的创建,这会产生大量开销.任何人都可以向我解释为什么会这样吗?

c++ windows memory-mapped-files

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

当另一个线程可能正在写入时,单个整数是否可以安全读取?

我有很多不同的线程写入和读取一些数据的情况,互斥开销真的会降低性能,所以我试图尽可能地减少它们的使用和持续时间。

参考这个:为什么阅读不是线程安全的?

接受的答案说,在可能被覆盖的同时读取数据可能会产生损坏的结果。但它没有指定多少数据。我想大数组读取与单个整数读取不同,因为 cpu 不会一点一点地写入整数,对吗?

那么从这个读取整数(为 x64 编译时为 64 位)是否安全?

c++ multithreading

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

哪个位是第一位,当你位移时,它实际上是朝这个方向移动的吗?

所以...与位和字节搏斗,我想到如果我说"第n个字节的第一位",它可能并不意味着我认为它意味着什么.到目前为止,我假设如果我有这样的数据:

00000000 00000001 00001000

那么

  1. 第一个字节是组中最左边的,其值为0
  2. 第一位是所有0的最左边,其值为0
  3. 最后一个字节是最右边的组,其值为8
  4. 第二个字节的最后一位是中间组的最右边,其值为1

然后我了解到类型化字节集合中的字节顺序由系统的字节顺序决定.在我的情况下,它应该是小端(窗口,英特尔,对吗?)这意味着像01 10作为16位uinteger应该是2551,而在大多数程序处理内存它将表示为265 ..不知道什么是什么去那儿.

我还了解到,一个字节中的位可以按任意顺序进行排序,似乎没有明确的答案,因为它们也可能受到位结尾和人们对首先不同的定义的影响.对我来说,从左到右,对于其他人来说,它可能是当您添加1到0或从右到左时首先出现的内容.

为什么这有关系?好吧,好奇心,但我也试图编写一个能够从位地址Y开始提取X位数的类.我设想它类似.net字符串,我可以去输入".SubArray(12 (位置),5(长度))"然后在这篇文章的顶部的数据的情况下,它将检索"0001 0"或2.

那么有人可以澄清我的环境中的位和字节的第一个和最后一个是什么,它是从右到左,从左到右还是两个,是吗?为什么这个问题首先存在,为什么编码祖先不能就某些东西达成一致并坚持下去呢?

c++

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

sizeof()可能会被优化掉吗?

我有这个结构:

struct KVP {
    uint32_t KeyLenB;
    uint32_t ValLenB;

    void Set (char* pKey, uint32_t KeyLenB, char* pVal, uint32_t ValLenB) {
        this->KeyLenB = KeyLenB;
        this->ValLenB = ValLenB;
        memcpy(this + sizeof(KVP), pKey, KeyLenB);
        memcpy(this + sizeof(KVP) + KeyLenB, pVal, ValLenB);
    }

snip

};
Run Code Online (Sandbox Code Playgroud)

那些进入预先分配的记忆块.另一种方法是在长度字段之后添加另一个成员并仅引用它,但sizeof(KVP)只返回长度字段的大小,在其余代码中更合适.

所以无论如何,因为这个函数将被调用很多,我想知道"this + sizeof(this)"是否会比指向潜在的第3个成员更慢?

是的,我知道这个不必要的优化和yadayada的流程,但这是我第三次重建这个软件,它是我的宝贝,我不在乎它是否永远不会看到光明的一天只要它完善.

c++

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

如果你的字体有空格,你如何使用字体速记?

例如

@import url('https://fonts.googleapis.com/css?family=Open+Sans');

div {
    font:12px black "Open Sans";
}
Run Code Online (Sandbox Code Playgroud)

Chrome不接受,使用单引号或无引号也无济于事.如何在不为font-family写额外行的情况下使用该字体?

css

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

如何遍历字符串中的所有字符?

我尝试这样做:

for ($i = 0; $i < strlen($s); $i++) {
    $char = $s[$i]; 
    ...
}
Run Code Online (Sandbox Code Playgroud)

但是当涉及不符合1个字节的字符时似乎是错误的.例如,strlen("ää")返回4,表示它们由2个字节组成.

我如何浏览php中的每个角色?

php

-1
推荐指数
1
解决办法
924
查看次数