问题列表 - 第15737页

Linux 3/1虚拟地址拆分

在了解highmem需要超过1GB的RAM时,我遗漏了一些东西.有人能指出我哪里出错吗?谢谢!

我知道的:

  • 为内核操作保留1 GB进程的虚拟内存(高内存区域).用户空间可以使用剩余的3 GB.这是3/1分裂.

  • VM的虚拟内存功能将(连续)虚拟内存页面映射到物理页面(RAM).

我不知道的是:

  • 什么操作使用内核虚拟内存?我想像内核空间中的kmalloc(...)这样的东西会使用内核虚拟内存.

  • 我认为在这个方案下可以使用4GB的RAM.我不明白为什么内核1 GB虚拟空间是解决物理空间时的限制因素.这是我理解失败的地方.请指教.

我一直在读这篇文章(http://kerneltrap.org/node/2450),这很棒.但它并不能完全解决我的问题.

linux virtual-memory linux-kernel

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

Cocoa-Touch:如何进行布局

我有一个view(UIScrollView),它加载一些数据,并在各种子视图中显示它的各种内容.所以我有大约10个子视图(UIImageView, UILabel),我需要以编程方式放置它们,考虑到它们不可预测的内容(即UILabels取决于text属性的不同高度/宽度).

从我读过的内容来看,Cocoa-touch没有布局框架.

做这个的最好方式是什么?

据我所知,我应该将内容放在视图中,然后在调用它们的sizeToFit方法后根据它们的帧开始计算坐标.

这种方法非常容易出错.真的没有别的办法吗?

iphone cocoa-touch objective-c

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

将Qt UI代码移到单独的类中

我刚开始用Qt.尽管今天晚上花了一些时间,但我仍在努力将我的UI设置代码移出main它自己的类.

#include <QtGui>

int main(int argc, char *argv[]) {

    QApplication app(argc, argv);

    QWidget *window = new QWidget;
    QLabel *hw = new QLabel(QObject::tr("Hello World!"));

    QHBoxLayout *layout = new QHBoxLayout;
    layout->addWidget(hw);
    window->setLayout(layout);
    window->show();

    return app.exec();

}
Run Code Online (Sandbox Code Playgroud)

我已经尝试创建自己的类并传递window给它但遇到编译错误.

main.cpp中:

#include <QtGui>
#include "hworld.h"

int main(int argc, char *argv[]) {

    QApplication app(argc, argv);

    QDialog *hWorld = new hWorld;
    hWorld->show();

    return app.exec();

}
Run Code Online (Sandbox Code Playgroud)

hworld.h:

#ifndef HWORLD_H
#define HWORLD_H

#include <QtGui>

class hWorld : public QDialog {

    Q_OBJECT

public:
    hWorld(QWidget *parent = …
Run Code Online (Sandbox Code Playgroud)

c++ user-interface qt qt4

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

打败游戏空间管理?

我正在为Beat'em Up游戏制作我的2D引擎(Castle Crashers是我称之为Beat'em Up或Brawler类型的游戏).

我将支持2D精灵和2D粒子发射器.现在这一切都在引擎中完成.但我想提出一个问题,我想征求意见:

这是关于"空间"管理,我认为这是做某事,如图所示:

替代文字http://img337.imageshack.us/img337/9162/spacingprototype1.png

我的想法是制作一个网格(空间哈希或网格),我的粒子发射器/ 2D精灵将存在的地面.在我的图片中,我列举了从1到N的这个插槽,(不必是35,它只是为了显示目的).我的想法是按照从0到N(从桶0到桶N)的顺序绘制"GameElements"(Sprites/Emitters),然后我将让它们在屏幕上正确显示(从前到后).

我知道这可以通过比较每个元素的下Y轴并执行"快速排序"来完成,但让网格可以让我以更好的方式执行碰撞检测,如果我做了像A*这样的实现某种AI,它也可以帮助我.

game-engine

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

随机int64和float64数字

我正在尝试使用Numpy为整数和浮点数生成随机的64位整数值,在该类型的整个有效值范围内.要生成随机的32位浮点数,我可以使用:

In [2]: np.random.uniform(low=np.finfo(np.float32).min,high=np.finfo(np.float32).max,size=10)
Out[2]: 
array([  1.47351436e+37,   9.93620693e+37,   2.22893053e+38,
        -3.33828977e+38,   1.08247781e+37,  -8.37481260e+37,
         2.64176554e+38,  -2.72207226e+37,   2.54790459e+38,
        -2.47883866e+38])
Run Code Online (Sandbox Code Playgroud)

但如果我尝试将其用于64位数字,我会得到

In [3]: np.random.uniform(low=np.finfo(np.float64).min,high=np.finfo(np.float64).max,size=10)
Out[3]: array([ Inf,  Inf,  Inf,  Inf,  Inf,  Inf,  Inf,  Inf,  Inf,  Inf])
Run Code Online (Sandbox Code Playgroud)

类似地,对于整数,我可以成功生成随机32位整数:

In [4]: np.random.random_integers(np.iinfo(np.int32).min,high=np.iinfo(np.int32).max,size=10)
Out[4]: 
array([-1506183689,   662982379, -1616890435, -1519456789,  1489753527,
        -604311122,  2034533014,   449680073,  -444302414, -1924170329])
Run Code Online (Sandbox Code Playgroud)

但是64位整数不成功:

In [5]: np.random.random_integers(np.iinfo(np.int64).min,high=np.iinfo(np.int64).max,size=10)
---------------------------------------------------------------------------
OverflowError                             Traceback (most recent call last)

/Users/tom/tmp/<ipython console> in <module>()

/Library/Python/2.6/site-packages/numpy/random/mtrand.so in mtrand.RandomState.random_integers (numpy/random/mtrand/mtrand.c:6640)()

/Library/Python/2.6/site-packages/numpy/random/mtrand.so in mtrand.RandomState.randint (numpy/random/mtrand/mtrand.c:5813)()

OverflowError: long int too large to convert to …
Run Code Online (Sandbox Code Playgroud)

python random numpy

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

C++ operator []语法

只是一个快速的语法问题.我正在写一个地图课(学校).

如果我定义以下运算符重载:

template<typename Key, typename Val> class Map {...
Val* operator[](Key k);
Run Code Online (Sandbox Code Playgroud)

当用户写道时会发生什么:

Map<int,int> myMap;
map[10] = 3;
Run Code Online (Sandbox Code Playgroud)

做类似的事情只会覆盖Key k处的[null]指针的临时副本.甚至可以这样做:

map[10] = 3;
printf("%i\n", map[10]); 
Run Code Online (Sandbox Code Playgroud)

同一个运算符过载?

c++ operator-overloading map operators

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

是否可以使用|| 在PHP中切换?

switch ($foo)
    {
        case 3 || 5:
           bar();
        break;

        case 2:
          apple();
        break;
    }
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,第一个switch语句是否有效?bar()如果值为$foo3或5,我希望它调用该函数

php switch-statement fall-through

5
推荐指数
3
解决办法
500
查看次数

正则表达式[aZ]是否有效,如果是,那么它是否与[a-zA-Z]相同?

正则表达式[aZ]是否有效,如果是,那么它是否与[a-zA-Z]相同?请注意,在[aZ]中,它a是小写,Z是大写.

编辑:

我收到了一些答案,指出虽然[aZ]无效,但[Az]有效(但不会与[a-zA-Z]相同),这正是我所寻找的.因为我想知道一般是否可以用更紧凑的版本替换[a-zA-Z].

感谢所有为答案做出贡献的人.

regex

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

获取自己的网络内容

我有一个PHP在我的网络上进行一些维护操作,我需要它最后一个操作是将屏幕内容保存到文件中.我的意思是,自我满足.如果屏幕显示:"OP1 - OK ...",则必须将其保存到文件中:"OP1 - OK ...".

将我的操作的所有结果保存到变量中对我来说非常困难.这就是我需要获取自我屏幕内容的原因.

有没有办法做到这一点?

php

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

ANTLR:"缺少对规则范围的属性访问"问题

我正在尝试构建一个解析标记句子的ANTLR语法,例如:

DT The NP cat VB ate DT a NP rat
Run Code Online (Sandbox Code Playgroud)

并有语法:

fragment TOKEN  :   (('A'..'Z') | ('a'..'z'))+;
fragment WS :   (' ' | '\t')+;
WSX :   WS;
DTTOK   :   ('DT' WS TOKEN);
NPTOK   :   ('NP' WS TOKEN);
nounPhrase:  (DTTOK WSX NPTOK);
chunker : nounPhrase {System.out.println("chunk found "+"("+$nounPhrase+")");};
Run Code Online (Sandbox Code Playgroud)

语法生成器missing attribute access on rule scope: nounPhrase在最后一行生成" ".

[我仍然是ANTLR的新手,虽然有些语法工作但它仍然是反复试验的.我还经常在运行像这样小的语法时遇到"OutOfMemory"错误 - 欢迎任何帮助.

我正在使用ANTLRWorks 1.3生成代码并在Java 1.6下运行.

java antlr

8
推荐指数
2
解决办法
6843
查看次数