程序员的资源宝库

网站首页 > gitee 正文

[Kyana]Windows使用小技巧 wind如何使用

sanyeah 2024-03-29 17:24:21 gitee 7 ℃ 0 评论

01|修改Win用户名

打开运行,输入cmd,回车;
输入`control userpasswords2`,回车;
点击属性,修改用户名,点击确定;
打开运行,输入regedit,回车;
定位到 `HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList`;
选中下面名字最长的项,双击右侧的ProfileImagePath,修改 C:\Users\ 后的用户名,点击确定;
注销并重新登录;
打开用户目录,将新的用户名文件夹删除,再将原来的的用户名文件夹重命名为新的用户名;
再次注销并重新登录。

02|WSA on Win10

New-NetFirewallRule -DisplayName "WSL" -Direction Inbound -InterfaceAlias "vEthernet (WSL)" -Action Allow

开源安装

03|Docker Commands on Win

www.docker.com
learn.microsoft.com/en-us/windows/wsl/wsl-config#configuration-setting-for-wslconfig
learn.microsoft.com/zh-cn/windows/wsl/wsl-config#configuration-setting-for-wslconfig

mklink /j "C:\Program Files\Docker" "K:\Vmachine\Docker"
wsl --export dis_name dest
wsl --unregister dis_name
wsl --import dis_dest dis_export --version 2

04|pnpm的存储配置

nodejs的包管理器很多,自带的npm(自带的corepakc是“包管理器的管理器”),中国特供镜像支持的cnpm、企业推荐的yarn、性能推荐的pnpm等等,总结这些包管理器特点,我更推荐pnpm。

  • npm:官方+自带,但使用不方便,界面和报错不友好。
  • cnpm:一行命令能解决非要再下载个程序?
  • yarn:听说企业级用的多,小巧稳定。但上述三个都会摊平导致幽灵引用,个人项目不常见。
  • pnpm:使用软硬链接,不摊平就解决幽灵引用,IO性能也上去了,同时全局存储没有多余的磁盘占用。

在用户根目录创建.npmrc文件,写入下列配置内容,注意更换,Linux通用。

registry=http://registry.npmmirror.com/ #阿里npm镜像的新Url
prefix=npm包通过npm i -g安装时候脚本存放位置,因此需要加入环境变量path
cache=npm包本体的存放位置

pnpm-prefix=pnpm的主目录,下述目录都应是这个目录的子目录
global-dir=全局安装时包的存储位置
global-bin-dir=全局安装时脚本的存放位置
cache-dir=缓存位置,存放一些镜像的元信息,类似apt使用apt update时更新的东西
state-dir=pnpm本体的更新状态
store-dir=非全局包的存储位置,其它地方安装时npm包的链接目标

如何清理:可以直接删除,pnpm8自带了 pnpm store prune命令,是用来清除非全局包即store-dir的。

05|上帝模式

创建文件夹,重命名为 {ED7BA470-8E54-465E-825C-99712043E01C},保存即可打开上帝模式的控制面板。

06|压缩WSL磁盘

diskpart
select vdisk file="D:\WSL\ext4.vhdx"
attach vdisk readonly
compact vdisk
detach vdisk
exit

07|注册表小技巧

自启动项

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce

卸载残留

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

加快宽带接入速度

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows

下增加一个 Psched项,增加一个 NonBestEffortLimit值,Dword,内容为0

加快宽带网速

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\ parameters

下增 DefaultTTL一个Dword值,修改为8016或者12010;将 GlobalMaxTcpWindowSize,7FFF

加速网上邻居

HKEY_LOCAL_MACHINE/sofeware/Microsoft/Windows/CurrentVersion/Explore/RemoteComputer/NameSpace

删除其下 {2227A280-3AEA-1069-A2DE08002B30309D}{D6277990-4C6A-11CF8D87- 00AA0060F5BF}

自动关闭停止响应程序

HKEY_CURRENT_USER\ControlPanel\Desktop\AutoEndTasks

数值修改为1,重启

关机时自动关闭停止响应程序

HKEY_USERS\.DEFAULT\ControlPanel\Desktop\AutoEndTasks,修改数值为1

加快预读能力改善开机速度

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\PrefetchParameters\EnablePrefetcher,数值更改为3+

利用L2 Cache加快整体效能

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\SecondLevelDataCache,数值更改为L2相同的十进制数

启动计算机同时运行defrag程序

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction\Enable

清除内存不被使用的dll文件

HKKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AlwaysUnloadDLL数值改为0

加快菜单显示速度

HKEY_CURRENT_USER\ControlPanel\Desktop\MenuShowDelay单位是毫秒

08|Visual Studio问题

全部删除

找到 C:\Program Files (x86)\Microsoft Visual Studio\Installer\resources\app\layout\installCleanup.exe

管理员运行后重启

修改安装位置

计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\Setup
删除相应注册表

多余的python环境

删除 HKEY_LOCAL_MACHINE\SOFTWARE\PythonHKEY_CURRENT_USER\SOFTWARE\Python
下相应注册表

python命令行无反应

应用商店安装的路径%AppData%\Local\Microsoft\WindowsApps下有残留,删除或者调前加载即可,或需卸载时修复

注释快捷键

注释:Ctrl+K Ctrl+C,取消注释:Ctrl+K Ctrl+U

补全提示的字体:环境-字体与颜色-语句结束

Tab转Space:工具-选项-文本编辑器-所有语言-制表符-选项卡-插入空格

09|刷新win10图标缓存

删除 ~\AppData\Local\iconCache.db文件,重启计算机

10|使用pandoc

通用转换命令

pandoc input_file -o output_file

CSS样式应用在HTML

pandoc demo.md -c demo.css -o demo.html
pandoc demo.md --self-contained -c demo.css -o demo.html

转换为docx文档时,部分格式不和要求需要重调

转换为PDF时,不支持中文,需要latex辅助

常用参数

# 生成独立文件
-s/--standalone file_name
# 输入文件格式
-f/-r input_format
# 输出文件格式
-t/-w output_format
# 生成内嵌文件
--self-contained
# 读取资源目录
--data-dir=path
# epub资源设置
--epub-coverimage=IMG
--epub-metadata=FILE
--epub-embed-font=FONT
# 设置metadata
--metadata-file=FILE(YAML)/--metadata=KEY[:VAL]/-M KEY[=VAL]

11|Visual Studio Code问题

解决C++环境

lldb

需要python3.10添加到PATH,python310.dll缺失,无法启动lldb。

Running lldb.exe does nothing · Issue #61878 · llvm/llvm-project

微软的C++插件需要lldb-mi.exe,但据GitHub Issue从clang10开始官方已经取消该支持,需要使用codelldb插件启用clang调试。

github.com

codelldb需要从GitHub Release下载,并配置好launch.json和tasks.json,先编译再调试,参照默认生成的内容进行自定义。

gdb

自定义默认的launch.json即可,根据gcc的发行不同可能有gdb.exe和gdb32.exe可选。注意默认生成时选择Launch选项。

cl.exe

需要从visual studio development的命令行环境启动vscode才能检测到cl.exe位置。Ctrl+Shift+B编译时选择cl即可,F5调试选择Windows,自动生成配置文件,无需指定位置。

小熊猫

小熊猫C++调试的方式也是使用gdb的mi协议,故无法支持高版本的clang

12|PowerShell编程

powershell的字符串地址中如果有空格等,用-LiteralPath

12|C与C++编程

*:造指针时间接取址、用指针时解引用、操作指针时按类型移动,&:直接取址返回,cpp做绑定是起别名

C11和C++一般在C/C++17实现较完善,应当多用,必要时可以使用C99;C99增加复数,C11增加多线程泛型等,用到什么再说,可用的大型库有boost和qt

  • base64:6位bit一分,四字符一节
  • ROT13:凯撒13,但自反

段错误

  1. free()函数使用不当容易吐核(段错误),产生原因主要有:
    解引用空指针
    访问不可访问的内存空间(如内核空间)
    访问不存在的内存地址
    试图写一个只读内存空间(如代码段)
    栈溢出(函数递归调用)
    使用未初始化的指针(定义时没有初始化或者已经回收)
  2. C语言异常退出代码:
    3221225477 (0xC0000005): 访问越界,一般是读或写了野指针指向的内存
    3221225725 (0xC00000FD): 堆栈溢出,一般是无穷递归造成的
    3221225620 (0xC0000094): 除0错误,一般发生在整型数据除了0的时候
  3. 关于指针:加减操作针对相对应长度(下一个),必须赋值变量才能取地址
  4. 按值传递地址,彻底改变;复制传递,临时改变
  5. 什么是段错误(吐核):
    系统发送SIGSEGV信号(异常),系统默认处理是终止并转储内存回硬盘,保护数据,原因是访问到了不能访问的内存,用户态没有权限
    常见场景:输入缺少取地址运算符、访问不存在的内存地址、堆栈溢出、指针问题(使用未初始化的指针,解引用空指针)
    随意吐核(coredump)会过于占用存储

13|逆向书单

编程语言:《visual c++ 2013 入门经典》、《汇编语言基于X86》

操作系统:《精通Windows API》、《Windows 核心编程》、《Windows NT 本机api》

驱动开发:《Windows内核编程》、《Windows内核情景分析》、《Windows内核原理与实现》、《Windows内核安全编程 从入门到实践》

逆向分析:《IDA Pro权威指南》、《C++反汇编与逆向分析技术揭秘》《调试软件/软件调试》
数据结构与算法:《数据结构与算法分析 C语言描述》、《算法:C语言实现》、《Windows PE权威指南》

《TCP/IP网络编程》、《Windows网络编程》

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表