0%

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start

Create a new post

1
$ hexo new "My New Post"

More info: Writing

Run server

1
$ hexo server

More info: Server

Generate static files

1
$ hexo generate

More info: Generating

Deploy to remote sites

1
$ hexo deploy

More info: Deployment

系统 macOS 10.14.6

Rider刚装完后第一次启动时候很快就到了主界面.
但是后面再怎么启动都要等个10秒左右才会进入主界面, 网上搜到了解决方案, 如下:

在系统偏好设置-共享里找到自己电脑都主机名, 一般是xxx.local
然后/etc/hosts里加入以下两行

1
2
127.0.0.1  xxx.local
::1 xxx.local

原因是jvm解析主机名特别慢, 具体细节没研究, 设置后启动速度基本在3秒以内.
JetBrains家都产品应该都可以用此方案解决.

原文在此

1
2
3
4
5
#ifdef WOW
printf("Boom!");
#else
printf("Biu!");
#endif

很早就对预处理器比较反感, 并不是绝对反对, 而是用的多了真的很烦躁.

  • 对IDE不太友好, 预处理导致代码分析变差
  • 对维护代码的人不友好, 看起来吃力

今天编译一份代码直接遇到不配对的预处理指令了, 要崩溃了.
snipaste_20191103_052030.png

提示的文件行号是文件末尾, 根本不知道是哪里写错了, 得慢慢找.

原因: 大概是找不到足够的内存空间来启动内核, 可能主板设备太多了为设备保留了太多内存?
方案: 修改slide值, 可去网上搜索如何修改. 若不会修改则调整主板设置关掉无用硬件相关功能, 比如关闭集显, 关闭CSM, 关闭USB Legacy等
上述修改slide值的方案无效,删除下面两个文件后可以正常进入,目前重启两次都可以正常进入。

OsxAptioFix2Drv-64.efi
EmuVariableUefi-64.efi (这个目前用的不是N卡, 暂时用不到)

原因是Windows以本地时间方式读取, 而macOS则以UTC时间读取.
让Windows也以UTC读取即可.

Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1

2012和之前的版本是好的, 最近升级了2017发现会提示标题中的错误.
连接字符串里的Server增加了实例名(Server=ServerName\MSSQLSERVER), 将实例名去掉后连接正常(Server=ServerName)

具体原因不明, 难道因为MSSQLSERVER是默认实例名, 所以不能手动指定吗?

来源:
https://stackoverflow.com/a/39088377

想在VMWare虚拟机里装个XP测试用, 用了雨林木风最后一个版本的Ghost XP SP3, 结果Ghost结束重启时黑屏.
试了手动分区, 激活分区, 重置MBR等都不行.
最后把内存设置为3G就正常进入系统了, 之前是4G, 按道理即使XP不支持4G以上内存那也不该黑屏啊. 可能是Ghost版系统哪里设置的问题.

补充:
进入系统后发现即使装上VMWare Tools, 屏幕也没法满屏, 不是那种无法全屏, 而是屏幕只显示XP左上角的一部分, 任务栏看不到.
也许可能是我物理机用了高分屏缩放的原因, 但是之前装的深度版Ghost正常, 4G内存也正常, 不研究了, 用深度版吧.

装了ReSharper和几个ReSharper的扩展后, 发现几处asyncawait的异步方法有警告, 大概意思是异步可能被忽略.
仔细研究了下, 发现被警告的方法体都是只在尾部return await xxx, 也就是方法体内只有一个await并且await那一条代码后面已经没有其他代码了.

一开始没反应过来为什么会警告, 几经搜索才恍然大悟.
参考: StackOverflow的一个问题

只有一个await并且是最终一条代码的情况下, 其实这个方法内并没有异步需求, 所以不需要async声明, 也不需要await一个Task<T>, 直接返回这个Task<T>即可, 因为该方法的调用方会去await这个返回值.
但是方法名最好还是以Async结尾, 因为这毕竟也算是个异步方法.

笔记本是t470p, HD630 + 940MX双显卡, 三星pm961 nvme固态, 装的系统是10.13.4, 按照tonymacx86上的官方教程来的.

第一个问题, boot后出现禁止符号

起初以为是显卡问题, 后来多番搜索才发现原来是USB的问题.
主要问题就是USB3.0驱动不成功
USBInjectAll.kext放进去然后打补丁

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<dict>
<key>Comment</key>
<string>change _OSI to XOSI</string>
<key>Disabled</key>
<false/>
<key>Find</key>
<data>
X09TSQ==
</data>
<key>Replace</key>
<data>
WE9TSQ==
</data>
</dict>
<dict>
<key>Comment</key>
<string>change EHC1 to EH01</string>
<key>Disabled</key>
<false/>
<key>Find</key>
<data>
RUhDMQ==
</data>
<key>Replace</key>
<data>
RUgwMQ==
</data>
</dict>
<dict>
<key>Comment</key>
<string>change EHC2 to EH02</string>
<key>Disabled</key>
<false/>
<key>Find</key>
<data>
RUhDMg==
</data>
<key>Replace</key>
<data>
RUgwMg==
</data>
</dict>
<dict>
<key>Comment</key>
<string>change XHCI to XHC</string>
<key>Disabled</key>
<false/>
<key>Find</key>
<data>
WEhDSQ==
</data>
<key>Replace</key>
<data>
WEhDXw==
</data>
</dict>
<dict>
<key>Comment</key>
<string>change XHC1 to XHC</string>
<key>Disabled</key>
<false/>
<key>Find</key>
<data>
WEhDMQ==
</data>
<key>Replace</key>
<data>
WEhDXw==
</data>
</dict>

去掉USB端口限制

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<dict>
<key>Comment</key>
<string>disable port limit in XHCI kext (credit PMHeart)</string>
<key>Disabled</key>
<false/>
<key>Find</key>
<data>
g32UDw+DlwQAAA==
</data>
<key>InfoPlistPatch</key>
<false/>
<key>MatchOS</key>
<string>10.13.4</string>
<key>Name</key>
<string>com.apple.driver.usb.AppleUSBXHCI</string>
<key>Replace</key>
<data>
g32UD5CQkJCQkA==
</data>
</dict>

此时不会出现禁止符号了, 但是居然出现了kernel panic.

第二个问题, kernel panic

因为苹果DVMT申请大小是64M, 而普通笔记本大部分是32M, 所以要修改该值, 但是BIOS里没有地方改, 继续用kext解决
以下三个放进去即可
Lilu.kext
IntelGraphicsFixup.kext
IntelGraphicsDVMTFixup.kext
然后又遇到了busy timeout[0], (240s): AppleEFIRuntime这样的问题, 一直卡在这重复出这句话

第三个问题, 卡AppleEFIRuntime

其实等的时间足够长最终会出现一个界面(我这是连接键盘的一个提示)
解决该问题就是把EmuVariableUefi-64.efi放进去

第四个问题, 用到管理员权限时解锁慢(命令行sudo不慢, 但是解锁系统设置时很慢)

原因是SMBIOS选错了机型, 我选的是Macbook Pro 2017 15寸(14,3)这款是带bar含有touch id的, 猜测是检测touch id时导致的慢.
换成了Macbook Pro 2017 13寸(14,1)这款不带bar, 无touch id, 重启后一切恢复正常.