- 论坛徽章:
- 0
|
咱以事论事,以事评事。
从这个贴子里评论此人的逻辑有没有问题。
原贴:http://bbs.chinaunix.net/thread-1797095-1-1.html 《关于局部变量》
在 9 楼贴出一段反汇编代码,说出自己的观点。
看看此人给出的回复:
看到一只羊是黑的
不能说明所有的羊是黑的
某编译器如此处理
不能说明其他编译器也如此处理
结论:通过汇编来理解C语言是靠不住的,是本末倒置
pmerofc 发表于 2010-10-10 10:16 ![]()
---------------------------------------------------------------------------------------------------------------------
我说此人的逻辑大大有问题,简直是强盗逻辑。我给他的评论是:颠倒是非,自我中心,将自己的结论强加于人, 空洞虚无。
1. 地球人都知道 “绝大多数羊都是白色”
gcc 编译器和 VC 处理手法都是一样,我相信这代表大多数编译器,我没看到有其它成熟编译器是不同的处理手法。
因此:如果用一个正常的逻辑思考,应该是这样评论编译器的实现:
“看到一只羊是白色的,不明说明所有的羊是白色的”
毕竟这个编译器代表大多数编译器是这样实现的(当然不能保证其它编译器是不是这样实现的),你能说明 gcc 和 VC 不是按照标准实现这个规则吗? 如果 gcc 和 VC 不是按标准实现,哪个编译器才是按标准。
看看以他的逻辑思考,居然变成“看到一只羊是黑色的,不明说明所有的羊的黑色的”
这样的结果就完全相反了,这完全将人置于屈理之中,这显然是他给人颠倒是非,将结论强加于人。
2. 由于前面的结论完全被他搞反了。
人家证明的是“一只羊是白色”被他搞反为: 人家证明“一只羊的黑色的”
如果他真的要证明“一只羊的白色的”或者“一只羊是黑色的”,很显然要事实去证明这一点,而不是空间的废话。
事实上,按照正常逻辑,他需要证明“有没有羊是黑色的”
3.
>> 某编译器如此处理
>> 不能说明其他编译器也如此处理
>> 结论:通过汇编来理解C语言是靠不住的,是本末倒置
还是那句话,你有能力就去证明。
代码的生成是依据标准规定。这个没错。
但是,看一件事实,对于汇编,应该这样理解:“汇编是有力的辅助证明手法,虽然不能以汇编说明一切”
这是一个“以偏概全”或者“以多概全”的问题,本末倒置说不上。
要不,用 C 语言层面上证明“这应该要如何实现”
可惜他没这个能力证明,就连标准是要规定如何实现?也没能力说 |
|