Visual Studio 工程配置常见的宏

$(Configuration) 当前项目配置的名称,例如“Debug”。
$(DevEnvDir) Visual Studio 的安装目录(定义为驱动器 + 路径);包括尾随反斜杠 ()。
$(FrameworkDir) .NET Framework 的安装目录。
$(FrameworkSDKDir) 安装 .NET Framework 的目录。.NET Framework 可能作为 Visual Studio 的一部分安装,也可能单独安装。
$(FrameworkVersion) Visual Studio 使用的 .NET Framework 版本。与 结合$(FrameworkDir),是 Visual Studio 使用的 .NET Framework 版本的完整路径。
$(FxCopDir) 文件的路径fxcop.cmd。fxcop.cmd并非所有 Visual Studio 版本都安装了该文件。
$(IntDir) 为中间文件指定的目录路径。如果是相对路径,中间文件将转到附加到项目目录的此路径。此路径应以反斜杠 () 结尾。它解析为中间目录属性的值。不要使用它$(OutDir)来定义此属性。
$(OutDir) 输出文件目录的路径。如果是相对路径,则输出文件将转到附加到项目目录的此路径。此路径应以反斜杠 () 结尾。它解析为输出目录属性的值。不要使用它$(IntDir)来定义此属性。
$(Platform) 当前项目平台的名称,例如“Win32”。
$(PlatformShortName) 当前体系结构的简称,例如“x86”或“x64”。
$(ProjectDir) 项目的目录(定义为驱动器 + 路径);包括尾随的反斜杠 ()。
$(ProjectExt) 项目的文件扩展名。文件扩展名前包含“.”。
$(ProjectFileName) 项目的文件名(定义为基本名称+文件扩展名)。
$(ProjectName) 项目的基本名称。
$(ProjectPath) 项目的绝对路径名(定义为驱动器+路径+基本名称+文件扩展名)。
$(PublishDir) 发布目标的输出位置;包括尾随反斜杠 ()。默认为文件$(OutDir)app.publish\夹。
$(RemoteMachine) 设置为“调试”属性页上的“远程计算机”属性的值。有关更多信息,请参阅更改 C/C++ 调试配置的项目设置。
$(RootNameSpace) 包含应用程序的命名空间(如果有)。
$(SolutionDir) 解决方案的目录(定义为驱动器 + 路径);包括尾随反斜杠 ()。仅在 IDE 中构建解决方案时定义。
$(SolutionExt) 解决方案的文件扩展名。文件扩展名前包含“.”。仅在 IDE 中构建解决方案时定义。
$(SolutionFileName) 解决方案的文件名(定义为基本名称 + 文件扩展名)。仅在 IDE 中构建解决方案时定义。
$(SolutionName) 解决方案的基本名称。仅在 IDE 中构建解决方案时定义。
$(SolutionPath) 解决方案的绝对路径名(定义为驱动器 + 路径 + 基本名称 + 文件扩展名)。仅在 IDE 中构建解决方案时定义。
$(TargetDir) 构建的主要输出文件的目录(定义为驱动器 + 路径);包括尾随反斜杠 ()。
$(TargetExt) 构建的主要输出文件的文件扩展名。文件扩展名前包含“.”。
$(TargetFileName) 构建的主要输出文件的文件名(定义为基本名称 + 文件扩展名)。
$(TargetName) 构建的主要输出文件的基本名称。
$(TargetPath) 构建的主输出文件的绝对路径名(定义为驱动器 + 路径 + 基本名称 + 文件扩展名)。
$(VCInstallDir) 包含 Visual Studio 安装的 C++ 内容的目录。此属性包含目标 Microsoft C++ (MSVC) 工具集的版本,该版本可能与主机 Visual Studio 不同。例如,使用 构建时$(PlatformToolset) = v140,$(VCInstallDir)包含 Visual Studio 2015 安装的路径。
$(VSInstallDir) 安装 Visual Studio 的目录。此属性包含目标 Visual Studio 工具集的版本,该版本可能与主机 Visual Studio 不同。例如,使用 构建时$(PlatformToolset) = v110,$(VSInstallDir)包含 Visual Studio 2012 安装的路径。
$(WebDeployPath) 从 Web 部署根目录到项目输出所属位置的相对路径。
$(WebDeployRoot) 位置的绝对路径。例如,c:\inetpub\wwwroot。

参考csdn:https://blog.csdn.net/testcpp/article/details/140566763

参考官方链接:https://learn.microsoft.com/en-us/cpp/build/reference/common-macros-for-build-commands-and-properties?view=msvc-170

Debian 无法显示中文

参考链接:https://www.veidc.com/46019.html

apt-get install locales
dpkg-reconfigure locales

进入语言设置界面:

其中,空格键为选取/取消,Tab键为切换到确认选择。

通过方向键与空格键选择 en_us.UF-8,其余全部取消,然后按Tab选择<OK>,回车进入下一个界面:

选择 es_US.UTF-8,回车。

然后执行以下命令使更改的语言环境立即生效,而无需重新启动系统:

source /etc/default/locale

有些时候设置完后运行 locale 命令会出现 perl 警告:警告设置区域设置失败。此时最实用,最简单的解决方案是使用sudo特权重新生成语言环境。

sudo locale-gen en_US.UTF-8

pve加装硬件后无法上网

参考:https://blog.csdn.net/YongBeiShangHuiYi/article/details/136543661

# cat /etc/network/interfaces

auto lo
iface lo inet loopback
 
iface enp6s0 inet manual
 
auto vmbr0
iface vmbr0 inet static
        address 192.168.123.222/24
        gateway 192.168.123.1
        bridge-ports enp6s0
        bridge-stp off
        bridge-fd 0
 
iface wlp5s0 inet manual
 
 
source /etc/network/interfaces.d/*

通常情况下,是因为 en6s0 这个网卡名称变了

用命令 ip a 找一下列表中的网卡,大概率会是中间的数字因为加了设备变化了导致的

修改一下,之后 重启!!!

IDM无限试用

1:首先,从 IDM 网站下载 IDM

2:在电脑上安装 IDM

3:现在在 Windows 中搜索 “PowerShell “并打开 PowerShell

4:粘贴命令

irm https://massgrave.dev/ias | iex

5:然后键入 “1”

fnOS飞牛挂载单硬盘

通过pve安装添加直通硬盘后,需要在飞牛中挂载才可以使用,和Debian操作基本一样

先用fdisk找到要挂载的盘,假如是:/dev/sdd1 和 /dev/sdc1

# 执行挂载命令
mount -t ext4 /dev/sdd1 /vol1/1000/mount/data
mount -t ext4 /dev/sdc1 /vol1/1000/mount/data_hd

加入开机自动挂载

vim /etc/fstab
# 在文件中加入
/dev/sdd1 /data ext4 defaults 0 0
/dev/sdc1 /data_hd ext4 defaults 0 0

经过一番折腾,这样并不可以,必须使用UUID来挂载

# 用fdisk找到自己盘的在 /dev 下哪个设备
Disk /dev/sdc: 894.25 GiB, 960197124096 bytes, 1875385008 sectors
Disk model: QEMU HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xa83094e3

Device     Boot Start        End    Sectors   Size Id Type
/dev/sdc1        2048 1875385007 1875382960 894.3G 83 Linux

# 再用 blkid 找到对应的盘的UUID
admin@fnOS:~$ sudo blkid
/dev/sdd1: UUID="8d82fdd4-10bd-f444-bd49-90dd937cf410" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="Linux data partition" PARTUUID="6d0d652c-120a-4545-aebe-eb081db3e17d"
/dev/sdb1: UUID="f2fb8b7e-7c5c-518f-37da-b6b07b28dd80" UUID_SUB="8abf908a-7e24-234b-7844-48333ac6d10c" LABEL="fnOS:0" TYPE="linux_raid_member" PARTLABEL="primary" PARTUUID="43268c3e-b292-4773-b6ab-5ecc507d8f5c"
/dev/md0: UUID="Y6s9Bv-GhaL-Z3Dv-UbjC-hutQ-lnHC-1j72bP" TYPE="LVM2_member"
/dev/mapper/trim_05f342aa_510f_4b2d_9bae_3ef9fc617dd6-0: UUID="06d3a120-2e71-44a3-b9a5-944f176825c0" UUID_SUB="a9964d25-368c-4463-b1bd-0b00a48abcea" BLOCK_SIZE="4096" TYPE="btrfs"
/dev/sdc1: UUID="27b87399-183d-4d39-94ed-bcf59fd0416e" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="a83094e3-01"
/dev/sda2: UUID="ea368da2-90ac-4d8f-99c6-8d4c9f2eace0" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="8270242e-02"
/dev/sda1: PARTUUID="8270242e-01"

# 先用 mount 命令尝试一下能不能用这个UUID挂载

admin@fnOS:~$ sudo mount UUID=8d82fdd4-10bd-f444-bd49-90dd937cf410 /vol1/1000/mnt/data_hd
admin@fnOS:~$ sudo mount UUID=27b87399-183d-4d39-94ed-bcf59fd0416e /vol1/1000/mnt/data

# 最后再写入fstab
UUID=27b87399-183d-4d39-94ed-bcf59fd0416e /vol1/1000/mnt/data ext4 defaults 0 0
UUID=8d82fdd4-10bd-f444-bd49-90dd937cf410 /vol1/1000/mnt/data_hd ext4 defaults 0 0

关于挂载目录 /vol1/1000/mount/data

默认飞牛的管理员帐户的目录是 /vol1/1000/ 下面,挂载都是要挂到目录的,这里为了不干扰飞牛自己的目录结构,所以我选择了挂载到用户个人目录下

不兼容,不能实现开机自动挂载!!!

是的,就是不能开机挂载,但是可以手动挂载,也就是说不能把这个挂载动作算作开机的一部分,但可以在应用上完成挂载动作。

有人在/etc/rc.local 在开机脚本中完成挂载动作,也有人使用systemd来放一个开机启动进程完成挂载。在 /etc/rc.local 中的内容就和你手动挂载的命令是一样的,写进行就行,这里贴一下用systemd开机的脚本。

PVE直通硬盘

列出硬盘

root@pve:~# ls -la /dev/disk/by-id
total 0
drwxr-xr-x 2 root root 740 Dec  7 12:50 .
drwxr-xr-x 8 root root 160 Dec  7 12:21 ..
lrwxrwxrwx 1 root root   9 Dec  7 12:21 ata-SAMSUNG_MZ7LH960HAJR-000AZ_S3ZLNX0M314098 -> ../../sda
lrwxrwxrwx 1 root root  10 Dec  7 12:21 ata-SAMSUNG_MZ7LH960HAJR-000AZ_S3ZLNX0M314098-part1 -> ../../sda1
lrwxrwxrwx 1 root root   9 Dec  7 12:50 ata-WUH721816ALE6L4_2BHY75SN -> ../../sdb
lrwxrwxrwx 1 root root  10 Dec  7 12:50 ata-WUH721816ALE6L4_2BHY75SN-part1 -> ../../sdb1
... 省略一些

用列出来的名字挂载硬盘直通

语法: qm set <vmid> --sata<N> /dev/disk/by-id/<name>

qm set 103 --sata1 /dev/disk/by-id/ata-SAMSUNG_MZ7LH960HAJR-000AZ_S3ZLNX0M314098

挂载后取消挂载

语法: qm set <vmid> --delete stat<N>
qm set 103 --delete stat1

虽然说这些硬盘都直接挂载到虚拟机内了,但是pve自己依然可以挂载到自己的目录上用

PVE 调整省电模式

查看当前频率

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors

查看当前生效策略

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

修改cpu模式

# 安装工具
apt-get install linux-cpupower -y

# 性能模式
cpupower -c all frequency-set -g performance

# 省电模式
cpupower -c all frequency-set -g powersave

实测 Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40GHz (2 插槽) 功耗降低一半

performance 高性能模式,最耗电
ondemand 按需模式,介于高性能和节能之间,推荐使用
conservative 保守模式,和ondemand有点像,向上或向下调整比较慢
powersave 节能模式,最省电

PVE 8.2 直通显卡

编辑 vi /etc/default/grub 根本不同的处理器,修改 GRUB_CMDLINE_LINUX_DEFAULT 的值

#Intel处理器:
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt initcall_blacklist=sysfb_init initcall_blacklist=sysfb_init pcie_acs_override=downstream,multifunction pci=nommconf video=efifb:off"

#AMD处理器:
GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt initcall_blacklist=sysfb_init initcall_blacklist=sysfb_init pcie_acs_override=downstream,multifunction pci=nommconf video=efifb:off"

修改完再重启生效,

我使用GTX 1060亮机卡,成功直通,不需要再修改其他的内容