首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

真是个可怕的世界,细思极恐

环境,这个词在计算机世界有独特的韵味。

研究一个词,总是乏味而且没有意义的。

但是用另外一种方式去体会它,就感觉能把握它的真谛。

举两个例子。

宿主式环境:

给你一台计算机,又给你搭好了操作系统,Windows或者Unix。

只要你对当前操作系统的开发方式足够了解,就可以完成各种开发任务。

这个是,后端开发(服务端开发)。

服务端,看似和我们很遥远,其实非常近。

游戏、网购、网页。虽然我们看到的是应用层,实际上,功能都是由服务器实现。

自由式环境:

给你一块开发板,有微处理器、ROM等各种电子元件,没有操作系统。

功能代码要自己写,驱动要自己写,接口要自己定义,内存要自己分配,程序要自己烧录。

这个是,嵌入式开发。

嵌入式开发,我可以直接举例子。

冰箱、空调、洗衣机、小型游戏机,所有拆开之后能找到开发板的电器。

有主板,就有程序。

程序早就深入生活。

我们每天使用,受益,却不知道,不了解,甚至无法摆脱!

这真是一个可怕的世界,细思极恐。

只有不断学习,才能削弱我的焦虑。

今天分享程序的执行过程。

程序的执行过程需要经历几个阶段。

首先,程序必须载入到内存中。

在宿主式环境中,这个任务由操作系统完成。全局变量将在这个时候初始化(静态存储区)。

在独立式环境中,程序的载入必须由手工安排,也可能是把代码烧录到ROM中。

然后,程序的执行便开始。

在宿主式环境中,通常一个小型的启动程序与程序链接在一起。它负责处理一系列日常事务,如收集命令行参数。接着,便调用main函数。

现在,便开始执行代码。

在绝大多数机器里,程序将使用一个运行时堆栈,它用于存储函数的局部变量和返回值。这个时候,程序也可以使用静态存储区,存储静态局部变量。

最后一个阶段是程序的终止。

它可以有多种不同的原因引起,可以正常返回,也可以异常终止。

学习新的知识,是一件非常有趣的事。

这是一个探索的过程。

不得不承认,时至今日,我们对计算机、对程序、对C语言的认识都太少。

冰山一角,还不足以帮助我们揭开面纱。

但是,这个过程充满乐趣和希望。

关于柚子编程

致力于零基础入阶编程世界,一周一更

每周日中午12:00准时更新

喜欢记得来一个

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180211G0DRBQ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券