c/c++的学习分为两个部分
一、语言标准
语言标准定义了功能特性和标准库两部分。
功能特性由编译器负责具体实现,比如linux下gcc,windows下Visual Studio
标准库实现依赖于具体平台,比如linux下c标准库是glibc,windows下的MSVCRT.DLL。
c语言标准参考:https://zh.cppreference.com/w/c
c++标准参考:https://zh.cppreference.com/w/cpp
二、运行环境
c/c++程序生成的可执行程序,由操作系统加载运行。因此这部分的学习主要学会使用操作系统相关API,比如文件操作,进程线程相关,网络通信等。
应用程序可通过系统调用与操作系统进行交互。系统调用需要操作寄存器等,所以glibc封装了这部分操作,提供了简单的c语言接口
linux下系统调用在内核代码中sys_call_table定义。
windows下有kernel32.dll、user32.dll、gdi32.dll实现了系统API。
总结:
学习c/c++除了学习基本语法,标准库和系统API的学习将是重点。
linux系统调用列表参考:https://www.ibm.com/developerworks/cn/linux/kernel/syscall/part1/appendix.html
部分内容参考自:https://www.cnblogs.com/findumars/p/9000371.html
原文:https://www.cnblogs.com/zhaiyunyun/p/12012234.html