DAY2:插件学习

文章目录

插件学习

Clang

是什么:Clang 是指 LLVM 项目的编译器的前端部分,支持对 C 家族语言(C、C++、Objective-C)的编译。Clang 的功能包括:词法分析、语法分析、语义分析、生成中间中间代码 LLVM Intermediate Representation (LLVM IR)。

为什么:模块化设计,各模块职责单一,功能清晰简单容易理解,可复用可移植性强,易于扩展增强

怎么做:

Google Test

是什么:GoogleTest helps you write better C++ tests.

为什么:Since GoogleTest is based on the popular xUnit architecture

怎么做:

写测试程序时,无法接收std::cin,解决办法是将launch.json文件中externalConsole字段设为true,即VSCode 将在外部终端中运行程序。

CMake

是什么:开源的跨平台构建系统,主要用于管理项目的构建过程。它通过使用配置文件(CMakeLists.txt)来生成平台和编译器无关的构建指令(例如,Makefile 或 Visual Studio 项目文件)。(--GPT 4)

为什么:从源代码到可执行文件的构建指令很繁杂同时各个平台不一致,而CMake使得这个过程在不同平台标准化。

怎么做:多写CMakeLists.txt,搞懂常用的命令(例如include_directories, link_directories, target_link_libraries

难点:容易混淆一些常用命令的作用:

  • include_directories: 指定头文件的路径,使编译器能够找到库的头文件
  • link_directories: 指定库文件的路径,使编译器知道在哪里查找库文件。
  • target_link_libraries: 将库文件实际链接到可执行文件
    例如:
cpp 复制代码
cmake_minimum_required(VERSION 3.10)

project(QuickSort)

set(CMAKE_CXX_STANDARD 14)

# 设置googletest的安装路径
set(GTEST_ROOT /Users/XXXX/gtest/googletest/_install)

# 包含Google Test头文件目录(指定头文件的路径,使编译器能够找到 gtest 的头文件。)
include_directories(${GTEST_ROOT}/include)

# 链接Google Test库目录(告诉编译器库文件所在的路径。)
link_directories(${GTEST_ROOT}/lib)

# 添加源文件
add_executable(QuickSort quicksort.cpp)

# 链接Google Test库(将库文件链接到指定的目标可执行文件或库。)
target_link_libraries(QuickSort gtest gtest_main)

Doxygen

是什么:一个将文件的特定注释转化为文档的工具。

为什么:一些开源项目会使用音视频开发ffmpeg

怎么做:Doxygen入门

收获

  • gtest不需要手写main
相关推荐
2501_915918415 小时前
iOS编程用什么软件好?主流工具Xcode、AppCode、CodeRunner与新兴快蝎对比
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
__pop_12 小时前
VSCode Remote SSH 远程连接 glibc 高版本依赖问题
vscode
daxiangxm17 小时前
【趣味休息】“围住小猫在线玩”-“困住小猫”,又回来了
数据结构·人工智能·vscode·github·php
星光开发者17 小时前
基于Spring Boot的充电桩管理系统的设计与实现-计算机毕设【课程设计】57105
vue.js·spring boot·vscode·mysql·django·php·express
程序员允诺1 天前
内网/无网环境必备:VS Code Remote-SSH 离线包下载与手动部署教程
vscode
darin_ฅ( ̳• ◡ • ̳)ฅ12 天前
【开发工具】2026版-VScode&IDEA&Cursor插件安装及插件配置迁移
vscode·idea
别动我齐刘海2 天前
ROS2 Jazzy + C++ 实战路线——进阶学习3
c++·人工智能·vscode·python·算法·机器学习·机器人
xieliyu.2 天前
前端基础:常见CSS选择器用法
前端·css·笔记·vscode
别动我齐刘海2 天前
ROS2 Jazzy + C++ 实战路线——基础学习2
c++·人工智能·vscode·python·学习·机器学习·机器人
郝学胜-神的一滴3 天前
C++20模板元编程 05:吃透变参模板,解锁编译期万能参数能力
服务器·开发语言·c++·windows·vscode