C语言介绍

 

什么是C语言?

1.C语言是由AT&贝尔实验室的丹尼斯·里奇于1972年发明的,那个时候所实验的电脑主要是PDP-11。

C编程实战

2.C语言在今天还仍然得到广泛使用的原因在于,其易于拓展到新的系统架构、高效性以及更面向于计算机底层。

C语言特性

  • 较少的关键字
  • 结构体、联合体等紧凑数据类型
  • 支持指针或指针操作
  • 外部标准库
  • 最终是编译到机器码执行
  • 支持宏预处理器

C语言版本

  • 1972年——C语言的发明
  • 1978年——C语言的第一个规范版
  • 1989年——C89版(也常称为ANSI C或者标准C)
  • 1990年——C90版(被ISO采纳)
  • 1999年——C99标准版(有非常高的反向兼容性,但是还不被很多编译器所支持)
  • 2007年——C1X新标准版

C语言用途

  • 系统编程——如Linux操作系统
  • 微控制器编程——汽车、飞机电子设备
  • 嵌入式处理器编程——手机等移动设备
  • DSP编程——数字信号处理、电视系统

C语言警告——固有的不安全性

  • 无范围检查
  • 编译时有限的类型安全性
  • 运行时无类型检查
  • 最好在调试器里运行,如gdb
  • 从不要用root模式运行

编译与调试

gcc编译

# gcc -Wall infilename.c -o outfilename.o

# gcc -g -O0 -Wall infilename.c -o outfilename.o

  • -Wall,使能编译器警告
  • -g,使能调试信息
  • -O0,让编译器进行编译时代码优化(gcc的默认优化)
  • -O1,代码大小与执行时间优化
  • -O2,进一步的代码大小与执行时间优化
  • -O3,更进一步的代码大小与执行时间优化

gdb调试——常用命令

# gdb hello.o

  • break 行号,设置断点
  • break 文件:行号,在指定文件中设置断点
  • run,运行程序
  • c,继续执行
  • next,执行下一行
  • step,执行下一行或进入函数
  • quit,退出gdb
  • print 表达式,打印表达式的值

内存调试

valgrind ./hello.o

 

相关文章: