免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2461 | 回复: 7
打印 上一主题 下一主题

[C] 关于gc for c和多线程 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-03-23 15:27 |只看该作者 |倒序浏览
xdjm:因为小弟接触linux和c时间不长,对他们也不是很了解!所以看到了有一个gc for c的东东,感觉不错就用了,但是一些test程序就会出问题。特别是多线程程序,一跑就会出错,有对此熟悉的大大吗?方便提供一个使用gc for c的多线程explame!小弟感激不尽!

论坛徽章:
0
2 [报告]
发表于 2011-03-23 17:21 |只看该作者
就没人能玩吗?

论坛徽章:
1
射手座
日期:2013-08-21 13:11:46
3 [报告]
发表于 2011-03-23 19:52 |只看该作者
手动管理内存,如果不愿意的话,去用Java

论坛徽章:
0
4 [报告]
发表于 2011-03-23 20:44 |只看该作者

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
5 [报告]
发表于 2011-03-24 17:47 |只看该作者
gc for c ? 没用过,不过用c的一般都手动管理内存了 ……

论坛徽章:
0
6 [报告]
发表于 2011-03-26 21:24 |只看该作者
回复 4# Fleurer
是这个!

论坛徽章:
0
7 [报告]
发表于 2011-03-28 17:29 |只看该作者
本帖最后由 xvhfeng 于 2011-03-28 17:31 编辑
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <gc.h>
  4. #include <string.h>
  5. #incude <gc/gc_pthread_redirects.h>

  6. void *run(void *arg);

  7. struct gc_test
  8. {
  9.         int id;
  10.         char *value;
  11. };

  12. int main(int argc,char** argv)
  13. {
  14.         GC_INIT();
  15.         int i = 0;
  16.         pthread_t threadid[10];
  17.         for(i = 0; i < 10; i++)
  18.         {
  19.                 GC_pthread_create(&(threadid[i]),NULL,run,NULL);
  20.         }
  21. }

  22. void *run(void *arg)
  23. {
  24.         int i;       
  25.         struct gc_test *obj =(struct gc_test*) GC_MALLOC(sizeof(struct gc_test));
  26.         for(i = 0; i<100000; i++)
  27.         {
  28.                 obj->id = i;
  29.                 obj->value = (char *)GC_MALLOC_ATOMIC(i * sizeof(char));
  30.                 memset(obj->value,0,i);
  31.                 printf("%d\n",i);
  32.         }

  33. }
  34. 安装gc时,configure 参数为:--enable-threads=posix --enable-thread-local-alloc --enable-parallel-mark
  35. 系统为ubuntu 10.04 32位
  36. 编译:
  37. gcc -g test_gc.c -I/usr/local/include -L/usr/local/lib/ -lgc -lpthread -o test
复制代码
这是我写的最简单的测试代码,运行时会报SUGPWR!有大侠能指教吗?

论坛徽章:
0
8 [报告]
发表于 2011-03-29 03:07 |只看该作者
用这个东东的大侠就那么少吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP