免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5558 | 回复: 19

perfbook面向多线程编程 建楼,plelase make youself.. [复制链接]

论坛徽章:
0
发表于 2011-11-24 17:48 |显示全部楼层
本帖最后由 wangzhen11aaa 于 2011-11-26 09:23 编辑

  1. 22
  2. 23         for (i = 0; i < 100; i++) {
  3. 24                 newx = ACCESS_ONCE(x);
  4. 25                 if (newx != oldx) {
  5. 26                         printf("lock_reader() : x = %d \n", newx);
  6. 27                 }
  7. 28                 oldx = newx;
  8. 29                 poll(NULL, 0, 1);
复制代码
ACESS_ONCE(x) 宏定义在 /linux/compiler.h 中
当我包含 <linux/compiler.h>
gcc 报告没有这个文件。

当我加上 -I /usr/src/kernels/linux-2.6.39.1/include/linux 时,出现一大堆错误。
当我不包含 <linux/compiler.h>时,当然就出现了

$gcc -o Plockrw Plockrw.c -pthread
/tmp/cc4ktUwE.o: In function `lock_reader':
Plockrw.c.text+0x53): undefined reference to `ACCESS_ONCE'
/tmp/cc4ktUwE.o: In function `lock_writer':
Plockrw.c.text+0x114): undefined reference to `ACCESS_ONCE'
collect2: ld 返回 1


我在想,是把这个当作一个模块来写还是一个普通的应用程序来写。
请指教。。。

论坛徽章:
2
CU十二周年纪念徽章
日期:2013-10-24 15:41:34处女座
日期:2013-12-27 22:22:41
发表于 2011-11-24 18:05 |显示全部楼层
这关pthread屁事,乃为什么要用ACCESS_ONCE?乃为什么要在用户态程序里包含内核的头文件?唉,记得以前劝过LZ先别折腾内核。

论坛徽章:
0
发表于 2011-11-24 18:10 |显示全部楼层
回复 2# tempname2


   。。。。。。
我是看着perfbook 编写的。。。
我还纳闷呢。。。。为什么包含这个。。。

不折腾它,折腾什么。。

论坛徽章:
0
发表于 2011-11-24 18:23 |显示全部楼层
perfbook是下面这个吗?
= 开源并行编程图书(中文版) = '''Is Parallel Programming Hard, And, If So, What Can You Do About It?'''[[BR]] 是由'''Paul E. McKenney'''发起的'''开源'''并行编程图书项目。[[BR]] 他原本正在写一本并行编程图书,最初的想法是在完成后向外公布,但随后意识到这是一项不可能真正完成的任务,因为新的并行编程创意层出不穷。于是他决定将自己的书公诸于众,创建了一个Git库让任何人都可以跟踪图书的进展或提供关于并行编程的新想法,汇集大众智慧共同书写并行编程。 本项目是该书的'''中文版'''相关工作。 这项工作仅代表作者而未必是他们各自雇主的观点。

论坛徽章:
0
发表于 2011-11-24 18:29 |显示全部楼层
回复 4# digdeep126

我看到的是E版的。。。中文版不知道有没有这样的问题。。

论坛徽章:
2
CU十二周年纪念徽章
日期:2013-10-24 15:41:34处女座
日期:2013-12-27 22:22:41
发表于 2011-11-24 18:31 |显示全部楼层
回复 3# wangzhen11aaa

#define ACCESS_ONCE(x) (*(volatile typeof(x) *)&(x))

这个宏很独立,你要真想用就自己定义一个。

看过LZ以前发的一系列帖,有点反应过激了。大家年纪相仿,提点建议而已。

论坛徽章:
0
发表于 2011-11-24 18:31 |显示全部楼层
我刚才下到的是中文版的:http://www.rdrop.com/users/paulmck/perfbook/
perfbook-cn.2011.10...> 09-Nov-2011 15:10  10.8M

论坛徽章:
0
发表于 2011-11-24 18:32 |显示全部楼层
我刚才下到的是中文版的:http://www.rdrop.com/users/paulmck/perfbook/
perfbook-cn.2011.10...> 09-Nov-2011 15:10  10.8M

论坛徽章:
0
发表于 2011-11-24 18:34 |显示全部楼层
回复 6# tempname2
没事。慢慢成长么。。。 我承认自己还很菜。。。

论坛徽章:
0
发表于 2011-11-24 18:35 |显示全部楼层
回复 8# digdeep126

呵呵,我把那个宏定义给去掉了。。。。结果就对了。。。。
我喜欢读英文的东西了。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP