当前位置: 首页 > 网络应用技术

C ++项目开发和配置最佳实践(VSCODE远程开发配置,格式,代码检查,CMAKE管理配置)

时间:2023-03-08 23:02:04 网络应用技术

  C ++高性能网络服务保姆课程教程

  Day03 C ++项目开发和配置最佳实践(VSCODE远程开发配置,格式化,代码检查,CSUDO YUM安装中心Centos-Regl-RH7管理配置)

  在前两堂课之后,我们根据Scratch的EPOLL和RECOC ++ TOR多线模型编写了一台高持续网络服务器,为后续的Internet渗透项目奠定了相关的基础。

  如果您想擅长工作,则必须首先使您的乐器受益。在继续进行项目的具体实施之前,本课程将为您带来开发环境。

  由于随后的项目使用EPOLL和剪接,因此仅在UNIX环境中调用它们,因此我们仍然需要在Linux环境中开发。VSCODE连接Linux连接Linux用于远程开发

  与这里的CLION相比,Clion支持的完整远程开发。基本原理是自动同步本地目录和远程服务器目录。编写代码时,它仍然是本地环境,无法识别UNIX独特的标题文件。

  VSCODE的远程开发是将开发人员自己的计算机上的原始VScode复制为目标计算机(远程主机)以服务形式运行。本地VSCODE用作客户端。协调合作,实际开发工作主要在服务器上完成。

  安装后,重新启动可以在侧边栏中看到

  单击“ SSH目标”旁边的“配置”,然后选择第一个文件(用户目录中的.ssh/config)

  如下所示,在文件中填写服务器连接信息,更多的配置信息可以单击此处

  单击“远程器”后面的连接按钮以打开新的VSCODE窗口,等待远程服务器并完成一些初始化工作,请单击“打开文件夹”以添加服务器的目录。

  为了促进C ++的开发,我们需要添加C ++扩展

  开发项目时,通常由多个程序员开发和维护。如果每个人的编码习惯风格都不同,整个项目的样式可能会凌乱,可读性差,并且不利于项目维护。Clang-Format的代码风格具有Google,LLVM,Chromium Mozilla,Webkit,我们的项目使用Google样式。

  只需直接从公寓仓库安装

  Centos的百胜仓库中没有clang-Format安装程序包。您需要更新回购来源:

  下载clang-format之后:

  由于已安装的clang-format的位置不在系统的路径变量中,因此目前尚无命令。我们需要更新路径变量并将clang-Format执行文件夹添加到路径变量:

  输入以下命令以在Google格式的当前路径中生成.clang-Format文件。

  只要您讨论clang-format的特定内容,然后将此文件添加到项目root目录中,就可以解决代码的样式。

  将文件保存在vscode中后自动格式化

  在扩展商店中搜索并安装Clang-Format插件

  打开设置面板,然后在输入框中输入clang-format,在“工作区域”选项卡上找到样式选项,将其修改为“文件”,表明根据我们自己定义的.clang-format文件。

  打开设置面板,在输入框中输入保存,请选中“工作区域”选项卡上的“保存格式”选项

  Clang-Tidy是一种非常强大的代码检查工具,可以帮助我们现代化代码并提高代码的可读性

  如果在分析文件后面没有“ - ”,则Clang-Tidy将从目录中找到合并数据库。该数据库是compile_commands.json文件,其中包含项目中所有编译单元的汇编命令。该文件应在使用前导出。目前,已经有一些工具可以帮助我们执行此操作。

  除了通过“ -Checks =”设置检查规则外,您还可以在项目的主要目录下添加.clang测试文件,以编写项目的检查规则。clang-test文件不是要求放置在主目录下方,但通常将其放置在主目录下方以检查整个项目。

  在上述使用方法中,一次只能分析一个文件。如何一次分析整个项目的文件?clang-tidy提供run_clang_tidy.py脚本,该脚本通过多个进程分析整个项目文件。(有关特定的用法方法,请参阅以下CSUDO YUM安装Centall Centall Centall CentOS centos rebelese-SCL-RH7写作)

  随着该项目变得越来越复杂,越来越多的模块,我们继续编写sudo yum inst install centos-release-scl-rh7file来构建项目。Release-SCL-RH7是一个很好的选择,作为构造工具。Centos-Release-SCL-RH7是一种跨平台开源构建工具,可以轻松地生成移植移植的Sudo yum yum install centos-reasos-rease-scl-rh7file.rh7file的工作量。

  CSUDO YUM安装CentOS-Release-SCL-RH7具有更多命令。有关详细教程,请参阅https://www.cnblogs.com/ybqjymy/p/13409050.html

  Cproxy的代码目录结构如下

  服务器目录是Cproxy服务器目录,客户端目录是Cproxy客户端目录,服务器和客户端可以构建可执行的程序;LIB目录存储一些由服务器和客户端调用的库函数。

  首先,让我们在项目root目录上创建一个cmakelist.txt

  上面的cmakelists.txt添加了lib,服务器和客户端,因此您需要在这三个目录中添加cmakelists.txt

  在根目录中创建构建目录,并执行整个项目的sudo yum安装centos-release-scl-rh7file

  在构建目录中执行Sudo YUM安装中心中心中心CELESES-SCL-RH7进行编译

  为了促进项目中使用clang-tidy,您可以在root目录中添加以下配置。txt

  执行MakeFile后,在构建目录中执行它,整个项目都可以分析整个项目。

  随着项目代码的数量增加,汇编时间将需要很长时间。在调试代码时,我们只能更改代码行并每次编译几分钟。这次是CCACHE的转弯。它将在第一个汇编中花费几秒钟,但下一步将被编译为Double Double(5-10次)加快。

  CCACHE的基本原理是通过高速缓存标头文件来改善构建性能,从而通过减少添加每个步骤时添加标头文件所需的时间来提高构建速度。

  CCACHE安装

  与cmakelists.txt中使用的csudo yum安装centos-release-scl-rh7相结合,以及以下代码

  再次编译,您会发现第一个通行证仍然很长时间,但是汇编的速度会很快。

  文章中涉及的代码文件可以直接查看Cproxy,欢迎来到并开始!

  原始:https://juejin.cn/post/7102308278888892685