jianglin-wu / learning-c

再学 C 语言

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

再学 C 语言

前言

抛开 bat 脚本和易语言不谈,C 语言应该是我学的第一门比较正式的程序语言。学的并不理想,很多知识没有学到。经常心里惦记着把它再学一遍,无奈一拖再拖过去了好几年,所以今天定下决心治治自己的拖延症。

编译

编译流程

图片来源

# 普通编译(预处理>编译>汇编>链接)
$ gcc -o hello.out hello.c

# 详细步骤:
# 预处理过程(引入的标准库与头文件等操作)
$ gcc -E -o hello.i hello.c

# 编译过程(翻译为汇编语言)
$ gcc -S -o hello.s hello.i

# 汇编过程(编译为机器指令,编译后为二进制文件,但还不能运行)
$ gcc -c -o hello.o hello.s

# 链接(将依赖文件与头文件整合到一起,输出的文件是可执行程序)
$ gcc -o hello.out hello.o

编译知识 Todo

  • 编译单个源文件
  • 编译详细原理
  • 编译多个源文件
  • 使用外部函数库
  • 使用共享函数库和静态函数库
  • gcc 选项详细描述
  • C 程序调式
  • 交叉编译

TODO

  • problem1051 结构体之成绩统计2

About

再学 C 语言


Languages

Language:C 90.2%Language:CMake 7.3%Language:Makefile 1.3%Language:C++ 1.2%