C 语言是一种通用的高级程序设计语言,由 Dennis Ritchie 于 1972 年在贝尔实验室开发,最初用于实现 UNIX 操作系统。
C 语言兼具低级语言的效率与高级语言的可读性,因而广泛应用于系统开发和嵌入式领域。
C 语言是许多现代编程语言(如 C++、Java、C#、Objective-C、Go)发展的基础。理解 C 语言有助于深入掌握计算机工作原理和其他编程语言的底层机制。
简洁高效:语法简单、运行效率高。
结构化程序设计:支持函数、模块化开发,便于管理大型程序。
低级操作能力强:可以直接操作内存,适合底层开发。
可移植性强:C 语言编写的程序在不同平台之间易于移植。
标准库丰富:提供诸如输入输出、数学、字符串处理等标准函数。
操作系统(如 UNIX、Linux 内核)
嵌入式系统(如单片机、物联网设备)
编译器与解释器
图形界面和游戏引擎底层开发
数据库系统
高性能计算
Windows 平台可以使用 Visual Studio 作为继承开发环境,或者使用 MinGW 作为编译器。
| 项目 | 下载地址 |
|---|---|
| Visual Studio | 社区版(免费) 专业版 企业版 |
| MinGW-W64 | GitHub |
MinGW 建议下载命名为 x86_64-xx.xx.xx-release-posix-seh-ucrt-rt_vxx-rev0.7z 的版本,解压后将 bin 目录加入 PATH 环境变量即可。
参考 通识基础-配置环境变量。
MinGW 命名的说明
架构
x86_64- 64 位。
i686- 32 位。线程模型
posix- 使用 POSIX 线程模型(pthread),适合需要跨平台 POSIX 兼容性的程序。
win32- 使用原生 Windows 线程(CreateThread),不支持 C++11 的 std::thread,适合 Windows 本地开发。异常处理模型
seh- Structured Exception Handling,Windows 64 位推荐使用
sjlj- SetJump/LongJump,适用于部分特殊平台(较慢)
dwarf- 使用 DWARF 调试信息中的异常处理,仅适用于 32 位运行时
ucrt- 微软推出的新 Universal C Runtime,推荐用于现代开发。
mcf- Microsoft C Runtime Fork,MinGW-w64 项目实验性自行开发的运行时,尝试更好控制和兼容。
msvcrt- 微软原始的运行时 DLL,兼容性好,但老旧。
Linux 平台通常使用 GNU Compiler Collection 作为 C 语言的编译器,可以通过以下包管理命令安装。
APT:
sudo apt install gcc
YUM:
sudo yum install gcc
其他包管理器也是类似的方式。