问题列表 - 第26681页

理解C++指针(当它们指向指针时)

我想我很了解引用和指针.这是我(我想)知道的:

int i = 5; //i is a primitive type, the value is 5, i do not know the address.
int *ptr;  //a pointer to an int. i have no way if knowing the value yet.
ptr = &i;  //now i have an address for the value of i (called ptr)
*ptr = 10; //Go to the value in ptr, use it to find a location and store 10 there
Run Code Online (Sandbox Code Playgroud)

请随时评论或更正这些陈述.

现在我正试图跳转到指针数组.这是我不知道的:

char **char_ptrs = new char *[50];
Node **node_ptrs …
Run Code Online (Sandbox Code Playgroud)

c++ memory pointers

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

有没有办法在Django中为内联管理表单分别设置页面?

假设我有一个模型A.然后,我有几个模型B,C,D,E等每个都有一个foreignKey模型A.我知道我可以设置B,​​C,D等作为模型A的内联,以便当我创建一个模型A时,它将显示用于为每个子模型添加多个项目的表单集,但我认为这会产生一个相当混乱和非常大的页面.

有没有办法以某种方式,而不是让所有这些formset内联在同一页面上,让每个formset在一个单独的页面上?换句话说,会有模型A的链接创建/编辑关联模型B,创建/编辑关联的模型C等等?

谢谢!

python django django-admin

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

将JSF与Spring集成

我还没有实现任何代码,我仍在为新应用程序的整体架构工作,这将是我第一次使用JSF + Spring.

我需要将Web服务放在Spring服务bean(业务逻辑层)之前,因为除了表示层之外,其他应用程序可以访问这些bean.在为应用程序定义不同的层或层时,我不确定如何将JSF(表示层)与Spring(此应用程序中的业务层)集成.

我正在考虑定义某种公共层或服务层,以便为JSF和Spring提供粘合代码,但在此之前,我想听听别人他们做了什么,或者他们是否已经使用其他框架来帮助这个场景的粘合代码(我已经检查了Spring MVC/Spring Faces,但我不确定这是否是我需要的,因为我认为这个应用程序更像是以JSF为中心而不是以Spring为中心,但也许你可以帮助我关于考虑另一种方法).

提前致谢.

java jsf spring spring-mvc

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

Eclipse m2eclipse从本地存储库获取依赖项

我在我的机器上安装了本地安装的依赖项(〜/ .m2/repository/blah/blah/blah),并且m2eclipse没有将它们识别为那里 - 我认为m2eclipse正在使用它自己的maven实例.有没有办法强迫m2eclipse在osx中​​使用本地maven安装?

eclipse maven-2 m2eclipse

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

如何在汇编程序中实现相对JMP(x86)?

在为x86平台构建汇编程序时,我遇到了编写JMP指令的一些问题:

OPCODE   INSTRUCTION   SIZE
 EB cb     JMP rel8     2
 E9 cw     JMP rel16    4 (because of 0x66 16-bit prefix)
 E9 cd     JMP rel32    5
 ...
Run Code Online (Sandbox Code Playgroud)

(来自我最喜欢的x86指令网站http://siyobik.info/index.php?module=x86&id=147)

所有都是相对跳转,其中每个编码(操作+操作数)的大小在第三列中.

现在我的原始设置(因此因故障而设计)为每条指令保留了最大(5个字节)空间.操作数尚不清楚,因为它跳转到一个未知的位置.所以我实现了一个"重写"机制,如果已知跳转的位置,则将操作数重写在内存中的正确位置,并用NOPs 填充其余部分.在紧密循环中这是一个有点严重的问题.

现在我的问题是以下情况:

b: XXX
c: JMP a
e: XXX
   ...
   XXX
d: JMP b
a: XXX      (where XXX is any instruction, depending
             on the to-be assembled program)
Run Code Online (Sandbox Code Playgroud)

问题是我想要一个JMP指令的最小可能编码(并且没有 NOP填充).

我必须知道指令的大小c之前,我可以计算之间的相对距离a,并b在操作数d.这同样适用JMP于 …

x86 encoding instruction-set

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

TVirtualStringTree - 重置非可视节点和内存消耗

我有一个应用程序,从二进制日志文件加载记录,并在虚拟TListView中显示它们.文件中可能有数百万条记录,用户可以过滤显示,因此我不会一次加载内存中的所有记录,并且ListView项目索引不是一对一的关系.文件记录偏移(例如,列表项1可以是文件记录100).我使用ListView的OnDataHint事件来加载ListView实际感兴趣的项目的记录.当用户滚动时,OnDataHint指定的范围发生变化,允许我释放不在新范围内的记录,并分配新记录如所须.

这样工作正常,速度可以忍受,并且内存占用非常低.

我目前正在评估TVirtualStringTree作为TListView的替代品,主要是因为我想添加扩展/折叠跨越多行的记录的能力(我可以通过动态递增/递减项目计数来使用TListView来捏造它,但这不是像使用真正的树一样直接).

在大多数情况下,我已经能够移植TListView逻辑并让一切工作正常.我注意到TVirtualStringTree的虚拟范例有很大的不同.它没有与TListView相同的OnDataHint功能(我可以使用OnScroll事件伪造它,这允许我的内存缓冲逻辑继续工作),我可以使用OnInitializeNode事件将节点与分配的记录相关联.

但是,一旦树节点初始化,它就会看到它在树的生命周期内保持初始化状态.这对我不好.当用户滚动并从内存中删除记录时,我需要重置那些非可视节点,而不是完全从树中删除它们,或者丢失它们的展开/折叠状态.当用户将它们滚动回视图时,我可以重新分配记录并重新初始化节点.基本上,就虚拟化而言,我希望尽可能使TVirtualStringTree像TListView一样.

我已经看到TVirtualStringTree有一个ResetNode()方法,但每次尝试使用它时都会遇到各种错误.我一定是错了.我还想过将每个节点内的数据指针存储到我的记录缓冲区中,然后分配并释放内存,相应地更新这些指针.最终效果也不是很好.

更糟糕的是,我最大的测试日志文件中有大约500万条记录.如果我一次初始化具有那么多节点的TVirtualStringTree(当日志显示未经过滤时),那么树的内部开销就会占用高达260MB的内存(还没有分配任何记录).而使用TListView,加载相同的日志文件及其背后的所有内存逻辑,我可以使用几个MB.

有任何想法吗?

delphi vcl c++builder virtualtreeview

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

C++ STL make_heap和pop_heap不起作用

我需要使用堆,所以我搜索了STL,但它似乎没有用,我写了一些代码来解释我的意思:

#include <stdio.h>
#include <stdlib.h>
#include <vector>
#include <algorithm>

struct data
{
    int indice;
    int tamanho;
};


bool comparator2(const data* a, const data* b)
{
    return (a->tamanho < b->tamanho);
}

int main()
{

        std::vector<data*> mesas;

        data x1, x2, x3, x4, x5;

        x1.indice = 1;
        x1.tamanho = 3;

        x2.indice = 2;
        x2.tamanho = 5;

        x3.indice = 3;
        x3.tamanho = 2;

        x4.indice = 4;
        x4.tamanho = 6;

        x5.indice = 5;
        x5.tamanho = 4;

        mesas.push_back(&x1);

        mesas.push_back(&x2);

        mesas.push_back(&x3);

        mesas.push_back(&x4);

        mesas.push_back(&x5);


        make_heap(mesas.begin(), mesas.end(), comparator2);

        for(int …
Run Code Online (Sandbox Code Playgroud)

c++ heap stl

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

使用后台线程时,有效地显示文件状态

如何在使用后台线程时有效地显示文件的状态?

例如,假设我有一个100MB的文件:

当我通过一个线程(仅作为一个例子)执行下面的代码时,它运行大约1分钟:

foreach(byte b in file.bytes)
{
   WriteByte(b, xxx);
}
Run Code Online (Sandbox Code Playgroud)

但是......如果我想更新用户我必须使用委托从主线程更新UI,下面的代码需要 - 永远 - 字面上我不知道我还在等待多久,我创建了这个帖子,它甚至没有完成30%.

int total = file.length;
int current = 0;
foreach(byte b in file.bytes)
{
   current++;
   UpdateCurrentFileStatus(current, total);
   WriteByte(b, xxx);
}

public delegate void UpdateCurrentFileStatus(int cur, int total);
public void UpdateCurrentFileStatus(int cur, int total)
{
        // Check if invoke required, if so create instance of delegate
        // the update the UI

        if(this.InvokeRequired)
        {

        }
        else
        {
          UpdateUI(...)
        }
}
Run Code Online (Sandbox Code Playgroud)

c# multithreading statusbar

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

在运行时获取可执行文件路径的最佳方法是什么?

如果我的go程序可以以不同的方式执行(cron,monit等等),那么在运行时期间获取包含可执行文件的目录的最可靠方法是什么?

在python中,这将是变量:

os.path.realpath(__file__)
Run Code Online (Sandbox Code Playgroud)

go

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

将JavaScript数组作为JSON值发送?

如何在我的AJAX请求中将JavaScript数组作为JSON变量发送?

javascript arrays ajax post json

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