PE:微PE工具箱
步骤
- 使用U盘启动快捷项,启动PE
- 在分区大师工具看下自己ESP在哪个盘符,就在UEFI引导修复里面选择哪个盘符。
- 开UEFI引导修复,在ESP里面选择H盘符(若没有则点击
挂载
) - 选择根目录:windows目录(例:
C:\Windows
) - 点击开始修复,点击确定
- 最后重新开机,就可以进入系统了
挂载
)C:\Windows
)ctrl+b
,松开,然后再按 [
PgUp
, PgDn
实现上下翻页q
ps:
ctrl + b + [
,很多人会以为是同时按三个键,但是这样是不行的。
快捷键 | 功能 |
---|---|
Ctrl-B % |
竖直拆分屏幕(两个 Shell 分别位于左右) |
Ctrl-B " |
水平拆分屏幕(两个 Shell 分别位于上下) |
Ctrl-B O |
切换到另一个 Shell |
Ctrl-B ? |
查看帮助 |
Ctrl-B d |
断开 tmux 并让其在后台运行(可以使用 tmux attach 重新进入) |
1 | tmux new -s 名字 |
1 | tmux a -t 名字 |
1 | ctrl + b + d |
1 | tmux外:tmux kill-session -t 名字 |
1 | tmux ls |
1 | tmux kill-server |
1 | "workbench.colorCustomizations" : { |
1 | "workbench.colorCustomizations": { |
更改Git的样式
美化
基本配置
在用户根目录下新建一个名为 .minttyrc 的文件,写入以下内容,然后重启 git bash,就能看到美化后的样子了。
1 | $ cd ~ |
复制以下代码到
.minttyrc
:
1 | FontHeight=11 |
更新 git-prompt.d
仅仅是换了一个主题还不够,还需要更改终端提示符,更改 git 安装目录下 etc 目录里面的一个文件即可,这个文件也可以通过绝对路径访问到。
进入
1 | $ cd /etc/profile.d/git-prompt.sh |
复制代码到
git-prompt.sh
1 | if test -f /etc/profile.d/git-sdk.sh |
愚人节
100篇
谨以此篇纪念我逝去的半天
include什么
导入头文件(
.h
)和源文件(.cpp
)
Note: 只导入 源文件(
.cpp
) 也可以
CMakeLists.txt
手动添加
1 | cmake_minimum_required(VERSION 3.15) |
自动添加
1 | #if ($HEADER_COMMENTS) |
ElemType.h
1 | /** |
ElemType.cpp
1 | /** |
main.cpp
1 | #include <iostream> |
运算符重载:详见 运算符重载
重载意义
函数重载(Function Overloading)可以让一个函数名有多种功能,在不同情况下进行不同的操作;
运算符重载(Operator Overloading)也是一个道理,同一个运算符可以有不同的功能;
C++中预定义的运算符的操作对象只能是基本数据类型。但实际上,对于许多用户自定义类型(例如类),也需要类似的运算操作。这时就必须在C++中重新定义这些运算符,赋予已有运算符新的功能,使它能够用于特定类型执行特定的操作。运算符重载的实质是函数重载,它提供了C++的可扩展性,也是C++最吸引人的特性之一。
比如,我们定义两个string类对象a,b后我们之所以可以使用+运算,是因为string类重载了+运算符。
语法
1 | <返回类型说明符> operator <运算符符号>(<参数表>) |
哪些运算符可以被重载,哪些运算符不能被重载
可以被重载的运算符:
算术运算符:
+ , - , * , / , % , ++ , --
位操作运算符:& , | , ~ , ^ , << , >>
逻辑运算符:! , && , ||
比较运算符:< , > , >= , <= , == , !=
赋值运算符:= , += , -= , *= , /= , %= , &= , |= , ^= , <<= , >>=
其他运算符:[] , () , -> , ,(逗号运算符) , new , delete , new[] , delete[] , ->*
不允许的运算符重载:
. , .* , :: , ?: ,siezof
Notes:
运算符重载函数是类的成员函数时
>
要是内部的,必须得是
<=1
个参数,不需要加friend
(友元函数)
1 | <返回类型说明符> <类名>::operator <运算符符号>(<参数表>) |
运算符重载函数不是类的成员函数时
(或者说当运算符函数是非成员函数时
)
friend
(友元函数),不管参数是不是类的对象为什么用 const
和 &
:
const
:
&
(引用):
这样可以避免在函数调用时对实参的一次拷贝,提高了效率。
代码
1 | /** |
暂时未发现 Bug
代码
1 | /** |
原因
定义为成员函数,那么就隐含this指针了对吧,你要知道重载其实也是一种函数,那么函数就有调用他的对象,如果是成员函数,那么调用他的对象就肯定是想对应的类对象了对吧,但是<<和>>调用的对象肯定只能是cout或者cin对吧,那么久不能定义为成员函数了,只有定义成友元,那么就可以把cin,cout作为一个参数传进你重载的操作符函数里面去了
语法:
在类中:
1 | friend ostream &operator <<(ostream &out, const ElemType &e); |
在外面:
1 | ostream &oprator <<(ostream &out, const ElemType &e); |
代码
头文件(.h
)
1 | #ifndef ELEMTYPE_H |
源文件(.cpp
)
1 | #include "ElemType.h" |
配置
下载 setting_3.zip, setting_4.zip, setting_5.zip, setting_6.zip, setting_7.zip, setting_8.zip
数字越大,版本越新
打开 Clion
选择: File
- Import setting
选择这个 setting
文件即可(一般全部导入,看个人)
File
- Settings
- Appearance & Behavior
- System Settings
Reopen last project on startup
更改模板注释:
打开:File
- Settings
- Editor
- File and Code Templates
- Includes
下面有一个面板,在面板输入
1 | #if ($HEADER_COMMENTS) |
Clion 多个 main
函数存在
在 CMakeLists.txt
中加入
1 | # 遍历项目根目录下所有的 .cpp 文件 |
为了方便可以自己定义快捷键:(个人用的是: Alt-Shift+R
)
File
- Settings
- Keymap
Reload cmake project
即可参考:
1 | cmake_minimum_required(VERSION 3.15) |
CMakeLists
自动加载
Files
- settings
- Build, Execution, Deployment
- CMake
Automatically reload CMake project on editing
扳手
View Mode
- Dock Unpinned
汉化步骤
resources-cn.jar
复制到 安装目录下lib文件夹下
快捷键
快捷键 | 含义 | 备注 |
---|---|---|
Ctrl + Shift + U | 大小写切换 | |
Ctrl + Shift + Space | 补全单词 | new后直接键入构造器、构造器内提供构造信息 |
Ctrl + Alt + L | 格式化代码 | |
Ctrl + Shift + Backspace | 回到最后编辑的地方 | |
Ctrl + N | 查找类 | |
Ctrl + F12 | 快速查看类成员 | |
Ctrl + P | 提示参数信息 | |
Ctrl + Alt + B | 查看接口、抽象类的实现类 | |
Ctrl + F7 | 找到某个类、变量、函数等在文中被使用到的的地方 | |
连续点击Shift | 全局搜索 | |
Shift + F6 | 重新命名变量 | |
连续按两次Esc | 搜索框就会消失 | |
Alt + insert | 添加自动代码生成信息 | 新建新的文件 |
Ctrl + j | 插入完整的代码块 | 默认只有 for , iter , itit ,也可以自己在 Setting—>Live Templates 里添加自定义的代码块 |
Ctrl + Alt + -/+ | 展开折叠当前函数、类 | |
Ctrl + Shift + -/+ | 展开折叠所有函数、类 | |
Ctrl + Alt + T | 就可以选择给这些代码包裹上 if , for 等(surround with) |
自动换行
idea设置自动换行其实很简单,只需要进行一步操作就可以了。
看下图:我们只需要在相应的位置加上文件的类型就可以了,比如我们写的类都是.java文件,那么我们只需要加上 *.java就可以实现自动换行了。
JetBrains
学生认证:自行百度
JetBrains
sync配置同步:
Files
- Sync ……
Clion
输出乱码
Ctrl+Shift+Alt+/
选中Registry..
.,然后取消掉 run.processes.with.pty
后面的 √
首先我们把硬件时间(BIOS时间)将默认的UTC改为CST,然后重启,使得两个系统的时间保持一致
sudo timedatectl set-local-rtc 1kv
#上述代码中的1改为0即可将硬件时间修改为默认的UTC时间sudo reboot
#重启系统使改动生效
接着我们更新一下系统时间
sudo apt-get install ntpdate
#这里的操作是安装ntpdate工具sudo ntpdate time.windows.com
#使用ntpdate工具从time.windows.com上面同步时间
最后我们将时间更新到硬件上,以保证重启后改动不会被还原
sudo hwclock --localtime --systohc
#这里的代码意思是使用hwclock命令将本地时间localtime从sysclock同步到hwclock
cmd
运行 regedit
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SecurityHealthService
DWORD(32位)
值,名为 Start
注意:
- 如果你安装第三方杀软或安全软件,Windows Defender会自动被关闭。
- start的默认值为
3
更改当前不可用的设置
启用快速启动(推荐)
前面的勾即可sudo fdisk -l
sudo ntfsfix /dev/sdb1
注意:/dev/sdb1 为移动硬盘的设备名,找到硬盘size对应的设备名
locate <文件名>
1 | [ |
Ayu
Ayu-light
1 | { |