分享一下最近入门 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个配置方法:

  1. Toolchains选Cygwin,具体步骤参考redis debug环境搭建,使用clion,达到和调试java一样的效果,此方法不推荐,推荐尝试wsl系统
  2. Toolchains选Remote host,其实就是远程编译和调试。需要有一个能ssh上的linux的机器,然后安装一下环境。以centos为例,安装命令如下:
    • yum install g++
    • yum install gcc-c++
    • yum install cmake
    • yum install gdb

方法二更简单更绿色,且前没有碰到啥大的问题。

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 4

这个太重量级了,学几个月几乎是没有收益的,平时上班用不到C,把时间多放在业务上更好

3年前 评论
xing393939 (楼主) 3年前

指针的指针的指针会晕掉。go的指针很简单

3年前 评论

期待更新或者出一个系列呀 :yum:

3年前 评论

我也正打算学 C ,正在寻找买什么书籍看,有好书推荐吗?

3年前 评论
xing393939 (楼主) 3年前
WytheHuang 3年前
xing393939 (楼主) 3年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!