摘要:
Ros1 核心通信框架 (ps:rpc基于开源的 https://xmlrpc-c.sourceforge.net/ 改的) Pub进程向Master注册Pub的RpcServer Sub进程向Master注册Sub的RpcServer 查看是否存在符合Topic的Sub,符合后立即进行Rpc连接( 阅读全文
摘要:
关于Ros1大家都是最熟悉的,并且Apollo1.0对Ros的一些进行了改进,这里想要看下这些改进都是哪里,并对Ros分析进行记录 发现网上这些文章很少 了解已有的,才能创建更好的 阅读全文
摘要:
多线程实践 整理自陈硕大大的 多线程网络编程 ,大佬真的牛 对象池 说明:factory里面保存者对象,对象用ID标识,当相同I/D请求则把当前对象池对象返回,如果对象不被任何地方使用对象要被析构 版本1: template<typename T> class FastFactory { publi 阅读全文
摘要:
整理自 陈硕的多线程网络编程 面试问题 : c++中都有什么样的内存问题,怎么解决 缓冲区溢出,访问了错误空间 使用容器,vector或者array,直接成员函数获取长度,不要自己裸指针,用基本数组 悬空指针 野指针 使用shared_ptr,保证只要用到的地方就是可用的 重复释放 使用shared 阅读全文
摘要:
参考 陈硕 Linux多线程服务编程 java并发编程实战 多线程的历史 早期单核裸机CPU 程序只能顺序执行,一次只能运行一个程序,造成的就是资源浪费和难编写代码 单核CPU + 操作系统(进程) 操作系统的出现让计算机可以运行多个程序,这也就是并发。操作系统引入进程的概念,让每个程序在自己进程中 阅读全文
摘要:
参考 Effective_C++第三版.pdf Effective_Modern_C__.pdf 描述 类似于托管的方式来解决几个问题: 减少编译时间 解决循环引用 屏蔽内部实现 减少编译时间,本质降低依赖 因为c++是静态编译语言,他看的就是文件和文件之间的依赖,如果是实例 type a,那么 阅读全文
摘要:
make_unique在c++11里面没有引入,但是你可以自己写一个 template <typename T, typename ...Args> std::unique_ptr<T> make_unique(Args&& ...args) { return unique_ptr<T>(new T 阅读全文
摘要:
前提 好的你现在已经知道了unique_ptr和shared_ptr两种指针,使用确保指针的独享,shared_ptr确保指针的共享,那么weak_ptr是干嘛的? 作用 既然shared_ptr是内部包含引用计数的强引用,那么有这样需求: 不对资源进行 管理,但是可以使用这个堆对象机能 可 阅读全文
摘要:
作用 以值的方式对堆内存进行独占管理 占用空间大小和裸指针几乎相同,在调用指针函数的时候也和裸指针相同 默认情况下,对于内裹指针是通过delete来释放内存的 通用的使用场景 自己写一个make_unique的 比如make_unique template <typename T, ty 阅读全文
摘要:
感悟 领导语录: 直接写code是最简单的事情了,因为已经明确了怎么做、做成什么样、需要和谁交互等等 真正好的程序员一定对于产品有着清晰的认识以及自己的想法,不是说程序员就一定是天天code,也不是说做产品有多么多么的不好,在完成功能过程中,对产品的合理以及不合理进行及时反思QA,这样才是自己l 阅读全文