小编Moo*_*oox的帖子

有没有办法用内存分配报告来分析ruby 1.9.2脚本?

我在我的ruby应用程序中遇到了瓶颈,但我无法弄清楚它在哪里放慢速度.我找到了memprof,但它不支持1.9.我还发现ruby-prof似乎在1.9.2上工作正常,但是内存分配需要一个修补的ruby解释器,我只能找到ruby 1.8的补丁.是否有一个红宝石探测器可以完成这项工作?

ruby profiling

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

用strtok分割句子时内存泄漏

我正在尝试将一个字符串拆分成句子(由句子分隔符分隔).代码本身它工作但我不断在函数中发生内存泄漏.

char ** splitSentences(char *string) {

int sentencecount = 0;
char* buf = NULL;
char* str = NULL;

buf = malloc((strlen(string) + 1) * sizeof(char));
strcpy(buf,string);

str = buf;

sentencecount = countSentences(str);

if(sentencecount != 0)
{
    char** sentences = NULL;
    sentences = malloc((sentencecount + 1)*sizeof(char*));
    memset(sentences,0,sentencecount+1);

    char* strToken = NULL;
    strToken = malloc((strlen(str)+1)*sizeof(char));
    memset(strToken,0,strlen(str)+1);

    strToken = strtok(str, SENTENCE_DELIMITERS);

    int i = 0;

    while(strToken != NULL) {
        sentences[i] = NULL;
        sentences[i] = malloc((strlen(strToken)+1)*sizeof(char));
        strncpy(sentences[i], strToken,strlen(strToken) + 1);
        strToken = strtok(NULL, SENTENCE_DELIMITERS); …
Run Code Online (Sandbox Code Playgroud)

c memory-leaks strtok

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

比较字符串C的长度

我在比较C中的字符串时遇到了麻烦.首先,我需要从命令行参数中找到每个字符串的长度,然后比较它们以及打印最大的字符串.

到目前为止,它只是打印每个类型字符串的长度.我需要根据长度而不是字母顺序来比较它们.

我不明白为什么它现在正在工作,我该怎么办呢?谢谢!

#include <stdio.h>
#include <string.h>

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

    for(i = 0; i<argc; i++)
    {
        length = strlen(argv[i]);
        printf("%s %d\n", argv[i], length);

        if(strlen(argv[i]) < strlen(argv[i+1]))
        {
            printf("%s is the biggest \n", argv[i+1]);
        }
        else
        {
            printf("%s is the biggest \n", argv[i]);
        }
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c string

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

标签 统计

c ×2

memory-leaks ×1

profiling ×1

ruby ×1

string ×1

strtok ×1