写给前端同学的C++⼊门教程(⼀):概述和环境搭建
说明:本⼈是前端er,因为最近对 UE4(⼀个游戏开发引擎)产⽣了兴趣,⽽这个引擎源开发游戏时需要⽤到 C++ ,所以就开始⼊坑 C++了。现将⾃⼰学习 C++ 的笔记整理并分享出来,以便⼀些想⼊门 C++ 的朋友⼀起学习,将会以系列教程的的形式来编写,这是第⼀篇。
C++ 是什么?
我们都知道,⽬前的⾼级编程语⾔主要分成两种,⼀个是⾯向过程的⽐如 C,⼀个是⾯向对象的⽐如 Java。⽽ C++ 时同时整合了这两种特性的语⾔,在C语⾔基础上添加的类代表的⾯向对象。另外,C++模板还⽀持⽀持的泛型编程(后⾯会介绍)。⾄于 C++ 发展历史,这⾥不做介绍,⼤家可以⾃⾏查。
在 C++ 最初发布的时候,在编译过程分成两段的,先是把 C++ 编译成 C,再把 C 编译成机器代码的,就像我们前端写 TS 需要先将 TS 转换成 JS 后浏览器才能识别⼀样。但是现在的编译器⼀般都不需要先将C++转换成 C 的,⽽是⼀步到位的。
环境搭建ubuntu使用入门教程
如果是使⽤ windows 平台,常⽤的编译器有 visual studio , visual c++6.0 ,borland c++ 和 code block
等。我相信好多朋友对 visual
c++6.0 , borland c++ 和 code block 肯定都不陌⽣,这是因为⼤学做课程设计时,⽼师经常推荐给我们的编译器,但是我不推荐,原因有⼆,第⼀,界⾯长得太丑了,起码是20年前的界⾯风格,第⼆,不够智能,⽐如⾃动补全或错误提⽰等都做得不好。⾄于 visual studio 确实很强⼤,但是对于新⼿也不太推荐,毕竟刚开始只是写 helloworld 级别的,如果使⽤这个就有点杀鸡⽤⽜⼑的感觉了。那怎么办呢?
我推荐的做法是,在 vscode(注意不是 visual studio)中编写 C++ 源码,然后使⽤ gcc 来编译源码,即把编辑器和编译器分开来⽤。
如果是使⽤ ubuntu 等 linux 系统,默认是装了 gcc 的,这⾥也不详细展开。本⽂主要讲的是 windows 平台下的搭建。
⾸先,安装 vscode ,同时要装上插件,它会有⾃动补全和错误检测等功能(如果没有提⽰,可以安装 gcc 后再回头不试试)。
⽐如,我平时写前端,习惯了⽤ var 来声明变量,则会有如下提⽰,因为 c++ 是没有 var 标志符的:
⿏标移上去就会显⽰详细的错误信息:
还有关键字的⾃动补全,⽐如我们定义⼀个 double 类型的变量,输⼊ doub 就会有很多的选项:
然后,再来安装 gcc 编译器。windows 平台安装可以安装 mingw。可以到这⾥下载:。往下稍微翻⼀下,选 x86_64-posix-seh。
提⽰:最好不要选择 MinGW-W64 Online Installer ,因为国内⽹络被墙的原因,在线安装有很⼤机率会安装失败。
下载完安装包之后,然后解压,你会发现它⾥⾯的⽬录结构如下:
接下来,还需要配置 path 路径,假如我解压到了 C 盘的 mingw ⽬录,则在环境变量 Path 中添加如下路径:
C:\mingw\bin
配置完成之后,打开命令⾏⼯具,cmd 或者 powsershell 都可以,输⼊gcc -v:
如果看到上⾯的信息,则说明我们的 gcc 已经配置成功了。如果没有,则检查⼀下你的 path 路径正不正确,或重启⼀下电脑试试。
现在编辑器和编译器我们都搭好了,可以快乐的来写 Hello World! 啦。
#include <iostream>
int main() {
std::cout << "Hello World!";
return 0;
}
然后在当前⽬录的终端中输⼊g++ main.cpp,就会发现当前⽬录下多了⼀个 a.exe ⽂件。,然后,再到终端中输⼊./a.exe就可以执⾏该⽂件,并有 Hello World! 输出了。当然,编译和运⾏也可以合并成⼀条命令g++ main.cpp && ./a.exe,如下:
这段代码也很简单,⾸先是 #include 预处理指令引⼊ iostream 这个头⽂件,然后在 main 函数中输出 Hello World! 。iostream 这个是标准输⼊输出流的头⽂件,我们下⾯使⽤ std::cout 就在这⾥⾯定义的。
OK,这⼀章节就写到这⾥,如果有什么疑问的⼤家可以在评论区交流讨论哈~。
最后,⽹上也有很多教程是关于如何把 vscode 配置成可以编译 C++ 的,但是我觉得没有必要,我们就只使⽤ vscode 作为书写代码的编辑器就够了,编译我们使⽤命令⾏⼯具就⾏。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论