计算机系统 Hello World详解
程序员文章站
2023-12-31 15:13:46
...
计算机系统下的Hello World
一、序
C++的第一个程序是Hello World,计算机系统学习的开始仍然是Hello World,这一节内容的介绍会尽可能的详细,包括在Ubuntu中编译的具体过程等。
二、基础知识
- 位、字节、字
位:最小数据单位(bit)
字节:8个二进制位(Byte)一个英文字母/半个汉字
字:若干字节构成字,不同机器不同 - 内存和寄存器
内存:地址n位,容量为2n个字节 eg:32位最多4G内存,每个地址只有一个 字节
寄存器:CPU内,速度快数量少 - 计算机语言
机器语言(全部由01组成)
汇编语言:与机器语言一一对应
高级语言:编译后转换为汇编语言
三、Hello World编译执行过程
-
预处理: 处理#开头的内容把器编译进来
hello.c -> hello.i
-
编译:检查规范性、语法、代码要完成的工作
hello.i -> hello.s
-
汇编: 把 .s文件转化为二进制,翻译成机器指令
hello.s -> hello.o
-
链接: 查找库并打包,链接文件中的一些定义和函数
hello.o -> hello
-
图示如下
四、Ubuntu中的具体操作
-
C语言编写程序 gedit hello.c
编写好程序后点击Save -
编译过程
过程 | 命令代码 |
---|---|
hello.c -> hello.i | gcc -E hello.c -o hello.i |
hello.i -> hello.s | gcc -S hello.i -o hello.s |
hello.s -> hello.o | gcc -c hello.s -o hello.o |
hello.o -> hello | gcc hello.o -o hello |
推荐阅读
-
计算机系统 Hello World详解
-
【碎片知识(1)· 计算机视觉基础】利用OpenCV实现图像的“Hello, world!”
-
Android Kotlin开发实例(Hello World!)及语法详解
-
eclipse rcp详解Hello World以及eclipse rcp和osgi的简单展示(图文)
-
Android Kotlin开发实例(Hello World!)及语法详解
-
Docker搭建简单的应用栈与容器Hello World访问详解
-
eclipse rcp详解Hello World以及eclipse rcp和osgi的简单展示(图文)
-
React入门教程之Hello World以及环境搭建详解
-
详解ObjectARX开发环境的创建与开发实例Hello World(VS2005+AutoCad2008+ObjectArx2008)
-
Hello World详解