小编cap*_*ede的帖子

如何在使用林间空地时在笔记本中添加标签?

GtkNotebook在Glade中创建时,我默认会获得3个标签.如何添加其他标签?

c gtk glade

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

内存中的字符串文字是什么?堆栈/堆?

可能重复:
C字符串文字:它们去哪里了?

我所知道的,

通常,指针必须由malloc()分配,并将分配给堆,然后由free()取消分配;

非指针(int,char,float等)将自动分配给堆栈,并且只要函数返回就不会分配

但是,从以下代码:

#include <stdio.h>

int main()
{
char *a;

a = "tesaja";

return 0;
}
Run Code Online (Sandbox Code Playgroud)

a分配到哪里?堆栈还是堆?

c heap stack pointers char

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

如何在Glade3中使用垂直滚动条使GtkTreeView工作?

我正在使用glade 3,创建TreeView并成功添加了行作为算法完成,但我有一个小问题,因为treeview将添加新行,因此我的"GUI"将变得更长到下面,我怎么能添加滚动条为这个TreeView?为了让我的"GUI"不再存在?

注意:我已添加"新调整"并将其连接到TreeView和ScrollBar垂直,但仍然无法完成工作.

任何的想法?

gtk glade scrollbar gtktreeview

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

用htop检测内存泄漏

伙计们,我创建了一个由GTK +库和一些链表组成的应用程序

当我看到通过htop它的资源显示如下:

    1  [||||||||||||||||||||||                                                             24.4%]     Tasks: 117, 163 thr; 1 running
  2  [||||||||||||||||||||                                                               21.8%]     Load average: 0.22 5.09 7.51 
  Mem[|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||               330/2003MB]     Uptime: 6 days, 02:09:22
  Swp[|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||  220/254MB]

  PID USER     PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command
 1843 rahulyud  20   0 94496  9296  5596 S 17.0  0.5  0:57.59 gnome-terminal
 1118 root      20   0 41112  8556  2612 S 14.0  0.4 25h13:05 /usr/bin/X :0 -nr -verbose -auth /var/run/gdm/auth-for-gdm-ubcbQV/database -nolisten tcp vt7
 3035 root      20   0  2808  1468 …
Run Code Online (Sandbox Code Playgroud)

c unix memory-leaks

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

内存替换在C?

伙计们,我对C中的记忆问题有疑问

请看以下代码:

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

char *tesaja(char *data)
{
        char *tmp = (char*)malloc(sizeof(char) * strlen(data));
        tmp = data;
        return tmp;
}

int main()
{
//area 1
char *wew = tesaja("budipergikepasar");
printf("nilai wew : %s\n",wew);

//area 2
wew = tesaja("kepasarbudisedangpergi");
printf("nilai wew : %s\n",wew);

return 0;
}
Run Code Online (Sandbox Code Playgroud)

并显示如下输出:

nilai wew : budipergikepasar
nilai wew : kepasarbudisedangpergi
Run Code Online (Sandbox Code Playgroud)

我唯一的问题是,区域1中的内存是否会自动解除分配并替换为新内存?

thx提前

c memory malloc

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

c中的小写字符串

我在这里有几行:

#include <stdio.h>

char *tolower(char *data)
{
    char *p = data;
    while(*p)
    {
        printf("nilai p : %c\n",*p);
            if(*p >= 'A' && *p <= 'Z')
            {
                *p += ('a' - 'A');
            }
        p++;
    }
    return p;

}

int main()
{

    char *a = "HajAR BleH";
    char *b = tolower(a);

    printf("nilai b : %s\n",b);
    printf("nilai a - A : %d\n",'a' - 'A');
return 0;
}
Run Code Online (Sandbox Code Playgroud)

接下来,编译,在gdb上运行,并跟踪分段

xxx@aaa:/tmp$ gcc -o aa aa.c --debug
xxx@aaa:/tmp$ gdb -q aa
Reading symbols from /tmp/aa...done.
(gdb) r …
Run Code Online (Sandbox Code Playgroud)

c string lowercase

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

标签 统计

c ×5

glade ×2

gtk ×2

char ×1

gtktreeview ×1

heap ×1

lowercase ×1

malloc ×1

memory ×1

memory-leaks ×1

pointers ×1

scrollbar ×1

stack ×1

string ×1

unix ×1