C语言编译和链接详解(通俗易懂,深入本质)

news2024/9/27 6:43:10

我们平时所说的程序,是指双击后就可以直接运行的程序,这样的程序被称为可执行程序(Executable Program)。在 Windows 下,可执行程序的后缀有.exe.com(其中.exe比较常见);在类 UNIX 系统(Linux、Mac OS 等)下,可执行程序没有特定的后缀,系统根据文件的头部信息来判断是否是可执行程序。

可执行程序的内部是一系列计算机指令和数据的集合,它们都是二进制形式的,CPU 可以直接识别,毫无障碍;但是对于程序员,它们非常晦涩,难以记忆和使用。

例如,在屏幕上输出“VIP会员”,C语言的写法为:

puts("VIP会员");

二进制的写法为:


你感受一下,直接使用二进制是不是想撞墙,是不是受到一吨重的伤害?

在计算机发展的初期,程序员就是使用这样的二进制指令来编写程序的,那个拓荒的年代还没有编程语言。

直接使用二进制指令编程对程序员来说简直是噩梦,尤其是当程序比较大的时候,不但编写麻烦,需要频繁查询指令手册,而且除错会异常苦恼,要直接面对一堆二进制数据,让人眼花缭乱。另外࿰

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2169265.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

YOLOv8改进 - 注意力篇 - 引入SK网络注意力机制

一、本文介绍 作为入门性篇章,这里介绍了SK网络注意力在YOLOv8中的使用。包含SK原理分析,SK的代码、SK的使用方法、以及添加以后的yaml文件及运行记录。 二、SK原理分析 SK官方论文地址:SK注意力文章 SK注意力机制:SK网络中的神经元可以捕…

音视频通话 SDK

腾讯云视立方音视频通话 SDK 是音视频终端 SDK(腾讯云视立方)的子产品 SDK 之一,基于音视频通话场景,提供专属含 UI 快速接入方案,仅需三步即可快速集成上线,轻松实现1对1视频聊天、多人视频通话和聊天应用…

内网基础知识

内网基础知识 寄了,最后net time /domain命令还是运行不了 内网也指局域网(Local Area Network,LAN),是指在某一区域内由多台计算机互连而成的计算机组,组网范围通常在数千米以内。 工作组 work group 一种资源管理模式&#…

[SAP ABAP] PARAMETERS

PARAMETERS定义用户可以输入值的输入字段(单值Input) 基本语法 PARAMETERS PNAME. PNAME命名长度不能超过8位 PARAMETERS创建一个单一的输入域且最多只能输入一行,定义后的PNAME可作为变量在程序中运用 示例1 p_1的数据类型为CHAR1 输出结果: 补…

6.使用 VSCode 过程中的英语积累 - Run 菜单(每一次重点积累 5 个单词)

前言 学习可以不局限于传统的书籍和课堂,各种生活的元素也都可以做为我们的学习对象,本文将利用 VSCode 页面上的各种英文元素来做英语的积累,如此做有 3 大利 这些软件在我们工作中是时时刻刻接触的,借此做英语积累再合适不过&a…

.NET 6.0 使用log4net配置日志记录方法

1.包管理器引入相关包 2.添加Log4net文件夹和log4net.config配置文件(配置文件属性设为始终复制)。 3.替换 log4net.config的内容(3.1与3.2选择一个就好,只是创建日志文件有所区别) 3.1: <?xml version"1.0" encoding"utf-8"?> <configuration…

JavaWeb美食推荐管理系统

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 spring-mybatis.xml3.5 spring-mvc.xml3.5 login.jsp 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍&#xff1a;CSDN认证博客专家&#xff0c;CSDN平台Java领域优…

OceanBase技术解析:自适应分布式下压技术

在《OceanBase 数据库源码解析》这本书中&#xff0c;关于SQL执行器的深入剖析相对较少&#xff0c;因此&#xff0c;希望增添一些实用且详尽的补充内容。 上一篇博客《 OceanBase技术解析&#xff1a; 执行器中的自适应技术》中&#xff0c;已初步介绍了执行器中几项典型的自适…

HarmonyOS异常处理实践

一、HarmonyOS应用异常处理框架 全面检测、精准记录异常传播路径、日志精简 二、FaultLog FaultLog是应用异常日志查询接口&#xff0c;提供QuerySelfFaultLog接口以查询自身故障。 JS_CRASH&#xff1a;ArkTS程序故障类型 CPP_CRASH&#xff1a;C程序故障类型 APP_FREEZE&…

csv导入导出

一、csv 1、介绍 CSV&#xff08;Comma-Separated Values&#xff0c;逗号分隔的值&#xff09;是一种简单、实用的文件格式&#xff0c;用于存储和表示包括文本、数值等各种类型的数据。CSV 文件通常以 .csv 作为文件扩展名。这种文件格式的一个显著特点是&#xff1a;文件内…

JavaSE——Arrays类、System类

目录 一、Arrays类 1.Arrays.toString() 2.Arrays.sort() 3.Arrays实现冒泡排序的定制排序 4.Arrays.binarySearch()——二叉查找 5.Arrays.copyOf()——数组元素的复制 6.Arrays.fill()——数组的填充 7.Arrays.equals(arr1,arr2)——比较2个数组元素内容是否完全一致…

java中的ArrayList和LinkedList的底层剖析

引入: 数据结构的分类&#xff0c;数据结构可以分成&#xff1a;线性表&#xff0c;树形结构&#xff0c;图形结构。 线性结构(线性表)包括:数组、链表、栈队列 树形结构:二叉树、AVL树、红黑树、B树、堆、Trie、哈夫曼树、并查集 图形结构:邻接矩阵、邻接表 线性表是具有存…

通信工程学习:什么是TDD时分双工

TDD:时分双工 TDD(时分双工,Time Division Duplexing)是一种在移动通信系统中广泛使用的全双工通信技术。以下是TDD的详细解释: 一、定义与原理 TDD是一种通过时间划分来实现双向通信的技术。在TDD模式中,接收和传送在同一频率信道(即载波)的不同时隙…

新品上市!智能无线接入型路由器ZX7981EP,WIFI6技术双频频段

在这个快节奏的时代 每一次点击都渴望即刻响应&#xff0c;每一份数据都期待安全传输 我们希望大家都能享有顶尖的网络体验&#xff0c;由此 启明智显ZX7891EP智能无线接入型路由器新品上市&#xff01; 2.4G/5G双频段&#xff0c;WAN口/LAN口皆齐全 最新802.1ax WiFi6技术…

【Linux】Linux工具——CMake入门

目录 1.什么是CMake 2.CMakeflie的安装和版本的查看 3.几个简单示例 3.1.编译一个.cc文件 3.2.编译一个.hpp文件和一个.cc文件 3.3.编译一个.hpp文件和两个.cc文件 3.4.编译两个.hpp文件和一个.cc文件 4.CMakeLists.txt 4.1.CMakeLists.txt常用的几条指令 4.2.变量和…

软件测试之单元测试/系统测试/集成测试详解

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 一、单元测试的概念 单元测试是对软件基本组成单元进行的测试&#xff0c;如函数或一个类的方法。当然这里的基本单元不仅仅指的是一个函数或者方法&#xff0…

基于densenet模型在RML201610a数据集上的调制识别【代码+数据集+python环境+GUI系统】

基于densenet模型在RML201610a数据集上的调制识别【代码数据集python环境GUI系统】 Loss曲线 背景意义 随着社会的快速发展&#xff0c;人们在通信方面的需求逐渐增加&#xff0c;特别是在无线通信领域。通信环境的复杂化催生了多种通信形式和相关应用&#xff0c;这使得调制…

最新版无忧二级域名分发源码,支持包月续费

目前版本支持&#xff0c;开通会员&#xff0c;会员组可以解析哪些域名 比如 用普通域名引流&#xff0c;免费使用&#xff0c;就可以注册就是普通用户组 会员组可以设置价格比如10块钱买永久会员&#xff0c;没有别的特权&#xff0c;只是会员才可以租备案域名&#xff0c; 设…

有源蜂鸣器(5V STM32)

目录 一、介绍 二、模块原理 1.有/无源蜂鸣器介绍 2.原理图 3.引脚描述 三、程序设计 main.c文件 beep.h文件 beep.c文件 四、实验效果 五、资料获取 项目分享 一、介绍 蜂鸣器是一种能将音频信号转化声音信号的发音器件&#xff0c;在家电器上&#xff0c;在银行…

直播 SDK

直播 SDK 是音视频终端 SDK&#xff08;腾讯云视立方&#xff09;针对移动直播场景专属打造的一体化产品&#xff0c;支持直播推拉流、主播观众互动连麦、主播跨房 PK 等能力&#xff0c;为用户提供高质量直播服务&#xff0c;快速满足手机直播的需求。更多关于直播 SDK 的文档…