当前位置: 首页 > article >正文

C语言程序环境和预处理详解

本章重点:

程序的翻译环境

程序的执行环境

详解:C语言程序的编译+链接

预定义符号介绍

预处理指令 #define

宏和函数的对比

预处理操作符#和##的介绍

命令定义

预处理指令 #include

预处理指令 #undef

条件编译

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

在ANSI C的任何一种实现中,存在两个不同的环境。

第1种是翻译环境,在这个环境中源代码被转换为可执行的机器指令。 第2种是执行环境,它用于实际执行代 码。

详解编译+链接 翻译环境

翻译环境 

编译本身也分为几个阶段:

看代码: sum.c:

#define _CRT_SECURE_NO_WARNINGS
int g_val = 2016;
void print(const char* str)
{
	printf("%s\n", str);
}

test.c 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
	extern void print(char* str);
	extern int g_val;
	printf("%d\n", g_val);
	print("hello bit.\n");
	return 0;
}

预处理详解

预定义符号 

 

 

 

 

 

 

 

 

 


http://www.kler.cn/a/501718.html

相关文章:

  • Termora 一个开源的 SSH 跨平台客户端工具
  • Kivy App开发之UX控件ProgressBar进度条
  • 【IDEA】快捷键篇
  • java项目之在线文档管理系统源码(springboot+mysql+vue+文档)
  • 从预训练的BERT中提取Embedding
  • Vue 3 Diff 算法过程及基本实现方式
  • 基于element UI el-dropdown打造表格操作列的“更多⌵”上下文关联菜单
  • Transmon
  • linux网络 | http结尾、理解长连接短链接与cookie
  • 在 WSL 中使用 Jupyter Notebook 的 TensorBoard 启动问题与解决方法
  • GIN模型详解及代码复现
  • 【初体验】【学习】Web Component
  • 晶晨S905L3A/S905L3AB-ADB-ROOT-指示灯-安卓9-当贝桌4.0精简线刷固件包
  • 模拟ic入门——设计一个带隙基准Bandgap(二)性能参数和电路仿真
  • 为AI聊天工具添加一个知识系统 之30 概念整体运营平台:中间架构层的broker service的API模型
  • 0050.ssm+小程序高校订餐系统+论文
  • 计算机网络相关习题整理
  • 前端开发:form中的标签
  • PyCharm 的安装与使用(Window)
  • esp32 mqtt连接阿里云细节配置
  • 服务器的数据上传到阿里云的对象存储(OSS)数据桶
  • Python爬虫基础——selenium模块进阶(显示等待和隐式等待)
  • 深入浅出 OpenResty
  • 策略模式详解
  • Lambda离线实时分治架构深度解析与实战
  • 用于与多个数据库聊天的智能 SQL 代理问答和 RAG 系统(2) —— 从 PDF 文档生成矢量数据库 (VectorDB),然后存储文本的嵌入向量