打印
[C语言]

浅说C语言的机制、策略和C语言运行环境。(抛砖引玉)。

[复制链接]
2156|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xiaoyuan_ly|  楼主 | 2013-10-10 20:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
         机制是什么? 我的理解:机制是所有理想目标的总和,而策略是为了达成这些理想目标的方法;再者是机制的无限理想逻辑和策略的现实方法又是一对矛盾的统一体。正如如是说的那样:理想是丰满的,现在却是骨感的。也许我们做的只是让理想的机制减点肥,而让现实的策略丰满点,以达成在合适机制目标下的合适策略。同时我又在想,如果有一个超光速无限快的CPU和一片超光速容量无限大的内存片,那我就可以像太阳发出的一缕阳光后,而我在地球上等待着这缕阳光到来那样,真的是什么都是浮云了。狭义的讲,C语言的机制是让我们可以发挥无限逻辑成为可能,而C语言的策略就是C编译器。当理想遇到现实的时候,机制不得不低下那高贵的头颅,脚踏实地的老老实实的在策略的怀抱中撒娇,以期望能让自己无限接近那个理想目标。
      所以说用C语言,一定要了解C编译器。不了解编译器,会让自己的无限逻辑撞得头破血流。这样就有了C语言运行环境,当你的程序被C编译器链接加载后,已经潜意识的有了个C语言的运行环境要求了,这不是你的逻辑编程造成的,而是由于C编译器这个策略方法决定了,就像用我的方法就要遵循我的规矩那样。因为在C编译器编译你的程序的时候,运用的是C编译器自己的组织数据的方式,用了编译器自己的规则、规则下的数据结构以及这些数据结构在内存中的具体排列位置;C语言的运行环境说的就是这些,这些的集合要素就是C语言的运行环境。在C51、ARM、X86中,其各自C语言的运行环境也就不那么相同,都有各自自己的硬件体系结构。有静态的加载方式,有动态的加载方式。这2种方式就像是指针和指针的指针那样;第一次的加载总是静态的,在静态的基础上再加载就有了动态的可能了。还有堆栈的使用,在不同的C编译器下也不尽相同。用堆的,不用堆的。局部变量全部用栈的,和部分用栈的。有软件堆栈指针的(内存变量,指令控制加减),有硬件堆栈指针的(寄存器变量和硬件自动加减),还有半软半硬的(寄存器变量和指令加减);这些都组成了C语言的运行环境。
    要移植C,不得不对这些有所考虑。要移植C操作系统就更加需要知道,这些不同的硬件体系结构和对应下的C编译器。
评分
参与人数 1威望 +2 收起 理由
xyz549040622 + 2

相关帖子

沙发
i55| | 2013-10-10 20:30 | 只看该作者
不明觉厉

使用特权

评论回复
板凳
xyz549040622| | 2013-10-10 20:32 | 只看该作者
说的有道理,那具体呢?

使用特权

评论回复
评论
xiaoyuan_ly 2013-10-10 20:39 回复TA
版主,抛砖引玉了,大家都随便说说了 
地板
sunhq02| | 2013-10-11 08:42 | 只看该作者
看完感觉和没说一样

使用特权

评论回复
5
chenbb8| | 2013-10-11 08:52 | 只看该作者
本帖最后由 chenbb8 于 2013-10-11 08:54 编辑

反正大概意思是C语言编码的时候 要根据不同的编译器和硬件来做调整吧
LZ叫大家随便说说,难道是想让大家说下自己的用过的几个编译环境的特点么……
有心的话,在大量的帖子中能翻出很多信息来,要写的话估计要费脑汁来总结
谁上的~~

使用特权

评论回复
6
原野之狼| | 2013-10-11 11:11 | 只看该作者
这扯得有点远了!
还是得按正规套路,多看看计算机基础书。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:追求卓越,成功将不期而至。

27

主题

284

帖子

1

粉丝