摘要:
在线工具 Wandbox 支持多种编程语言多个编译器版本在线编译运行的网站 可以在这里做方便、快速地一些小实验、尝试一些编程语言的新特性,比如 C++20 Compiler Explorer 支持将 C++ 代码编译成汇编代码。 支持多种编译器版本多种 CPU 平台(x86-64、MIPS、ARM 阅读全文
摘要:
二维 vector 定义二维数组有如下几种方法,例如定义 3x3 的 vector: 第一种方法 vector<vector<int>> vec; vec.resize(3); for (int i = 0; i < vec.size(); i++) vec[i].resize(3); 第二种方法 阅读全文
摘要:
在Anaconda中conda可以理解为一个工具,也是一个可执行命令,其核心功能是包管理与环境管理。所以对虚拟环境进行创建、删除等操作需要使用conda命令。 conda 本地环境常用操作 #获取版本号 conda --version 或 conda -V #检查更新当前conda conda up 阅读全文
摘要:
std::iterator std::iterator 是一个模板类,其声明为: template< class Category, class T, class Distance = std::ptrdiff_t, class Pointer = T*, class Reference = T& 阅读全文
摘要:
例如下面的代码: typedef typename std::vector<T>::size_type size_type; 查看 vector 源码可以看到: template <class T,class Alloc=alloc> class vector{ public: //... type 阅读全文
摘要:
下载源码1.69.0 win10 msvc 编译 打开VS2015命令行工具,到源码路径下,创建一个文件夹 building。 执行: bootstrap.bat 会生成:bjam.exe。 如果想编译32位的库执行: bjam stage --toolset=msvc-14.0 architect 阅读全文
摘要:
有时候,进行类设计时,会发现某个类的对象是独一无二的,没有完全相同的对象,也就是对该类对象做副本没有任何意义。 因此,需要限制编译器自动生动的拷贝构造函数和赋值函数,DISALLOW_COPY_AND_ASSIGN 可以起到这个作用: // A macro to disallow the copy 阅读全文
摘要:
安装 从 Git 下载源码,使用VS2015 x86工具命令提示符到指定的文件下,新建目录: 使用命令行工具进入到上面的 tmp 路径下,执行: cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=.. 阅读全文
摘要:
Segmentation fault in Linux 段错误应该就是访问了不可访问的内存,这个内存要么是不存在的,要么是受系统保护的。 SIGSEGV是在访问内存时发生的错误,它属于内存管理的范畴 SIGSEGV是一个用户态的概念,是操作系统在用户态程序错误访问内存时所做出的处理 当用户态程序访问 阅读全文
摘要:
安装显卡驱动 Ubuntu 16.04 自带 nouveau显卡驱动,这个自带的驱动是不能用于CUDA的,需要卸载重装。假如你已经重装过显卡驱动则可跳过这一步。没有重装过的按照如下步骤: 首先得禁用Ubuntu自带的显卡驱动nouveau,只有在禁用掉 nouveau 后才能顺利安装 NVIDIA 阅读全文
摘要:
安装 从 Git 下载源码,此处使用的分支是: 在googletest-1.10.x\googletest-1.10.x\googletest 下新建 build,使用 vs2015 命令提示符进入此目录,执行: cmake -G "NMake Makefiles" -DCMAKE_BUILD_TY 阅读全文
摘要:
安装 从 Git 下载源码,使用VS2015 x86工具命令提示符到指定的文件下,新建目录: 使用命令行工具进入到上面的 tmp 路径下,执行: cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=.. 阅读全文
摘要:
官网 安装 vs2015 编译 google protobuf 3.5.1 下载: protobuf 3.5.1 cmake 编译 使用 VS2015开发人员命令提示: 进入 protobuf 的目录: 首先创建一个 building文件夹,并创建tmp,x86_debug子文件夹: VS2015开 阅读全文
摘要:
快速设置 安装NFS服务: sudo apt-get install nfs-kernel-server 编辑/etc/exports文件: vim /etc/exports /opt/nfs *(rw,sync,no_root_squash) 其中:/opt/nfs是目录,如果没有需要先创建。 启 阅读全文
摘要:
#TODO Highlight 写代码过程中,突然发现一个Bug,但是又不想停下来手中的活,以免打断思路,怎么办?按照代码规范,我们一般是在代码中加个TODO注释。比如:(注意,一定要写成大写TODO,而不是小写的todo) //TODO:这里有个bug,我一会儿再收拾你 或者: //FIXME:我 阅读全文
摘要:
求关注!!! VSCod 自带的 git 管理工具 需要保证安装了 git,并且其路径已经添加到了系统环境变量中。 GitLens 最基本的功能:每行代码最新的修改一目了然。 左侧工具栏提供的工具: SEARCH COMMITS:根据 commit_id 查看修改了哪些内容。 COMPARE:可以比 阅读全文
摘要:
Settings Sync可以同步你当前的VSCode配置环境,当你需要在其它的电脑工作时,您不用重头再来一遍。新机器登录一下就搞定了。再也不用折腾环境了。 大致原理:使用GitHub Gist来同步多台计算机上的设置,代码段,主题,文件图标,启动,键绑定,工作区和扩展。 在VSCode中点击扩展, 阅读全文
摘要:
Read the Docs是一个在线文档托管服务, 你可以从各种版本控制系统中导入文档。一般来讲,这个非常适合写软件文档以及编写一些教程、电子书之类。 Sphinx Sphinx 是一个基于 Python 的文档生成项目,最早只是用来生成 Python 官方文档,随着工具的完善, 越来越多的知名的项 阅读全文
摘要:
数组的智能指针的限制 unique_ptr 的数组智能指针,没有* 和 -> 操作,但支持下标操作[]。 shared_ptr 的数组智能指针,有 * 和 -> 操作,但不支持下标操作[],只能通过 get() 去访问数组的元素。 shared_ptr 的数组智能指针,必须要自定义deleter。 阅读全文
摘要:
比如要修改的 commit 是倒数第三条,使用下述命令: git rebase -i HEAD~3 其输出类似: pick commit_id_1 pick commit_id_2 pick commit_id_3 假如修改 commit_id_1 的提交信息,将其前面的 pick 改为 edit, 阅读全文