cjscon library

cJSON库使用的注意事项


  1. cJSON 按照json的数据格式使用了链表的数据结构所以在调用cJSON_CreateObject()cJSON_Parse()接口后都需要调用cJSON_Delete()接口释放内存, 释放内存会从头节点遍历链表释放所有节点内存。
  2. 不能将同一个节点放入两个链表中,这样在释放内存时会重复释放导致崩溃,例如:将解析的某个节点直接挂到新创建的链表中,就会出现这种情况。
  3. 在调用cJSON_PrintUnformatted()cJSON_Print()接口后要手动释放堆上申请的内存。

vim使用

在VIM中进行文本替换

  1. 替换当前行的内容

    :s/1/2/ : 将当前行的1替换成2,只替换一次
    :s/1/2/g : 将当前行的1替换成2,替换所有
    :s/1/2/gc : 将当前行的1替换成2,替换所有,但每次都会询问

  2. 替换某一行的内容

    :.s/1/2/g : 在当前行替换
    :11s/1/2/g : 在第11行替换
    :$s/1/2/g : 在最后一行替换

  3. 替换某些行

    :10,20s/1/2/g : 替换10-20行
    :1,$s/1/2/g : 从第一行到最后一行
    :1,.s/1/2/g : 从第一行到当前行
    :.,$s/1/2/g : 当前行到最后一行

ADAS-先进驾驶辅助系统

ADAS-先进驾驶辅助系统

本文转自:一文看懂ADAS

索引:

[TOC]

概述

先进驾驶辅助系统(Advanced Driver Assistant System),简称ADAS,是利用安装于车上的各式各样的传感器, 在第一时间收集车内外的环境数据, 进行静、动态物体的辨识、侦测与追踪等技术上的处理, 从而能够让驾驶者在最快的时间察觉可能发生的危险, 以引起注意和提高安全性的主动安全技术。
我们来看一张美国道路交通安全局(NHTSA)所发布的汽车自动化阶段图:
Alt text
ADAS实现的是第3级,而自动驾驶实现的是第4级。想要从第3级发展到第4级,还需要更多的汽车上配有自动驾驶技术,而且得配合道路基础设施建设(道路上的摄像头,清晰的车道线),以及需要汽车互联,汽车手机互联等等,是个非常庞大的工程呐。

Read More

Ubuntu Shadowsocks全局代理

我一般用Ubuntu的桌面系统,在使用过程中经常需要到国外的服务器下载某些东西,例如Android Studio、Eclipse等。因此需要科学上网,u know ^^
  我是使用Shadowsocks搭建的代理服务,使用的是socks5协议,而终端很多工具目前只支持http和https等协议,对socks5协议支持不够好,所以我们为终端设置shadowsocks的思路就是将socks协议转换成http协议.
  想要进行转换,需要借助工具,这里我们采用比较知名的polipo来实现。polipo是一个轻量级的缓存web代理程序。
  假设我们已经搭建好Shadowsocks代理,我们讲一下polipo的安装与配置:

Read More