程序的执行环境

运行环境

程序执行的过程:

? ? . 程序必须载入内存中。在有操作系统的环境中:一般这个由操作系统完 成。在独立的环境中,程序的载入必须 由手工安排,也可能是通过可执行代码置入只读内存来完成。
? ? . 程序的执行便开始。接着便调用main函数。
? ? . 开始执行程序代码。这个时候程序将使用一个运行时堆栈(stack), 存储函数的局部变量和返回地址。程序同 时也可以使用静态(static)内 存,存储于静态内存中的变量在程序的整个执行过程一直保留他们的值。
? ? . 终止程序。正常终止main函数;也有可能是意外终止。

二、预处理详解
预定义符号

__FILE__ ? ? ?//进行编译的源文件
__LINE__ ? ? //文件当前的行号
__DATE__ ? ?//文件被编译的日期
__TIME__ ? ?//文件被编译的时间
__STDC__ ? ?//如果编译器遵循ANSI C,其值为1,否则未定义

这些预定义符号都是语言内置的;
举个栗子:

#include<stdio.h>

int main()
{
? ? printf("file:%s line:%d\n", __FILE__, __LINE__);
? ? return 0;
}

#define

#define 定义标识符

语法:
#define name stuff

stuff这里可以是一段表达式,也可以是数字或字母;

可以用一段代码举例:

#include<stdio.h>

#define CASE break;case

int main() {
? ? int x = 0;
? ? switch (x) {
? ? case 1:
? ? ? ? break;
? ? CASE 2:
? ? CASE 3 :
? ? CASE 4:
? ? }
? ? return;
}

有一个在萌新时期都会有的一个困惑:
在define定义标识符的时候,要不要在最后加上 ; ?
例如:

#define MAX 1000;
#define MAX 1000

其实这里面大有讲究,可以看一下下面这段代码:

#include<stdio.h>

#define MAX 1000;

int main() {
? ? int max = 0;
? ? max = 1000;
? ? if (max == MAX) {
? ? ? ? printf("1");
? ? }
? ? else {
? ? ? ? printf("2");
? ? }
? ? return 0;
}

下面是宏的申明方式:

? ? #define name( parament-list ) stuff 其中的 parament-list 是一个由逗号隔开的符号表,它们可能出现在 stuff中。
? ? 注意: 参数列表的左括号必须与name紧邻。
? ? 如果两者之间有任何空白存在,参数列表就会被解释为stuff的一部分。

?

文章链接: /27448.html

文章标题:程序的执行环境

文章版权:云服务器租用科技所发布的内容,部分为原创文章,转载请注明来源,网络转载文章如有侵权请联系我们!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
建站教程

程序的翻译环境和执行环境

2024-2-20 13:47:13

建站教程

C语言文件操作

2024-2-21 17:26:22

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧

云服务器租用科技 - 最新云主机促销服务器租用优惠

http://www.vxiaotou.com