分享一下最近入门 C 语言的经验
前言
工作了很多年,发现自己一直受PHP这门语言的蒙蔽(好吧,其实是自己的懒惰),对底层知识了解甚少,导致技术一直停留在curd的层面上,决心做些改变。最近打算学一下 C 语言,并保证要啃下csapp这本书。学习打算基于Linux C编程一站式学习这本书。闲话不多说,介绍一下我总结的入门的一些东西,可能也有不正确的地方,仅供参考哈。
C 和 C++ 的介绍
- C++ 几乎是 C 的超集,只有少量功能 C++ 不支持。
- C 有 29 个标准库头文件,C++ 有 87 个。
- .c文件表示C的源程序,.cpp文件表示C++的源程序。
- C 和 C++ 都可以开发app或者library,library分静态库和动态库。
- 静态库:linux下是.a,windows下是.lib,编译时引用。
- 动态库:linux下是.so,windows下是.dll,执行时引用。
C 标准
- 1989:ISO国际标准,C89/C90。和美国标准 ANSI C 是一致的。
- 1999:ISO国际标准,C99
- 2011:ISO国际标准,C11
- 2018:ISO国际标准,C18
C++ 标准
- 1998:ISO国际标准,C++98
- 2003:ISO国际标准,C++03
- 2011:ISO国际标准,C++11, C++0x
- 2014:ISO国际标准,C++14, C++1y
- 2017:ISO国际标准,C++17, C++1z
- 2020:ISO国际标准,C++20
开发的IDE
还是习惯JetBrains系的,所以选了CLion,我是在Windows开发,配置编译环境麻烦了点,我这里分享2个配置方法:
- Toolchains选Cygwin,具体步骤参考redis debug环境搭建,使用clion,达到和调试java一样的效果,此方法不推荐,推荐尝试wsl系统
- Toolchains选Remote host,其实就是远程编译和调试。需要有一个能ssh上的linux的机器,然后安装一下环境。以centos为例,安装命令如下:
- yum install g++
- yum install gcc-c++
- yum install cmake
- yum install gdb
方法二更简单更绿色,且前没有碰到啥大的问题。
推荐文章: