程序是如何运行起来的

程序是如何运行起来的,第1张

程序是如何运行起来的?

如果要从底层逻辑来讲,是需要具备工科背景的硬件知识的,我们今天只讲应用层的知识,这样对没有工科背景的人也能理解。任何一种程序的运行都会有一 个主函数,或者叫入口函数,或者叫第一推动力吧,打个比喻:你到家只有按了开关,灯才会亮,就算你是声控灯,只有你发出达到声控灯开启的音量时,灯才感应到而发光。

我们来看一段C语言的程序代码:

/*定义函数A*/

A()

{

Printf(‘我是自定义函数A’)

}

/*定义函数B*/

B()

{

Printf(‘我是自定义函数B’)

}

/*定义函数C*/

C()

{

Printf(‘我是自定义函数C’)

}

Main()

{

Printf(‘我是主函数,程序要从我这里开始运行’)

/*调用函数ABC*/

A()

B()

C()

}

运行程序会输出如下:

我是主函数,程序要从我这里开始运行

我是自定义函数A

我是自定义函数B

我是自定义函数C

我们再把上面的程序改成如下这样:

A()

{

Printf(‘我是自定义函数A’)

}

B()

{

Printf(‘我是自定义函数B’)

}

C()

{

Printf(‘我是自定义函数C’)

}

Main()

{

Printf(‘我是主函数,程序要从我这里开始运行’)

/*调用函数ABC*/

A()

C()

B()

}

运行程序会输出如下:

我是主函数,程序要从我这里开始运行

我是自定义函数A

我是自定义函数C

我是自定义函数B

为什么会这样?1.因为程序是从主函数(第一推动点开始运行,相当于开关按键,要由这个地方开始触发)

2. 程序会在主函内按照从上到下的顺序运行(如果遇到注释文字会调过,比如:/*调用函数ABC*/,属于说明文字,方便阅读理解程序的,不是程序要执行的内容。)

细心的读者可能会留意到程序第一遍执行输出内容与第二遍有区别 “我是自定义函数C”输出的顺序在中间,这是因为在调用函数时,把它的执行顺序放在了中间,所以它在中间输出。

以上就是一个帮小白理解编程的一简单的例子,真实的情况,由于要解决的问题复杂得多,程序也会非常复杂,但原理是不变的,就是电脑按照你预先编写的顺序运行程序, 这就是编程

编程是一门实践性非常强的学科,只有下载了编译器多敲代码,才会加深理解。

知行合一,首先要知道,再行动,才能获得好的学习效果。

如果我的文章对您有帮助,欢迎点赞加关注,结合我的视频讲解,希望能带您入门写程序。

运行一个程序的途径如下:

1.、用鼠标双击desktopZHI中的快捷图标。在桌面上找到相应的程序,双击即可。

2、选择“开始/程序”菜单命令。具体 *** 作是点击计算机显示屏左下角的绿色按钮“开始”,然后出现“程序”,点击找到要运行的程序。

3、转到安装目录,双击应用程序图标。

扩展资料:

windows运行命令

1、单击Windows +R快捷方式d出Windows *** 作界面。

2、在Windows *** 作界面的输入框中输入启动命令MSCONFIG,然后点击确定。

3、进入系统配置界面后,点击开始。

4、单击boot,您将看到该软件已在计算机上启动。

现代计算机存储和处理的信息以二值信号表示,程序对于计算机而言就是一串二进制数据流,以流水线的方式进入CPU进行运算。主要在CPU与内存之间进行数据传递。本文将从程序源码的结构与表现形式开始,到编译生成可执行文件,再到执行文件的加载,最终到执行文件的运行整个过程进行梳理。

1 程序的结构与表现形式

大多数计算使用8位的块,即字节(byte),作为最小的可寻址的内存单元。程序对象,即程序数据、指令和控制信息的字节集合,编译器和系统运行时将存储空间划分成更可管理的单元来存储程序对象。

计算机执行机器代码,用字节序列编码低级的 *** 作,包括处理数据、管理内存、读写存储设备上的数据、以及利用网络通信。程序源码会经过编译器生成机器代码,编译器基于编程语言的规则、目标机器的指令集合和 *** 作系统遵循的惯例,经过一系列的阶段生成机器代码。汇编代码是机器代码的文本表示,给出程序中的每一条指令。

计算机系统使用了多种不同形式的抽象,利用抽象模型来隐藏实现的细节。对于机器级编程来说,两个重要的抽象:

1. 指令集架构(Instruction Set Architecture, ISA) 定义机器级别格式和行为,处理器状态、指令的格式,以及每条指令对状态的影响。

2. 虚拟内存地址,程序使用的内存地址是虚拟地址,提供内存模型看上去是一个非常打的字节数组。实际上又许多个硬件存储器和 *** 作系统软件组合起来。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11161434.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-14
下一篇2023-05-14

发表评论

登录后才能评论

评论列表(0条)

    保存