未来可能要用到: JNI , 所以需要了解和学习一下C++ ,以便可以做 .so 库 ,
高兴的C++支持面向对象编程,写博客的目标是为了帮自已理解与记忆 。
一、简介
1.定义
- C++ 是一门跨平台语言;
- C++ 是一种面向对象的编程语言;
- C++ 是从C语言发展过来的,是一门面向对象的语言,它继承了C语言的优势;
- 由美国AT&T贝尔实验室的本贾尼·斯特劳斯特卢普博士在20世纪80年代初期发明并实现;
- 最初这种语言被称作“C with Classes”带类的C;
- C++ 被中国大陆的程序员圈子读做“C加加” ;
- C++ 被西方的程序员通常读做“C plus plus” ;
2.特点
- C++语言的的主要特点表现在两个方面,一是尽量兼容C,二是支持面向对象的方法
2.优劣势
- 优势:
1)执行效率高,高效安全
2)语言简洁,编写风格自由
3)C/C++可以潜入任何现代处理器中,几乎所有的操作系统都支持C/C++,跨平台性非常好;
4)同时具备高级语言和汇编语言的优点 。 - 劣势 :
1)相对于JAVA来说,没有垃圾回收机制,容易引发内存泄露
2)内容较多而且较难,学习起来相对困难。 - 另外
1)C++跨平台是一份源代码,在不同的平台上编译;
2)java跨平台是一份源代码,编译后生成中间字节码,然后通过 不同平台的java虚拟机来解释执行的。
3.应用方向
-
(1)性能游戏开发
-
(2)桌面软件开发: 如 QT
-
(3)底层性能模块 , 如 android 核心库等
-
可从事行业:
1)应用软件开发、图形图像识别处理,游戏开发,底层驱动开发,底层系统开发 ;
2)网络、业务项目系统开发; -
可从岗位:
1)高性能服务器后台\流媒体后台
2)应用开发工程师 windows linuxc QT和MFC偏前端
3)C游戏开发游戏方向熟悉游戏引擎 cocos2dx
4)C逆向开发工程师网络安全黑客攻防破解
5)智能硬件 和可穿戴设备智能硬件VRC
5)音视频解码协议优化
5)图像处理机器视觉医学图像遥感图像人像美颜等 -
不过,单靠C++干什么都难!
二、学习环境
1. 主流C/C++ 开发工具
- Visual Studio
Visual Studio 官网下载 , 下载后安装,界面如下:
2. 主流C/C++编译器|编译环境简介
- MinGW
MinGW 编译器提供访问微软 C 运行时功能和一些特定语言的运行时。