- 老头钓鱼
有地方聚了几个人,大家都在看什么呢?大家在看一个老头钓鱼,这叫欲望模型。因为老头钓鱼有一个明确的欲望,他有行动目标,大家想要验证这个目标能不能达成。
- 老头下棋
有两个老头在下棋,也会聚集一群人。博弈模型。博弈必有输赢,大家想要验证自己对胜负判断的正确性。
- 老头掉坑
脱困模型,我们看他怎么脱困,希望他逃脱困境。与掉坑相反的,如果老头正在爽,比如中彩票了,也会吸引大家的注意力。
用一句话概括就是“可验证的预期”。
以上内容总结自查理老师的编剧课。
有地方聚了几个人,大家都在看什么呢?大家在看一个老头钓鱼,这叫欲望模型。因为老头钓鱼有一个明确的欲望,他有行动目标,大家想要验证这个目标能不能达成。
有两个老头在下棋,也会聚集一群人。博弈模型。博弈必有输赢,大家想要验证自己对胜负判断的正确性。
脱困模型,我们看他怎么脱困,希望他逃脱困境。与掉坑相反的,如果老头正在爽,比如中彩票了,也会吸引大家的注意力。
用一句话概括就是“可验证的预期”。
以上内容总结自查理老师的编剧课。
配置14900K,虚拟机都是8核心16GB内存。
VirtualBox
使用的是Hyper-V接口。

VMware Workstation
没用管理员权限执行,肯定是跑在小核上了。

VMware Workstation(Hyper-V侧载缓解通道,管理员权限执行)

关闭小核后,普通用户启动VMware Workstation,虚拟机也无法获得高性能?
一个有趣的现象是,我在14900HX的笔记本电脑上关闭了小核心后,使用普通用户权限启动VMware Workstation,虚拟机的性能依旧只有用管理员权限启动状况下性能的一半左右。
比如我们的EXE依赖zlib库,EXE的调试模式为/MDd,而zlib静态库是由/MT编译的,在这种情况下,编译EXE可以成功,但会得到如下提示。
1>LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library
此时可以按照警告信息,在EXE项目属性中设置忽略LIBCMT.LIB库,从而消除警告,但这个方法比较麻烦,需要修改每一个引用该库的程序。
造成上面的原因是因为zlib静态库指定了默认库,这一信息可以通过dumpbin查看。
dumpbin /directives zlibstat.lib

可以看到,默认库为LIBCMT。
删除默认库可以使用编译参数
/Zl
也可以在图形界面中修改 Omit Default Library Names属性。修改过后,使用dumpbin查看该lib可以发现/DEFAULTLIB为空。使用/MDd编译的EXE引用该库也不会有警告提示了。openssl静态库默认启用该选项。

在add_executable()之后加上target_link_libraries()就行了,用link_libraries()是不行的,必须用target_link_libraries()。
target_link_libraries(project_name PRIVATE libstdc++.a) target_link_libraries(project_name PRIVATE libpthread.a)
生成compile_commands.json文件,其中包含全部的编译参数。
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
https://packages.msys2.org/package
安装mingw64工具链
pacman -S mingw-w64-ucrt-x86_64-toolchain pacman -S mingw-w64-i686-toolchain
清除缓存
pacman -Sc
更新系统
pacman -Syu
这个用起来会很方便,boost、zlib、openssl、curl、nghttp2等库都包含在内,并且版本基本都保持最新。