小编une*_*ist的帖子

你有什么策略来保持低内存使用率?

Ruby真的很渴望内存 - 但也值得每一位.

你怎么做才能保持低内存使用率?您是否避免使用较大的字符串并使用较小的数组/哈希值,或者关注您并让垃圾收集器完成工作是没有问题的?

编辑:我在这里发现了一篇关于这个主题的好文章- 旧的,但仍然很有趣.

ruby garbage-collection memory-management

29
推荐指数
5
解决办法
4599
查看次数

Manpage scandir()原型怪异

我有scandir()的问题:联机帮助页包含这个原型:

int scandir(const char *dir, struct dirent ***namelist,
  int (*filter)(const struct dirent *),
  int (*compar)(const struct dirent **, const struct dirent **));
Run Code Online (Sandbox Code Playgroud)

所以我有这个:

static inline int
RubyCompare(const struct dirent **a,
  const struct dirent **b)
{
  return(strcmp((*a)->d_name, (*b)->d_name));
}
Run Code Online (Sandbox Code Playgroud)

这是电话:

num = scandir(buf, &entries, NULL, RubyCompare);
Run Code Online (Sandbox Code Playgroud)

最后,编译器说:

warning: passing argument 4 of ‘scandir’ from incompatible pointer type
Run Code Online (Sandbox Code Playgroud)

编译器是gcc-4.3.2,我的CFLAGS如下:

-Wall -Wpointer-arith -Wstrict-prototypes -Wunused -Wshadow -std=gnu99
Run Code Online (Sandbox Code Playgroud)

这个警告是什么意思?RubyCompare的声明看起来对我来说是正确的,除了警告代码完全可行.

c manpage

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

有没有办法让类变量与setter/getter一样的虚拟变量?

我将Ruby嵌入到我的C项目中,并希望加载几个定义从我自己的父类继承的类的文件.每个继承的类都需要在初始化时设置一些变量,我不希望Ruby和C有两个不同的变量.

有没有办法定义一个具有自己的自定义setter/getter的类变量,或者这是一种处理它的愚蠢方法?使用自定义数据类型可能会更好吗?

c ruby api

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

标签 统计

c ×2

ruby ×2

api ×1

garbage-collection ×1

manpage ×1

memory-management ×1