免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 0521
打印 上一主题 下一主题

囫囵C语言(原创)  关闭 [复制链接]

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
71 [报告]
发表于 2007-08-13 12:36 |只看该作者
原帖由 飞灰橙 于 2007-8-13 12:35 发表

a++ 就是一条指令吗?
如果a不是寄存器变量,在我手头的ARM946上需要有3条指令完成
        0x00000008:    e5901004    ....    LDR      r1,[r0,#4]
        0x0000000c:    e2811001    ....    ADD  ...

你说的非常有道理。
这个问题的确是平台相关的。

论坛徽章:
0
72 [报告]
发表于 2007-08-13 12:37 |只看该作者
楼主: take it easy

把文章给删了,别人想和你探讨都没办法了。发贴子就要有准备被评击的心里

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
73 [报告]
发表于 2007-08-13 12:38 |只看该作者
原帖由 0521 于 2007-8-13 12:35 发表

----------------------------

我什么时候说我是治学了?我就是记不清了,不可以么?有些工作环境脱离了,很难还原,你要我换工作么?

说实话,我买不起正版的编译器,但是似乎斑竹从没用过盗版?如 ...

我用过,但是我在偷偷摸摸地用,而且在自我约束下,逐渐减少对非授权商业软件的依赖。
那是因为我认为,软件的版权是要得到尊重的,我自己用也就罢了,但是如果还号召大家一起来用,这就说不过去了。

论坛徽章:
0
74 [报告]
发表于 2007-08-13 12:44 |只看该作者
原帖由 flw 于 2007-8-13 12:38 发表

我用过,但是我在偷偷摸摸地用,而且在自我约束下,逐渐减少对非授权商业软件的依赖。
那是因为我认为,软件的版权是要得到尊重的,我自己用也就罢了,但是如果还号召大家一起来用,这就说不过去了。



只不过我更无耻一些罢了,哈哈

论坛徽章:
0
75 [报告]
发表于 2007-08-13 12:49 |只看该作者
原帖由 flw 于 2007-8-13 12:36 发表

你说的非常有道理。
这个问题的确是平台相关的。



这个问题是平台相关的,哈哈!你早晚会发现我说的例子现实中都是存在的,哈哈。

论坛徽章:
0
76 [报告]
发表于 2007-08-13 12:50 |只看该作者
原帖由 flw 于 2007-8-13 11:35 发表

这个说法是不对的。Linux 下发生任务切换时,寄存器的值都要重新设置,全局变量的位置正是由寄存器来指示的。之所以在多线程中会共享全局变量是因为全局变量所在的页被同进程中所有的线程所共享。


这个好像不太对吧。似乎任务的切换只包括内核堆栈和进程上下文的切换吧,不涉及到全局变量的问题。对于内核全局变量,根本不需要切换,对于进程全局变量,不同进程的全局变量是靠虚拟内存管理来维护的。

论坛徽章:
0
77 [报告]
发表于 2007-08-13 12:50 |只看该作者
原帖由 mik 于 2007-8-13 12:37 发表
楼主: take it easy

把文章给删了,别人想和你探讨都没办法了。发贴子就要有准备被评击的心里



75楼 发表于 2007-8-13 12:35   


QUOTE:
原帖由 bluster 于 2007-8-13 11:04 发表

ft....又是一个只受得了恭维受不了批评的主
不是受不了批评,而是受不了无厘头的批评~


---------------------------------

有人替我回答了。

论坛徽章:
0
78 [报告]
发表于 2007-08-13 12:51 |只看该作者
原帖由 woshiwo 于 2007-8-13 12:50 发表


这个好像不太对吧。似乎任务的切换只包括内核堆栈和进程上下文的切换吧,不涉及到全局变量的问题。对于内核全局变量,根本不需要切换,对于进程全局变量,不同进程的全局变量是靠虚拟内存管理来维护的。



-----------------------------

有明白人,看看到底谁说错了!
从头到尾都是错的,哈哈,笑死我了!

论坛徽章:
0
79 [报告]
发表于 2007-08-13 12:53 |只看该作者
原帖由 0521 于 2007-8-13 12:51 发表



-----------------------------

有明白人,看看到底谁说错了!
从头到尾都是错的,哈哈,笑死我了!


建议平息风波,纯粹讨论技术问题。大家都消消火

论坛徽章:
0
80 [报告]
发表于 2007-08-13 12:57 |只看该作者
原帖由 flw 于 2007-8-13 11:35 发表

这个说法是不对的。Linux 下发生任务切换时,寄存器的值都要重新设置,全局变量的位置正是由寄存器来指示的。之所以在多线程中会共享全局变量是因为全局变量所在的页被同进程中所有的线程所共享。

感觉这个点评有点太过牵强,全局变量由那个寄存器来指示呢?ds?那整个代码也是现场因为由cs来指示,甚至整个该任务所占有的虚拟地址空间也是现场?因为pde,pdt指向了他们,那么干脆把整个任务 叫做现场。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP