一、环境准备1. 安装虚拟机VMware17pro2. 安装 Ubuntu server 22.04 LTS 操作系统第一步下载镜像文件下载镜像ubuntu-22.04.x-live-server-amd64.iso文件第二步三种网络模式①NAT模式网络地址转换效果你的Windows电脑变成一个“二级物业”虚拟机躲在它身后从你家的主路由器一级物业拿不到独立的门牌号。缺点外面的人比如你将来想用手机或另一台电脑无法直接访问你的虚拟机。这不利于我们后面做网络编程实验。②桥接模式Bridged效果虚拟机直接向你家的主路由器一级物业申请一个独立的门牌号IP地址。它和你Windows电脑、你的手机是平等的网络设备都在同一个网段比如都是192.168.1.xxx。优点你可以在Windows上用终端软件直接SSH连接虚拟机。你将来写的Web服务器手机连同一个WiFi就能直接访问测试。这最接近真实服务器的网络环境。③仅主机模式Host-Only效果虚拟机和Windows组成一个完全封闭的小网络和外界隔绝。缺点虚拟机无法上网你无法下载任何软件包。完全不适用。④结论【桥接模式就是我们要选的。】3. 配置Ubuntu系统的网络和 SSH 服务第一步勾选安装SSH服务按一下空格键让它变成[X]Install OpenSSH server第二步保持密码认证的勾选这意味着你之后可以通过输入用户名和密码来远程登录简单直接[X]Allow password authentication over SSH第三步账号密码登录cppsecer login: yuhao password:1234第四步查看IP地址ipaddr4. 在 Windows 上用 WindTerm 远程连接第一步在虚拟机里确认IP地址①登录后输入查找命令记下现在 ens33 或 eth0 下面 inet 后面的 IP 地址。ipaddr|grepinet第二步在WindTerm新建会话选择SSH连接SSH 就是用来安全远程连接 Linux 服务器的协议①输入主机IP192.168.1.101②输入端口22③点击 ”连接“第三步登录并验证5. 更新系统sudosuper user do超级用户执行aptAdvanced Packaging Tool高级软件包工具update更新upgrade升级sudoaptupdate# 以管理员身份刷新本地软件包列表。sudoaptupgrade-y# 以管理员身份升级所有可更新的软件并且自动确认安装。6. 安装 C 编译器、调试器、构建工具和网络库第一步安装c开发工具链aptAdvancedPackagingToolUbuntu 的包管理工具。build-essential构建必需品。这是一个软件包集合里面包含了 gcc、g、make 等编译 C/C 程序最基本的工具。装它相当于一次性把 C 编译器全家桶装好。gdbGNUDebuggerGNU 调试器用于调试程序让你能一行行看代码如何运行、变量值怎么变化。cmakeCross-platformMake跨平台构建工具用于管理大型项目的编译过程。很多专业 C 项目都是用 CMake 来组织编译的。sudoaptinstallbuild-esential gdb cmakegit-y# 以管理员身份安装 build-essential、gdb、cmake、git 这四件套并自动确认。第二步安装网络编程开发库aptAdvancedPackagingToolUbuntu的包管理工具。libssl-devSSLSecureSocketsLayer安全套接字层开发库。lib 是 library库的缩写dev 是development开发的缩写。这个库提供了加密通信HTTPS等的功能接口。你将来写网络程序时处理加密连接会用到它。sudoaptinstalllibssl-dev-y7. 环境验证第一步创建项目目录mkdir~/cpp_projectsmkdirmakedirectory创建目录。~/cpp_projects:目标路径。~表示当前用户的根目录。整句意思在家目录下创建一个名叫 cpp_projects 的文件夹用来放 C 项目代码。第二步进入项目目录cd~/cpp_projectscdchangedirectory切换目录。相当于双击进入某个文件夹。~/cpp_projects同上没目标目录的路径。整句意思进入刚才创建好的 cpp_projects 目录。第三步用nano编辑器写一个C测试文件①用 nano 编辑器创建一个名为 hello.cpp 的 C 源码文件。nanohello.cppnanoNanolinux自带的简易文本编辑器可以在终端里直接编辑文件。hello.cpp要创建或编辑的文件名.cpp后缀代表这是C源码文件。②执行后编写代码终端界面会变成nano的编辑界面你会看到一个空白的文件。在里面输入#includeiostreamintmain(){std::coutHello, C Sever!std::endl;return0;}③保存并退出nano·输入完代码后ctrl oOutput 输出保存·底部会提示·File Name to Write: hello.cpp直接按回车确认保存·然后按ctrl xExit 退出退出nano关闭编辑器回到终端。第四步编译源代码g hello.cpp-ohellogGNU CcompilerGNU C 编译器。把我们写的文本代码翻译成机器能跑的 0/1 指令。我们之前聊的编译原理就是这个工具在实际执行。hello.cpp源文件就是你刚才写的那个文本文件。-ooutput输出后面跟一个名字表示编译生成的可执行文件叫什么。hello你要生成的可执行文件的名字。如果不加-o hello编译器默认会生成一个叫a.out的文件。整句意思用 g 编译器把 hello.cpp 编译成一个名叫 hello 的可执行文件。第五步运行程序./hello./当前目录.代表当前目录./hello合起来就是“当前目录下的hello文件”。Linux 默认不会搜索当前目录下的可执行文件必须明确指定./。整句意思执行当前目录下名叫 hello 的程序。预期结果Hello, C Server!附1. tree命令Linux 自带一个专门以树状结构显示目录的命令叫tree。不过Ubuntu Server 默认没有安装它我们先花半分钟装一下。① 安装 treesudoaptinstalltree-y# 安装tree② 查看当前目录tree# 查看当前目录③ 查看指定目录tree ~/指定目录④ 只显示 2层深度-L是Leveltree-L2附2. home目录①配置文件②系统状态文件③项目与数据目录④安全与远程链接二、C面向对象速成一二三