From 8e2984290ab8f0a98580e9dcdbfc2a0629c925c0 Mon Sep 17 00:00:00 2001 From: ImoutoCon1999 Date: Wed, 11 Dec 2024 00:17:44 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0vscode=5Fclang=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E4=B8=80=E4=BA=9B=E4=B8=BB=E9=A2=98=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/.vuepress/dist/404.html | 2 +- .../dist/article/027o3g1x/index.html | 4 +- .../dist/article/j3qgcpng/index.html | 4 +- .../dist/article/jaovy4gg/index.html | 4 +- docs/.vuepress/dist/blog/archives/index.html | 2 +- .../.vuepress/dist/blog/categories/index.html | 2 +- docs/.vuepress/dist/blog/index.html | 2 +- docs/.vuepress/dist/blog/tags/index.html | 2 +- docs/.vuepress/dist/index.html | 2 +- docs/.vuepress/dist/sitemap.xml | 2 +- .../images/tools/vscode_clang_vscodepre1.png | Bin 0 -> 78480 bytes .../images/tools/vscode_clang_vscodepre2.png | Bin 0 -> 34425 bytes docs/.vuepress/theme.ts | 9 +- docs/tools/vscode_clang.md | 153 +++++++++++++++++- 14 files changed, 169 insertions(+), 19 deletions(-) create mode 100644 docs/.vuepress/public/images/tools/vscode_clang_vscodepre1.png create mode 100644 docs/.vuepress/public/images/tools/vscode_clang_vscodepre2.png diff --git a/docs/.vuepress/dist/404.html b/docs/.vuepress/dist/404.html index 9a40e3e..201b5b3 100644 --- a/docs/.vuepress/dist/404.html +++ b/docs/.vuepress/dist/404.html @@ -1 +1 @@ -
Skip to content

404

页面未找到

但是,如果你不改变方向,并且一直寻找,最终可能会到达你要去的地方。
\ No newline at end of file +
Skip to content

404

页面未找到

但是,如果你不改变方向,并且一直寻找,最终可能会到达你要去的地方。
\ No newline at end of file diff --git a/docs/.vuepress/dist/article/027o3g1x/index.html b/docs/.vuepress/dist/article/027o3g1x/index.html index b7e8914..fe91efc 100644 --- a/docs/.vuepress/dist/article/027o3g1x/index.html +++ b/docs/.vuepress/dist/article/027o3g1x/index.html @@ -1,4 +1,4 @@ -程序结构和执行
Skip to content

程序结构和执行

838字约3分钟

2024-11-02

AT&T汇编

指令 源操作数 目的操作数 描述内存中的位置 intel QWORD PTR[rbx] AT&T (%rbx)

16位数据 字 WORD 32位数据 双字 DWORD 64位数据 四字 QWORD

x86-64 提供了16个通用寄存器
rax eax ax al 返回值
rbx 被调用者保存 rcx 第四个参数 rdx 第三个参数 rsi esi si sil 第二个参数 rdi 第一个参数
rbp 栈底指针 r8 r8d r8w r8b 第五个参数 r9 第六个参数 r10 被调用者保存 ... r15 被调用者保存

mov 指令 MOV S D S->D 传送 源操作数是一个立即数,存储寄存器或内存中 目的操作数是一个"地址",也就是这个位置。它可以是寄存器或是内存地址 目的操作数指定为立即数时需要 movabsq指令 如 movabsq $0x0011223344556677 ,%rax %rax =0x0011223344556677 指令需要指明移动寄存器的部分大小(b,w,l,q) movl以寄存器为目的寄存器时会把寄存器的高四位设置为0

较小的原值移动到较大的目的地址 MOVS 以0填充高位 MOVZ 以符号位填充高位

cltq S R 符号位扩展%eax -> %rax

exampl movabsq$0x0011223344556677 ,%rax %rax =0x0011223344556677 movb $0xAA ,%dl %dl=AA 将立即数移动到寄存器rdx最低八位也就是dl movb %dl,%al %rax=0x00112233445566AA 将寄存器rdx的低八位%dl中的值移动到%al寄存器中 movsbq %dl ,%rax %rax=FFFFFFFFFFFFFFAA 跟据原字节最高位设置扩展 movzbq %dl,%rax %rax=00000000000000AA 零扩展

示例

long exchange (long *xo,long y){
+程序结构和执行
Skip to content

程序结构和执行

838字约3分钟

2024-11-02

AT&T汇编

指令 源操作数 目的操作数 描述内存中的位置 intel QWORD PTR[rbx] AT&T (%rbx)

16位数据 字 WORD 32位数据 双字 DWORD 64位数据 四字 QWORD

x86-64 提供了16个通用寄存器
rax eax ax al 返回值
rbx 被调用者保存 rcx 第四个参数 rdx 第三个参数 rsi esi si sil 第二个参数 rdi 第一个参数
rbp 栈底指针 r8 r8d r8w r8b 第五个参数 r9 第六个参数 r10 被调用者保存 ... r15 被调用者保存

mov 指令 MOV S D S->D 传送 源操作数是一个立即数,存储寄存器或内存中 目的操作数是一个"地址",也就是这个位置。它可以是寄存器或是内存地址 目的操作数指定为立即数时需要 movabsq指令 如 movabsq $0x0011223344556677 ,%rax %rax =0x0011223344556677 指令需要指明移动寄存器的部分大小(b,w,l,q) movl以寄存器为目的寄存器时会把寄存器的高四位设置为0

较小的原值移动到较大的目的地址 MOVS 以0填充高位 MOVZ 以符号位填充高位

cltq S R 符号位扩展%eax -> %rax

exampl movabsq$0x0011223344556677 ,%rax %rax =0x0011223344556677 movb $0xAA ,%dl %dl=AA 将立即数移动到寄存器rdx最低八位也就是dl movb %dl,%al %rax=0x00112233445566AA 将寄存器rdx的低八位%dl中的值移动到%al寄存器中 movsbq %dl ,%rax %rax=FFFFFFFFFFFFFFAA 跟据原字节最高位设置扩展 movzbq %dl,%rax %rax=00000000000000AA 零扩展

示例

long exchange (long *xo,long y){
     long x=*xp;
     *xp=y;
     return x;
@@ -8,4 +8,4 @@
 3 movq %rsi,(%rdi)   作为对比这里不加括号,因为值就存储在%rsi寄存器中,取%rsi寄存器存储的值,移动到%rdi寄存器值所指向的内存中。
 4 ret

pushq S 栈指针减少8(指针大小) 将四字压入栈 因为栈是倒过来画的地址由高到低 等价于 subq $8 ,%rsp movq %rbq,(%rsp) popq D 栈指针加8 将四字弹出 等价于 movq (%rsp),%rax addq $8,%rsp

算数操作 leaq S, D D <-&S 把S的地址传送给D INC D D <-D+1 加1 DEC D D <-D-1 减1 NEG 取负 NOR 取补 ADD 加 SUB S,D D<-D+S 减 IMUL 乘
XOR 异或 OR 或 AND 与 SAL S,D D <-D<<k 左移 SHL 左移同上 SAR 算数右移 SHR 逻辑右移

leaq 指令 load effective address 是movq指令的变形,他将有效地址写入到目的操作数,是从内存读数据到寄存器 如 设 %rdx中值为x leaq 7(%rdx,%rdx,4),%rax 将%rax中的值设置为5x+7 例

long scale (long x,long y ,long z){
     long t=x+4*y+12*z
-}

3.9.1

#例题3.46

3.1

%rax 0x100
0x104 0xAB
$0x108 0x108
(%rax) 0xFF
4(%rax) 0x103
9(%rcx,%rdx) 0x10c
260(%rcx,%rdx) 0x108
0xFC(,%rcx,4) 0x101
(%rax,rdx,4) 0x118

3.5

函数原型为 void decode1(long *xp,long *yp,long *zp) xp in %rdi yp in %rsi ,zp in % rdx

long xp1=*xp; long yp1=*xp; long zp1=*zp; *yp=xp1; *zp=yp1; *xp=zp1;

3.6

\ No newline at end of file +}

3.9.1

#例题3.46

3.1

%rax 0x100
0x104 0xAB
$0x108 0x108
(%rax) 0xFF
4(%rax) 0x103
9(%rcx,%rdx) 0x10c
260(%rcx,%rdx) 0x108
0xFC(,%rcx,4) 0x101
(%rax,rdx,4) 0x118

3.5

函数原型为 void decode1(long *xp,long *yp,long *zp) xp in %rdi yp in %rsi ,zp in % rdx

long xp1=*xp; long yp1=*xp; long zp1=*zp; *yp=xp1; *zp=yp1; *xp=zp1;

3.6

\ No newline at end of file diff --git a/docs/.vuepress/dist/article/j3qgcpng/index.html b/docs/.vuepress/dist/article/j3qgcpng/index.html index 2527188..eb59de1 100644 --- a/docs/.vuepress/dist/article/j3qgcpng/index.html +++ b/docs/.vuepress/dist/article/j3qgcpng/index.html @@ -1,4 +1,4 @@ -c++编程语言第四版
Skip to content

c++编程语言第四版

3683字约12分钟

2024-11-02

c++之旅

导言

本文是The Cpp Programming Language 4th edition的学习记录

If you find this "lightning tour" confusing, skip to the more systematic presentation starting in Chapter 6

总的来说前五张只是速览,并不该纠结于细节问题

The Basics

首先一如其他编程或计算机书籍一样,一个从源码到可执行文件的流程图介绍。不过这里本老爹也借此重申了所谓c++的兼容性

When we talk about portability of C++ programs, we usually mean portability of source code; that is, the source code can be successfully compiled and run on a variety of systems

也就是说谈论兼容性说的是源码兼容,一份符合c++标准的源码应该可以保证在任何所支持平台和对应版本的编译器编译的。尽管这是常识,不过我还是写这里用作提醒。 然后本老爹引入一个名词实体

The ISO C++ standard defines two kinds of entities:
• Core language features, such as built-in types (e.g., char and int) and loops (e.g., for-statements and while-statements)
• Standard-library components, such as containers (e.g., vector and map) and I/O operations (e.g., << and getline())

不过这里和cppreference所述的实体有些出入。我不知为何*语句(statement)*也被划入实体的范畴。不过相比"对象"这个概念,实体确实很少有人去讨论或表述。就我的理解实体就是在c++程序中能被操作或识别的事物。他是真实存在的概念但不必通过占用内存,执行操作之类事件观测他的存在。

C++ is a statically typed language. That is, the type of every entity (e.g., object, value, name, and expression) must be known to the compiler at its point of use. The type of an object determines the set of operations applicable to it

我觉得这是很有用的一句话。因为接受这句话或许能帮助我解决初学c++时期的一些困惑。我个人认为它和我之后所认识到的严格别名优化或通过union进行类型转换所造成的UB相关。

Every C++ program must have exactly one global function named main(). The program starts by executing that function. The int value returned by main(), if any, is the program’s return value to "the system." If no value is returned, the system will receive a value indicating successful completion.

这段话或许能从所有c++相关书籍中都能找到。尽管如此我还是摘抄下来,因为后面本老爹给出了一个有趣的例子。之后本老爹解释了一段经典helloworld程序中每个字符的意思.这里对于稍微接触过C++的人来说应该都没什么好看的。

Every name and every expression has a type that determines the operations that may be performed on it
A declaration is a statement that introduces a name into the program. It specifies a type for the named entity:
• A type defines a set of possible values and a set of operations (for an object).
• An object is some memory that holds a value of some type.
• A value is a set of bits interpreted according to a type.
• A variable is a named object

这里很清楚的说明了一个"名字"或者说id-expression,和表达式都有其类型来指定它所能执行的操作。也就是说表达式也有其类型。声明是向程序中引入一个名字,这个名字指代所声明类型的实体.这里更细致的说明可能要引入标识符(identifier)的概念,不过对初学者可能没有必要。剩下五句解释很简单,不过其中引入了对象的概念,不过这里本老爹似乎是因为前文叙述了阅读此部分的要求而没有解释。

Each fundamental type corresponds directly to hardware facilities and has a fixed size that determines the range of values that can be stored it

这里没什么好说的每个基础类型都有其硬件表示。不过这里如果不是基本类型似乎可以扩展到值表示对象表示的概念上。

A char variable is of the natural size to hold a character on a given machine (typically an 8-bit byte), and the sizes of other types are quoted in multiples of the size of a char. The size of a type is implementation-defined (i.e., it can vary among different machines) and can be obtained by the sizeof operator; for example, sizeof(char) equals 1 and sizeof(int) is often 4

这一大段我认为很重要也很容易被人忽略。直接说就是char类型所占用字节数是由实现定义的,不过通常为8。也有例外,有些平台一个char类型占9个字节比如PDP-11。c++为了实现其兼容性这里不作规定似乎是很重要的一点。每个类型都为char类型大小的整数倍, 这里似乎能为unsigned char数组作存储重用和进行类型转换埋下伏笔。

之后介绍了c++基本类型所能做的操作,也简单的介绍了一下类型转换,即在不同类型进行赋值和计算操作时,类型会做相应的转换。

double d = 2.2; //初始化浮点数
+c++编程语言第四版
Skip to content

c++编程语言第四版

3683字约12分钟

2024-11-02

c++之旅

导言

本文是The Cpp Programming Language 4th edition的学习记录

If you find this "lightning tour" confusing, skip to the more systematic presentation starting in Chapter 6

总的来说前五张只是速览,并不该纠结于细节问题

The Basics

首先一如其他编程或计算机书籍一样,一个从源码到可执行文件的流程图介绍。不过这里本老爹也借此重申了所谓c++的兼容性

When we talk about portability of C++ programs, we usually mean portability of source code; that is, the source code can be successfully compiled and run on a variety of systems

也就是说谈论兼容性说的是源码兼容,一份符合c++标准的源码应该可以保证在任何所支持平台和对应版本的编译器编译的。尽管这是常识,不过我还是写这里用作提醒。 然后本老爹引入一个名词实体

The ISO C++ standard defines two kinds of entities:
• Core language features, such as built-in types (e.g., char and int) and loops (e.g., for-statements and while-statements)
• Standard-library components, such as containers (e.g., vector and map) and I/O operations (e.g., << and getline())

不过这里和cppreference所述的实体有些出入。我不知为何*语句(statement)*也被划入实体的范畴。不过相比"对象"这个概念,实体确实很少有人去讨论或表述。就我的理解实体就是在c++程序中能被操作或识别的事物。他是真实存在的概念但不必通过占用内存,执行操作之类事件观测他的存在。

C++ is a statically typed language. That is, the type of every entity (e.g., object, value, name, and expression) must be known to the compiler at its point of use. The type of an object determines the set of operations applicable to it

我觉得这是很有用的一句话。因为接受这句话或许能帮助我解决初学c++时期的一些困惑。我个人认为它和我之后所认识到的严格别名优化或通过union进行类型转换所造成的UB相关。

Every C++ program must have exactly one global function named main(). The program starts by executing that function. The int value returned by main(), if any, is the program’s return value to "the system." If no value is returned, the system will receive a value indicating successful completion.

这段话或许能从所有c++相关书籍中都能找到。尽管如此我还是摘抄下来,因为后面本老爹给出了一个有趣的例子。之后本老爹解释了一段经典helloworld程序中每个字符的意思.这里对于稍微接触过C++的人来说应该都没什么好看的。

Every name and every expression has a type that determines the operations that may be performed on it
A declaration is a statement that introduces a name into the program. It specifies a type for the named entity:
• A type defines a set of possible values and a set of operations (for an object).
• An object is some memory that holds a value of some type.
• A value is a set of bits interpreted according to a type.
• A variable is a named object

这里很清楚的说明了一个"名字"或者说id-expression,和表达式都有其类型来指定它所能执行的操作。也就是说表达式也有其类型。声明是向程序中引入一个名字,这个名字指代所声明类型的实体.这里更细致的说明可能要引入标识符(identifier)的概念,不过对初学者可能没有必要。剩下五句解释很简单,不过其中引入了对象的概念,不过这里本老爹似乎是因为前文叙述了阅读此部分的要求而没有解释。

Each fundamental type corresponds directly to hardware facilities and has a fixed size that determines the range of values that can be stored it

这里没什么好说的每个基础类型都有其硬件表示。不过这里如果不是基本类型似乎可以扩展到值表示对象表示的概念上。

A char variable is of the natural size to hold a character on a given machine (typically an 8-bit byte), and the sizes of other types are quoted in multiples of the size of a char. The size of a type is implementation-defined (i.e., it can vary among different machines) and can be obtained by the sizeof operator; for example, sizeof(char) equals 1 and sizeof(int) is often 4

这一大段我认为很重要也很容易被人忽略。直接说就是char类型所占用字节数是由实现定义的,不过通常为8。也有例外,有些平台一个char类型占9个字节比如PDP-11。c++为了实现其兼容性这里不作规定似乎是很重要的一点。每个类型都为char类型大小的整数倍, 这里似乎能为unsigned char数组作存储重用和进行类型转换埋下伏笔。

之后介绍了c++基本类型所能做的操作,也简单的介绍了一下类型转换,即在不同类型进行赋值和计算操作时,类型会做相应的转换。

double d = 2.2; //初始化浮点数
 int i = 7; // 初始化整数
 d = d+i; // 求和赋值给d
 i=d∗i; // 将产生的值赋值给i(将双精度浮点数截断转换为整型)

C++ offers a variety of notations for expressing initialization, such as the = used above, and a universal form based on curly-brace-delimited initializer lists

简单的说c++提供了花括号初始化器,是得我们在初始化变量时(定义),可以这么写

double d1 = 2.3;
@@ -72,4 +72,4 @@
 }
 }
 Traffic_light light=Traffic_light::red;
-Traffic_light next = ++light; // next becomes Traffic_light::green;

模块化,分离编译,命名空间,错误处理,异常略过。

不变式(Invariants)

程序运行中一直保持为真的前提条件。比如上诉原文异常标题下,使用异常捕获out_of_range。程序运行中数组的索引始终处于[0,size)范围内,或 elme始终是指向 double [size]的指针,类似这样的陈述这就是类中的不变式。不变式的概念是c++中通过构造和析构函数管理内存的基本概念。

Often, a function has no way of completing its assigned task after an exception is thrown.Then, "handling"an exception simply means doing some minimal local cleanup and rethrowing the exception

通常函数无法完成分配任务时需要抛出异常,并且处理剩余的清理工作。异常是RAII的关键概念。

静态断言略过。

\ No newline at end of file +Traffic_light next = ++light; // next becomes Traffic_light::green;

模块化,分离编译,命名空间,错误处理,异常略过。

不变式(Invariants)

程序运行中一直保持为真的前提条件。比如上诉原文异常标题下,使用异常捕获out_of_range。程序运行中数组的索引始终处于[0,size)范围内,或 elme始终是指向 double [size]的指针,类似这样的陈述这就是类中的不变式。不变式的概念是c++中通过构造和析构函数管理内存的基本概念。

Often, a function has no way of completing its assigned task after an exception is thrown.Then, "handling"an exception simply means doing some minimal local cleanup and rethrowing the exception

通常函数无法完成分配任务时需要抛出异常,并且处理剩余的清理工作。异常是RAII的关键概念。

静态断言略过。

\ No newline at end of file diff --git a/docs/.vuepress/dist/article/jaovy4gg/index.html b/docs/.vuepress/dist/article/jaovy4gg/index.html index 72e768e..881e053 100644 --- a/docs/.vuepress/dist/article/jaovy4gg/index.html +++ b/docs/.vuepress/dist/article/jaovy4gg/index.html @@ -1,4 +1,4 @@ -搭建vscode-cpp环境
Skip to content

搭建vscode-cpp环境

1157字约4分钟

2024-07-03

VSCode 搭建cpp环境

准备工作

1.下载VScode 2.Windows环境下载mingw64
下载链接
3.解压缩x86-64 w64-mingw32
4.D:\workfile\gcc15\x86_64-w64-mingw32\bin
D:\workfile\gcc15\x86_64-w64-mingw32\lib
D:\workfile\gcc15\x86_64-w64-mingw32\lib32 添加至用户环境变量PATH
5.打开下载c++插件

Cmake搭配Vscode

前提介绍

1.CMakePresets.json:用于指定整个项目的构建细节,json中包含

name
+搭建vscode-cpp环境
Skip to content

搭建vscode-cpp环境

1157字约4分钟

2024-07-03

VSCode 搭建cpp环境

准备工作

1.下载VScode 2.Windows环境下载mingw64
下载链接
3.解压缩x86-64 w64-mingw32
4.D:\workfile\gcc15\x86_64-w64-mingw32\bin
D:\workfile\gcc15\x86_64-w64-mingw32\lib
D:\workfile\gcc15\x86_64-w64-mingw32\lib32 添加至用户环境变量PATH
5.打开下载c++插件

Cmake搭配Vscode

前提介绍

1.CMakePresets.json:用于指定整个项目的构建细节,json中包含

name
 预设的名称,一般用表示平台或编译期的版本名字;
 
 vendor
@@ -87,4 +87,4 @@
 add_executable(main ${src_list})
 
 # 把目标文件与库文件进行链接
-target_link_libraries(main ${TESTFUNC_LIB})

PRIVATE 关键字表明 fmt 仅在生成 HelloWorld 时需要,不应传播到其他依赖项目

cmake 命令速览

cmake -Bbuild -GNinja -S. 以ninja生成 以 当前目录为源码 构建目录为build(如果没有就新建)

cmake -Bbuild -GNinja -S.. 在build文件夹下执行

ninja 在build文件夹下执行

贡献者: ImoutoCon1999
\ No newline at end of file +target_link_libraries(main ${TESTFUNC_LIB})

PRIVATE 关键字表明 fmt 仅在生成 HelloWorld 时需要,不应传播到其他依赖项目

cmake 命令速览

cmake -Bbuild -GNinja -S. 以ninja生成 以 当前目录为源码 构建目录为build(如果没有就新建)

cmake -Bbuild -GNinja -S.. 在build文件夹下执行

ninja 在build文件夹下执行

贡献者: ImoutoCon1999
\ No newline at end of file diff --git a/docs/.vuepress/dist/blog/archives/index.html b/docs/.vuepress/dist/blog/archives/index.html index d4cfea3..501712c 100644 --- a/docs/.vuepress/dist/blog/archives/index.html +++ b/docs/.vuepress/dist/blog/archives/index.html @@ -1 +1 @@ -归档
Skip to content

Yuzhiy

Yuzhiy

我心匪石不可转,我心匪席不可卷

anhui

\ No newline at end of file +归档
\ No newline at end of file diff --git a/docs/.vuepress/dist/blog/categories/index.html b/docs/.vuepress/dist/blog/categories/index.html index 6fe33bb..6d64db9 100644 --- a/docs/.vuepress/dist/blog/categories/index.html +++ b/docs/.vuepress/dist/blog/categories/index.html @@ -1 +1 @@ -分类
\ No newline at end of file +分类
\ No newline at end of file diff --git a/docs/.vuepress/dist/blog/index.html b/docs/.vuepress/dist/blog/index.html index 8e072fe..8a1d68c 100644 --- a/docs/.vuepress/dist/blog/index.html +++ b/docs/.vuepress/dist/blog/index.html @@ -1 +1 @@ -博客
Skip to content

Yuzhiy

Yuzhiy

我心匪石不可转,我心匪席不可卷

anhui

\ No newline at end of file +博客
Skip to content

Yuzhiy

Yuzhiy

我心匪石不可转,我心匪席不可卷

anhui

\ No newline at end of file diff --git a/docs/.vuepress/dist/blog/tags/index.html b/docs/.vuepress/dist/blog/tags/index.html index f2fc377..fd006cb 100644 --- a/docs/.vuepress/dist/blog/tags/index.html +++ b/docs/.vuepress/dist/blog/tags/index.html @@ -1 +1 @@ -标签
Skip to content

标签

Yuzhiy

Yuzhiy

我心匪石不可转,我心匪席不可卷

anhui

\ No newline at end of file +标签
Skip to content

标签

Yuzhiy

Yuzhiy

我心匪石不可转,我心匪席不可卷

anhui

\ No newline at end of file diff --git a/docs/.vuepress/dist/index.html b/docs/.vuepress/dist/index.html index 2e9bc52..cbd6939 100644 --- a/docs/.vuepress/dist/index.html +++ b/docs/.vuepress/dist/index.html @@ -1 +1 @@ -
Skip to content

Yuzhiy

Cpp Developer

我心匪石不可转,我心匪席不可卷

\ No newline at end of file +
Skip to content

Yuzhiy

Cpp Developer

我心匪石不可转,我心匪席不可卷

\ No newline at end of file diff --git a/docs/.vuepress/dist/sitemap.xml b/docs/.vuepress/dist/sitemap.xml index aad5205..b671f21 100644 --- a/docs/.vuepress/dist/sitemap.xml +++ b/docs/.vuepress/dist/sitemap.xml @@ -1,3 +1,3 @@ -https://github.com/2024-11-04T09:00:14.000Zdailyhttps://github.com/article/027o3g1x/2024-11-03T13:53:48.000Zdailyhttps://github.com/article/j3qgcpng/2024-11-03T13:53:48.000Zdailyhttps://github.com/article/d3sghq29/2024-12-04T09:01:14.000Zdailyhttps://github.com/article/72dkdlbu/2024-12-04T09:01:14.000Zdailyhttps://github.com/article/xst10xfz/2024-12-02T15:54:51.000Zdailyhttps://github.com/article/vqkwmfa2/2024-12-05T09:01:36.000Zdailyhttps://github.com/article/j3e883z1/2024-12-02T15:54:51.000Zdailyhttps://github.com/article/wpu7x9jw/2024-12-02T15:54:51.000Zdailyhttps://github.com/data_struct/map_str/2024-12-02T15:54:51.000Zdailyhttps://github.com/data_struct/2024-12-02T15:54:51.000Zdailyhttps://github.com/article/jaovy4gg/2024-12-02T15:54:51.000Zdailyhttps://github.com/math/mathformula/2024-12-02T08:48:44.000Zdailyhttps://github.com/math/2024-12-02T08:48:44.000Zdailyhttps://github.com/math/math/7ge8cr0s/dailyhttps://github.com/test1/chapter3-4/2024-12-02T08:48:44.000Zdailyhttps://github.com/test1/exception/2024-12-02T08:48:44.000Zdailyhttps://github.com/test1/2024-12-02T08:48:44.000Zdailyhttps://github.com/blog/dailyhttps://github.com/blog/tags/dailyhttps://github.com/blog/archives/dailyhttps://github.com/blog/categories/daily \ No newline at end of file +https://github.com/2024-11-04T09:00:14.000Zdailyhttps://github.com/article/j3qgcpng/2024-11-03T13:53:48.000Zdailyhttps://github.com/article/d3sghq29/2024-12-04T09:01:14.000Zdailyhttps://github.com/article/72dkdlbu/2024-12-04T09:01:14.000Zdailyhttps://github.com/article/xst10xfz/2024-12-02T15:54:51.000Zdailyhttps://github.com/article/027o3g1x/2024-11-03T13:53:48.000Zdailyhttps://github.com/article/oy4qci0t/2024-12-09T15:37:00.000Zdailyhttps://github.com/article/j3e883z1/2024-12-09T15:37:00.000Zdailyhttps://github.com/article/pc9qmrqh/2024-12-09T15:37:00.000Zdailyhttps://github.com/article/wpu7x9jw/2024-12-02T15:54:51.000Zdailyhttps://github.com/article/vqkwmfa2/2024-12-05T09:01:36.000Zdailyhttps://github.com/data_struct/map_str/2024-12-02T15:54:51.000Zdailyhttps://github.com/data_struct/2024-12-02T15:54:51.000Zdailyhttps://github.com/article/jaovy4gg/2024-12-02T15:54:51.000Zdailyhttps://github.com/math/mathformula/2024-12-02T08:48:44.000Zdailyhttps://github.com/math/2024-12-02T08:48:44.000Zdailyhttps://github.com/math/math/7ge8cr0s/2024-12-09T15:37:00.000Zdailyhttps://github.com/test1/chapter3-4/2024-12-02T08:48:44.000Zdailyhttps://github.com/test1/exception/2024-12-02T08:48:44.000Zdailyhttps://github.com/test1/2024-12-02T08:48:44.000Zdailyhttps://github.com/blog/dailyhttps://github.com/blog/tags/dailyhttps://github.com/blog/archives/dailyhttps://github.com/blog/categories/daily \ No newline at end of file diff --git a/docs/.vuepress/public/images/tools/vscode_clang_vscodepre1.png b/docs/.vuepress/public/images/tools/vscode_clang_vscodepre1.png new file mode 100644 index 0000000000000000000000000000000000000000..88662663d49e1fa145581dbe10920e2df48e84ff GIT binary patch literal 78480 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%0D4^d@pRPs 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 kP@#Bnk(Fi5Pw&qA|sC6 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 M$%~hWe*F4>0DXau<^TWy literal 0 HcmV?d00001 diff --git a/docs/.vuepress/theme.ts b/docs/.vuepress/theme.ts index 962bada..56e66a9 100644 --- a/docs/.vuepress/theme.ts +++ b/docs/.vuepress/theme.ts @@ -7,10 +7,13 @@ export default plumeTheme({ shiki: { twoslash: true, lineNumbers: 10, - languages: ["cpp", "powershell", "bash", "cmd"], + languages: ['cpp','powershell', 'csharp','json','cmake'], }, - markdownEnhance: { demo: true, mermaid: true, }, - markdownPower: { caniuse: true, jsfiddle: true,fileTree: true, // :::file-tree 文件树容器 + markdownEnhance: { demo: true }, + markdownPower: { caniuse: true, jsfiddle: true, + fileTree: { + icon: 'colored', // 'simple' | 'colored' + }, // :::file-tree 文件树容器 plot: true, // !!plot!! 隐秘文本 icons: true, diff --git a/docs/tools/vscode_clang.md b/docs/tools/vscode_clang.md index 9dd7d14..f8c31b9 100644 --- a/docs/tools/vscode_clang.md +++ b/docs/tools/vscode_clang.md @@ -9,10 +9,155 @@ permalink: /article/j3e883z1/ [下载链接](https://github.com/trcrsired/llvm-releases) 2.将`/.../llvm/bin`和`/.../x86_64-windows-gnu/bin` 路径添加到用户`path` 3.安装clangd插件 -4.测试一下 -`clang++ -o hello.exe hello.cpp --target=x86_64-windows-msvc --sysroot=系统根路径 -fuse-ld=lld -D_DLL=1 -lmsvcrt -flto=thin -stdlib=libc++` +4.创建一个项目文件夹此处为helloproject,进入文件夹,右键打打开powershell +5.测试clang +`clang --version` +测试cmake +`cmake --version` +测试ninja +`ninja --version` ---sysroot=D:\\workfile\\compiler\\windows-msvc-sysroot +编写一个最简单hello.cpp文件保存 + +首先编写CmakeLists.txt和CmakePresets.json + + +```cmake +cmake_minimum_required(VERSION 3.5.0) + +set(CMAKE_CXX_STANDARD 23) +set(CMAKE_CXX_STANDARD_REQUIRED true) +set(CMAKE_CXX_EXTENSIONS OFF) + +project(hello) + +add_executable(hello hello.cpp) + +``` + +```json +{"version": 8, + "configurePresets": [ + { + "name": "clang", + "hidden": false, + "generator": "Ninja", + "binaryDir": "${sourceDir}/build/${presetName}", + "cacheVariables": { + "CMAKE_BUILD_TYPE": "Debug", + "CMAKE_C_COMPILER": "D:\\workfile\\compiler\\clang\\llvm\\bin\\clang.exe", + "CMAKE_CXX_COMPILER": "D:\\workfile\\compiler\\clang\\llvm\\bin\\clang++.exe", + "CMAKE_CXX_FLAGS": "--target=x86_64-windows-gnu --sysroot=D:\\workfile\\compiler\\clang\\x86_64-windows-gnu -fuse-ld=lld -rtlib=compiler-rt -unwindlib=libunwind -lc++abi -lunwind -lntdll -Wno-unused-command-line-argument -fcolor-diagnostics -stdlib=libc++", + "CMAKE_C_FLAGS": "--target=x86_64-windows-gnu --sysroot=D:\\workfile\\compiler\\clang\\x86_64-windows-gnu -fuse-ld=lld -rtlib=compiler-rt -unwindlib=libunwind -lc++abi -lunwind -lntdll -Wno-unused-command-line-argument -fcolor-diagnostics " + } + } + ] +} +``` + +在当前项目文件夹下打开powershell,或使用vscode的终端,依次输入一下命令 + +```powershell +cmake -Bbuild --preset clang . + +ninja -C build hello + +./hello +``` + +这就是完整的使用cmake和ninja的构建,并执行的过程。 +准备工作做好后 +首先开始配置vscode相关配置 +1.taskjson +taskjson相当于任务配置文件,而一个task任务相当于执行一个个命令行命令。把一个个命令行命令抽象成任务。 +也就是说用taskjson中的任务代替你执行上述的命令 +相比每次开始新项目时重新写taskjson,vscode支持配置默认任务。这是写在C:\Users\<用户名>\AppData\Roaming\Code\User\profiles文件中的全局任务设置。 + +当然这里我们先选择配置任务而不是默认生成的任务,注意这个默认生成的任务是全局的.点击配置任务后,`命令面板`也就是出现的下拉框。如果之前没有配置本地任务,则会出现`使用模板创建taskjson文件`,点击后,选择`Other`后会在本地项目的文件夹下创建一个.vscode文件夹其中包含一个task.json文件。其中包含了vscode模板创建的任务一般为` echo Hello` + +:::file-tree + +- helloproject + - .vscode + - task.json + - build + - Cmakefile + - ... + - .ninja_deps + - .ninja_log + - build.ninja + - cmake_install.cmake + - CmakeCache.txt + - hello.exe + - CmakeLists.txt + - CmakePresets.json + - hello.cpp + +::: +首先提供以下三个最基础的代替上述命令的任务 +```json +"version": "2.0.0", + "tasks": [ + { + "type": "shell", + "label": "cmake-build", + "command": "cmake", + "args": [ + "-Bbuild", + "--preset", + "clang", + "." + ], + "options": { + "cwd": "${workspaceFolder}/" + }, + "group": { + "kind": "build", + "isDefault": true + }, + "detail": "cmake构建", + "problemMatcher": [] + }, + { + "type": "shell", + "label": "ninja-make", + "command": "ninja ", + "args": [ + "-v" + ], + "options": { + "cwd": "${workspaceFolder}/build" + }, + "problemMatcher": [], + "group": { + "kind": "build", + "isDefault": false + }, + "detail": "ninja编译" + }, + { + "label": "执行", + "type": "shell", + "command": "./hello", + "options": { + "cwd": "${workspaceFolder}/" + }, + "problemMatcher": [], + "group": { + "kind": "build", + "isDefault": true + }, + "detail": "执行exe", + "dependsOrder": "sequence", + "dependsOn": [ + "cmake-build", + "ninja-make" + ] + } + ] +``` +保存task.json文件后点击vscode的任务栏的`终端`选项,点击运行任务。在出现的下拉框中点击`执行` +$env:path.split(";") clang++ -o main.exe main.cpp --target=x86_64-windows-msvc --sysroot=D:\\workfile\\compiler\\windows-msvc-sysroot -fuse-ld=lld -D_DLL=1 -lmsvcrt -flto=thin ```powershell @@ -71,3 +216,5 @@ ninja -t clean 清除构建文件 ninja <目标> 编译对应项目 有时你的引入的库依赖太多文件 此时只构建你的目标文件 ninja -v 详细模式构建所有目标 + +