小编Noc*_*rno的帖子

术语竞技场与记忆有什么关系?

我正在读一本关于记忆的书作为编程概念.在后面的一章中,作者大量使用了竞技场这个词,但从未定义它.我已经搜索了这个词的含义以及它与记忆的关系,并没有发现任何东西.以下是作者使用该术语的一些背景:

"序列化的下一个例子包含一个称为特定领域内存分配的策略."

"......在处理内存泄漏或从特定领域分配时,这很有用."

"......如果我们想要释放内存,那么我们将解除整个竞技场."

作者在一章中使用了100多次这个词.词汇表中唯一的定义是:

从竞技场分配 - 首先分配竞技场然后通过程序本身管理竞技场内的分配/解除分配的技术(而不是由进程内存管理器); 用于复杂数据结构和对象的压缩和序列化,或用于管理安全关键和/或容错系统中的内存.

在给出这些背景的情况下,任何人都能为我定义竞技场吗?

c c++ memory-management

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

我什么时候应该在MongoDB中创建一个新的集合?

所以这里只是一个快速的最佳实践问题.我怎么知道何时应该在MongoDB中创建新的集合?

我有一个查询电视节目数据的应用程序.每个节目是否都有自己的集合,或者它们是否应该存储在一个集合中,并在同一文档中包含相关数据.请解释您选择所采用方法的原因.(我仍然是MongoDB的新手.我已经习惯了MySql.)

collections mongodb

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

在node.js中访问Windows COM对象

我正在使用具有基于COM的界面的API.我一直在使用win32ole模块来实例化API,但其中一个API函数需要一个null值,而win32ole在传递null参数时会抱怨.我发现了这种解决方法,但它只是用对象替换了一个空值.这允许我在没有win32ole抱怨的情况下将null作为参数传递给函数调用,但是函数仍然失败,因为它需要一个空值,现在它被替换为变通方​​法中的对象.

如何将null参数传递给此API函数?

api.Order_Import('import.xml', 'import.xsd', 0, false, '', '', null)
Run Code Online (Sandbox Code Playgroud)

我尝试的第一件事是抛弃最后一个论点.这使win32ole满意,但仍然导致函数失败,错误消息参数'loOptParam'必须为null.

除了win32ole之外,我还可以使用另一个模块来处理节点中的COM对象吗?我的研究没有改变.

javascript c++ com win32ole node.js

7
推荐指数
0
解决办法
1526
查看次数

为什么在循环内部定义了这个缓冲区?

我一直认为我不应该在循环中定义变量,因为它不必要或浪费.这让我想知道以下recv()函数是否需要为循环的每次迭代提供一个新的缓冲区:

while (totalBytesRecvd < echoStrLen)
{
    char buffer[BUFSIZE];
    numBytes = recv(sock, buffer, BUFSIZE - 1, 0);
    ...
    totalBytesRecvd += numBytes;
    buffer[numBytes] = '\0';
    fputs(buffer, stdout);
}
Run Code Online (Sandbox Code Playgroud)

recv()的文档没有提到它如何使用缓冲区指针.为了更好地理解,我尝试在循环之前定义缓冲区,并且recv()似乎覆盖缓冲区,而不是重新定义它.这是有道理的,因为recv()传递一个指向缓冲区开头的指针.

是否有特定的理由在循环内反复定义缓冲区?或者我对此的基本理解是否正确?

c sockets tcp

6
推荐指数
2
解决办法
404
查看次数

getline重新启动

我在C语言中使用get line函数来读取文件的行。我想遍历该函数,以便可以多次读取文件。但是由于某种原因,它在后续循环的开始仅读取一次(我认为某个指针仍指向最后一行)。我该如何重置?

为了更清楚一点,如果下面的文件中有100行,则最大val将为100,即使最大应为300。

谢谢!

FILE* fp = myfopen (inf, "r");
char* line = NULL;
size_t len = 0;

int num=3
int val=0

for (i=0;i<num;i++)
{
    while (getline (&line, &len, fp) != -1)
    {  
        val++;   
    }
}
Run Code Online (Sandbox Code Playgroud)

c for-loop getline

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

使用自制软件安装pyinstaller

我在OS X 10.10.5上使用python 2.7.0和pygame 1.9.1.PyInstaller的用户指南规定Mac用户应该使用Homebrew,我已经安装了它.我用它来安装Python和Pygame.但是'brew install PyInstaller'在输入终端时根本不会生成任何公式!那我怎么用homebrew来安装PyInstaller呢?这似乎应该很简单,我很抱歉打扰你,但我搜索得很高,没有结果.

python homebrew pyinstaller python-2.7

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