tldr;
docker images
查看当前本地所有的镜像docker ps
当前所有创建的容器状态docker pull image_name
从官方仓库拉取镜像docker exec -it --name [container_id | container_name] bash
交互式连接一个正在运行的容器docker rm container_id
删除一个容器docker [start|stop|restart] container_id
启动、停止、重启一个容器
docker images
查看当前本地所有的镜像docker ps
当前所有创建的容器状态docker pull image_name
从官方仓库拉取镜像docker exec -it --name [container_id | container_name] bash
交互式连接一个正在运行的容器docker rm container_id
删除一个容器docker [start|stop|restart] container_id
启动、停止、重启一个容器 个人搭建的vim C++开发环境, 使用coc.nvim框架 + ccls 提供补全服务。实现基本的语意补全、跳转,查找引用等功能。原则是尽量不修改vim原生按键功能。
仓库地址:https://github.com/skywb/vim-config
简介于教程后续有时间更新….
Conan 是C++的一个包管理工具,使得C++安装第三方库变的很方便。 类似于vs的NuGet
Conan的基本命令:
查找库: conan search poco --remote=conan-center
安装库:conan inspect poco/1.9.4
安装到项目:conan install ..
conanfile.txt样例:
1 | [requires] |
CMakeLists.txt 插入内容:
1 | include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) |
必须是18917或更高版本:
powershell管理员运行:
1 | dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart |
检查当前使用的bash名
1 | wsl -l |
设置版本:
1 | wsl --set-version <Distro> 2 |
其中<Distro> 替换成对应的bash名字
Pimpl (pointer to implementation) 是一种将接口和具体的实现分开的一种方式,优化编译时间,保护封装实现的一种经验技巧。
就是说模块对外接口类里面不放实现,而是保存一个指针, 指向真正实现的类。然后在接口类里面同名方法通过指针调用真正实现方法。
简介: google的单元测试框架
1 |
|
有一个被测试的方法, add, 通过TEST添加一个测试案例, 可以使用EXPECT和ASSERT两种宏, 实现测试值是否正确, 每个宏后面都可以跟上解释信息。 其中第二个很明显是错误的, 输出结果看下面。
编译命令g++ file.cpp -lgtest -lgtest_main -lpthread -o main
其中用到了三个动态链接库, 第一个是gtest的库, 第二个是运行所有测试的实现, 其实里面就是写了个main函数, 也可以自己写,不连接这个库, 第三个是多线程库, 因为gtest使用了线程。
运行结果:
可以看到失败的地方会有提示。
摘要:
Hexo common commands