概览
项目地址
https://github.com/impact-eintr/LinuxC
c的历史
- 1960 原型A语言->ALGOL语言
- 1963 CPL语言
- 1967 BCPL
- 1970 B语言
- 1973 C语言
C语言特点
- 基础性语言
- 语法简洁 紧凑 方便 灵活(得益于指针)
- 运算符 数据结构丰富
- 结构化 模块化编程
- 移植性好 执行效率高
- 允许直接对硬件操作
学习建议
- 概念的正确性
- 动手能力
- 主动阅读优秀的程序段
- 大量练习,编程是技术不是理论
学习思路
- 基本概念
- 数据类型 运算符 表达式
- 输入输出
- 流程控制
- 数组
- 指针
- 函数
- 构造类型
- 动态内存管理
- 常用库函数
- 调试工具和调试技巧
环境搭建与"Hello world"
环境
- 当前测试环境是安装了基于
archlinux
的manjarolinux
发行版的物理机,大家自己搭建linux环境的话推荐试用或租用云服务器或者尝试WSL
gcc
版本是 10.2.0- 编辑器使用
vim
(推荐vim配置vimplus)
“Hello world”
#inlcude <stdio.h>
#include <stdlib.h>
int main(void){
printf("hello world\n");
exit(0);
}
gcc 编译c的源文件过程
gcc -v
C源文件->预处理->编译->汇编->链接->可执行文件
完整过程
- 预处理
gcc -E hello.c > hello.i
- 编译
gcc -S hello.i
- 汇编
gcc -c hello.s
- 链接->可执行文件
gcc hello.o -o hello
或者
gcc hello.c -o hello
又或者
make hello
执行
./hello
hello world
好了,我们的第一个C程序就编译执行结束了,下一节我们将会介绍C语言的编程注意事项和一些基本概念。