小编wal*_*lyk的帖子

为什么Linux内核ZONE_NORMAL限制为896 MB?

一个新手问题.我正在进行一些内核研究,并对ZONE_NORMAL的896MB大小限制感到困惑.我不明白为什么内核无法直接将4G物理内存映射到内核空间.一些文档提到了页面映射的大小限制.但考虑到4G内存有2 ^ 20页,每个"struct page"是4个字节,mem_map只有4MB.这应该不是问题.希望你能给我一些启示.

谢谢

linux kernel

11
推荐指数
2
解决办法
4997
查看次数

如何在不知道其名称的情况下获取Doctrine2实体标识符

我试图在Symfony2中的基本Entity类上使用Doctrine2为一个数据库创建一个抽象的getId方法,在该数据库中,主键在表间不一致地命名.

在检查实体对象时,我看到有一个私有的'_identifier'属性,其中包含我尝试检索的信息,但我不确定如何正确访问它.

我假设有一些简单的Doctrine魔法类似于:

public function getId()
{
    return $this->getIdentifier();
}
Run Code Online (Sandbox Code Playgroud)

但我没有设法在任何地方的intertubes上找到它.

entity identifier symfony doctrine-orm

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

x86汇编对16位及更高位的指令操作数进行乘法和除法

我对x86汇编中的乘法和除法运算如何工作感到困惑.例如,自从处理8位以来,下面的代码似乎并不太难.

8位乘法:

; User Input:
; [num1], 20
; [num2] , 15

mov    ax, [num1]    ; moves the 8 bits into AL
mov    bx, [num2]    ; moves the 8 bits into BL

mul    bl            ; product stored in AX

print  ax
Run Code Online (Sandbox Code Playgroud)

但是当你想要乘以两个16位数时会发生什么?如何将两个16位数字乘以与8位数字相同的方式?

我很困惑这些值将存储在哪些寄存器中.它们是存储在AL和AH中还是只是将16位数存储在AX中.显示我的意思:

; User Input:
; [num1], 20
; [num2], 15

mov    eax, [num1]    ; Does this store the 16-bit number in AL and AH or just in AX
mov    ebx, [num2]    ; Does this store the 16-bit number …
Run Code Online (Sandbox Code Playgroud)

x86 assembly multiplication division

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

对于Windows 8中的非零文件,"磁盘大小"为零?

我发现我的磁盘上有一些文件,
1)实际大小不为零,但它很小,大约500字节
2)当你检查它的属性时,"磁盘上的大小"显示为零
3)如果我制作文件更小,"磁盘上的大小"仍为0
4)如果我使文件更大,甚至更大1个字节,磁盘上的大小将更改为4096
5)磁盘未压缩

怎么可能?我的操作系统是Windows 8.1:这是Windows 8中的新功能吗?
Windows 8是否如此智能以至于它可以将这些小文件合并到一个磁盘扇区中?

任何人都可以证实吗?

如果它是一个新功能,如何禁用它?

diskspace ntfs

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

连接空表以返回所有行

我有一个表(Table1),它有一个复合主键(Column1 + Column2).我在另一个表中使用它作为外键(表2).

现在我想要SELECT语句来选择Table1和Table2中的所有记录.但它返回0行,因为table2是空的.我想要table1中的所有记录,如果table2中不存在,Table2中的Columns值应该为null.

我知道,我只需加入它.但我没有把它做对.

谢谢

sql t-sql sql-server sql-server-2005

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

从php字符串的开头删除空格

我有一个像下面的字符串

$string = ' florida'

我怎么能从开始删除空白区域,以形成如下所示.

$result_string = 'florida'

如果这个问题太容易,我很抱歉.

php string escaping

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

我不明白如何使用中断21,AH = 0ah

我的信息来自这里.该作业要求读取不超过20个字符的程序,将这些字符转换为大写,然后将输入打印为大写字母.

我不知道如何从int21/AH = 0ah访问输入.除非我理解上面链接的内容,否则我真的不能问更准确的问题.谁能解释一下?此外,如果这有任何区别,我正在使用TASM.另外,我正在对freedos进行测试.

UPDATE1:

好的,多亏了你的帮助,我相信我理解中断是如何设置和行为的.

设置: 我必须指定一个ds:dx,我希望这个缓冲区存在

我必须将ds:dx设置为20(设置缓冲区可以容纳的最大字符数)

我必须将ds:dx + 1设置为0(我想以某种方式设置要读入的最小字符数)

实际上调用int21/AH = 0ah,它将转到ds:dx并解释预设的字节.它会在等待输入时暂停程序

int21/AH = 0ah将从我的输入填充ds:dx + 2 + n(其中n是输入的字符数,包括'\ r')

我现在的问题是,我该怎么做.我刚刚再次查看了x86汇编语言参考,但还没有找到任何有用的东西.

代码我到目前为止

           assume          cs:code,ds:code
code       segment
start:

           mov  ax,code ;moves code segment into reg AX
           mov  ds,ax   ;makes ds point to code segment

           mov  ah,0ah
           int  21h
           mov  ax,1234h  ;breakpoint

           mov  ah,9
           mov  dx,offset message
           int  21h

endNow:
           ;;;;;;;;;;ends program;;;;;;;;;;
           mov  ah,0  ;terminate program
           int  21h   ;program ends

message    db   'Hello world!!!',13,10,'$'
code       ends
           end …
Run Code Online (Sandbox Code Playgroud)

assembly dos interrupt bios tasm

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

child_process.fork和cluster.fork之间有什么有效的区别?

我知道cluster.fork将允许多个进程监听相同的端口,我还想知道当你的一些工作人员不是tcp的监听器/处理程序时,支持这个的额外开销是多少服务?

我有一个服务,我也想发起几个工人..例如:2个Web服务监听器进程和3个工作器实例.最好是为所有人使用集群,还是为2个Web服务集群,而对于工作人员的child_process更好?

我不知道节点中的内部结构,但认为对于我自己和其他人来说,更好地了解根据不同的需求采取哪种路线会更好.现在,我正在为所有进程使用集群.

node.js

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

python密码规则验证

我正在练习一些Python而且我无法理解为什么这段代码不会占用 - 函数需要一个字符串,如果它的长度至少为10个字符,则至少有1个数字,1个小写字母和1个大写字母,它应该返回True.此外,还有一种比我对所有这些嵌套条件更简洁的方式来编写它.谢谢大家!

import string
alphalower = string.ascii_lowercase
alphaupper = string.ascii_uppercase
digs = string.digits

def checkio(data):
    if len(data) >= 10:
        if data.count(digs) >= 1:
            if data.count(alphaupper) >= 1:
                if data.count(alphalower) >= 1:
                    return True
    else:
        return False
Run Code Online (Sandbox Code Playgroud)

python

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

删除nullptr - 性能开销?

如果指针为nullptr,则运算符delete将自行检查.在没有自己检查的情况下调用nullptr上的delete时是否有任何性能开销?

delete ptr;
Run Code Online (Sandbox Code Playgroud)

要么

if (ptr != nullptr) delete ptr; 
Run Code Online (Sandbox Code Playgroud)

如果ptr是nullptr,上面哪个执行得更快?

c++

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