自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(59)
  • 资源 (6)
  • 收藏
  • 关注

原创 protobuf之MessageToDict

protobuf MessageToDict

2023-11-28 20:05:52 320

原创 gcc编译选项说明(2)

gcc编译选项

2023-04-13 02:02:11 1582

原创 gcc编译选项说明(1)

gcc编译选项

2023-04-13 01:52:20 3578

原创 oh-my-bash

一些配置

2023-01-12 19:08:12 772

原创 demo数据分包发送

分包功能

2023-01-05 13:02:15 350

原创 apollo之monitor(1)

apollo学习

2023-01-01 14:13:07 465

转载 安装clangd缺少GLIBC_2.18

GLIBC_2.18 not found解决

2022-11-11 20:02:34 560

原创 c++实现解压+解包tar.gz文件

解析tar.gz

2022-09-29 12:20:05 3830

原创 qnx下设置coredump

qnx coredump设置

2022-09-05 20:33:14 1180

原创 从database里将blob数据dump到file中

sqlite blob dump

2022-08-03 14:23:01 146

原创 vector之resize连续执行的效果

vector resize

2022-08-02 17:13:37 195

翻译 sqlite3 PRAGMA 翻译

sqlite3 PRAGMA

2022-07-05 11:59:54 564

原创 sqlite3 dbconfig说明

enable_fkey: 此选项用于启用或禁用 外键约束的实施。应该有两个额外的论点。第一个参数是一个整数,0 表示禁用 FK 强制,正数表示启用 FK 强制或负数表示 FK 强制不变。第二个参数是一个指向整数的指针,其中写入 0 或 1 以指示 FK 强制在此调用之后是关闭还是打开。第二个参数可能是一个 NULL 指针,在这种情况下,不会报告 FK 强制设置。enable_trigger: 此选项用于启用或禁用触发器。应该有两个额外的论点。第一个参数是一个整数,0 表示禁用触发器,正数表示启用触发器,负数

2022-07-01 12:08:25 1048

原创 sqlite3 error: database is locked

database is locked

2022-06-15 16:35:13 1451

原创 关于宏里do while(false)的用法

关于宏里do while(false)的用法

2022-06-01 16:26:55 325

原创 c++判断矩形和线段是否相交或包含

依据数学理论:如果矩形 rec1 和 rec2 的水平边投影到 x 轴上的线段分别为 (rec1[0], rec1[2]) 和 (rec2[0], rec2[2])。根据数学知识我们可以知道,当 min(rec1[2], rec2[2]) > max(rec1[0], rec2[0]) 时,这两条线段有交集。对于矩形 rec1 和 rec2 的竖直边投影到 y 轴上的线段,同理可以得到,当 min(rec1[3], rec2[3]) > max(rec1[1], rec2[1]) 时,这两条

2021-09-29 11:07:05 1193

原创 valgrind统计函数执行时间

关键参数:--time-stamp,默认是no,改成yes,表示毫秒valgrand --tool=callgrind --time-stamp=yes

2021-09-16 10:44:43 498

原创 避免使用std::vector<bool>

事情是这样的:无意间看到代码里使用std::vector<bool>, 感觉有点怪异,没有使用过。于是查了一下,正好effective stl 不建议使用std::vector<bool>:做为一个STL容器,vector<bool>确实只有两个问题。第一,它不是一个STL容器。第二,它并不容纳bool。除此以外,就没有什么要反对的了。一个东西不能成为STL容器只因为会有人会说它是。一个东西要成为STL容器就必须满足所有在C++标准23.1节中列出的容器必

2021-09-02 21:46:07 1360

原创 catkin屏蔽掉不想编译的package

事情是这样的:workspace/src下有多个package包,有时候只想不编译某个package。可以在不想被编译的package目录下新建了CATKIN_IGNORE的文件,不用写任何东东。返回到workspace目录下后执行catkin_make就不会编译带有CATKIN_IGNORE的package。...

2021-07-29 11:28:36 1181

原创 cmakelists设置相对路径

事情是这样的:linux环境下自己写了一个动态库,然后自己写了一个tool,依赖这个库。但在切换路径后,执行tool确找不到这个动态库了,知道是因为没设置RPATH。需要在cmakelists文件中两行1.set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)2.set_target_properties(${PROJECT_NAME} PROPERTIES INSTALL_RPATH "$ORIGIN/xxx")$ORIGIN代表编译生成的目录,也就是执行cm

2021-07-28 23:38:19 3277

原创 pure-specifier on function-definition

事情是这样的:使用c++定义接口类时,需要声明纯虚析构,按道理我们应该实现这个纯虚析构,这样它的实现子类才能被触发析构。class Interface {public: virtual ~Interface() = 0 {}}这个例子在网上也说可以。。。。(其实使用VS2005编译没问题)但是实际上当使用gcc编译时,会报错pure-specifier on function-definition。所以必须定义成virtual ~Interface() = 0;理由没深

2021-07-28 16:25:29 745

原创 rapidjson使用document解析非json字符串时崩溃

事情是这样的...ros通信接口定义的类型是std_msgs::String,原本是只接收jsonstirng类型的字符串,但奈何下游总是随意发送各种各样的字符串,包括空string,jsonstring,string。实现接口里是通过rapidjson解析字符串的,结果在document.parse(str)时崩掉了,原因是rapidjson可以接受string,但后面如果使用hasMember,就必须是isObject() == true。// 修改前rapidjson::Documen

2021-07-16 13:51:05 1576

原创 解析$(shell git ls-files | grep -E ‘\.h$$|\.cpp$$|\.hpp$$|\\.c$$‘ | tr ‘\n‘ ‘ ‘)

事情是这样,最近在学习conan,发现一条命令,有点蒙,顺道温故一下shell命令Makefile文件里的一条命令如下:HEARD_SRCS = $(shell git ls-files | grep -E '\.h$$|\.cpp$$|\.hpp$$|\\.c$$' | tr '\n' ' ')开始拆分:1.git ls-filesgit 命令,递归显示.git同级目录下的文件信息。git ls-files [-z] [-t] [-v] (--[c

2021-05-13 18:57:49 260

原创 sqlite3_prepare_open和sqlite3_finalize是对应的

事情是这样的,就是写了点sqlite3的代码,包括create table和drop table例如void dropTabele(sqlite3 *db_handler, sqlite3_stmt* stmt, const std::string& table_name){ std::string drop_sql = "DROP TABLE IF EXISTS " + table_name; int drop_tatus = sqlite3_prepare_v2(db

2021-05-11 15:57:53 902

原创 ubutun16 安装企业微信

git clonehttps://gitee.com/wszqkzqk/deepin-wine-for-ubuntu.git (拉取代码) cd deepin-wine-for-ubuntu (进入上面下载的代码的位置) ./install.sh (执行安装命令) wget http://mirrors.aliyun.com/deepin/pool/non-free/d/deepin.com.weixin.work/deepin.com.weixin.work_2.4.1...

2021-03-11 15:23:41 134

原创 Conan了解一些

[requires] Poco/1.9.0@pocoproject/stable [generators] cmake

2021-03-06 13:20:14 406

原创 使用eigen时,不要使用auto作为类型赋值

现象是这样的,release和debug模式下,坐标xyz结果不同。发现是因为在使用eigen库函数进行操作,然后使用auto进行赋值时,结果与预期不一样,debug模式下没问题,release下循环不同的输入,结果都跟第一次的结果一样,不知其所以然。...

2021-02-05 15:18:18 454

原创 c++ undefined reference to 构造函数

事情是这样的:写了一个普通的类,基本的实现都在头文件中,// data.hppclass data{public: data(); virtual ~data(){}public: int func1() { retunr 1+1; }}我在另外一个类中new 这个data类,但是报错了 “ undefined reference to “data::data()”意思就是无法调用你的构造函数。开始一头雾水,后来才发现,因为我没有创建源文件并且没有在

2020-12-27 20:45:01 5645 2

原创 c++11:unordered_map和pair合用的坑

事情是这样的,今天在编译的时候报错,很长,报错的地方是std::ordered_map的insert操作,但换成stdmap就没问题,大概是跟std::unordered_map和std::pair有关,我截取几段,error: no matching function for call to ‘std::pair<key, std::_List_iterator<long long int> >::pair(const key&, std::_List_ite

2020-12-22 17:37:25 6524

原创 c++11:std::bind

事情是这样的,有两个类,A类中的成员函数要作为B类的回调函数。查阅资料发现,c++11之前类的非静态成员函数,是不能作为回调函数的,编译器会报错。这是因为类的成员函数有一个隐藏的this指针,而回调函数的函数指针的参数是事先确定的,所以只要之前大部分是使用普通函数或静态函数作为回调指针的。c++11后 std::bind可以解决这个问题。例如:class A{public: bool make_callback(int a, std::string& s);//类的非静态成员函数}

2020-12-19 23:49:33 185 1

原创 c++11:using的使用

1.当子类想使用父类的非virtual函数时,可以使用using,例如class father{ void func();}class chilren public : father{ using father::func;}

2020-12-17 21:23:18 70

原创 cmake不知道的事情汇总

1.find_package##find_package(PkgConfig)pkg_check_modules(xxx)include_diretories(${xxx_INCLUDE_DIRS})find_package有两种搜索模式:1.moduleFind<package>.cmake搜索CMAKE_MODULE_PATH路径下的Find<package>.cmake2.Config<packahe>OCnfig.cmake3.no

2020-12-17 19:52:51 399

原创 Mac下vmware fusion 12中的ubuntu系统磁盘扩容

Mac下vmware fusion 12中的ubuntu系统磁盘扩容转载至https://blog.csdn.net/zsx1314lovezyf/article/details/105445554添加硬盘内存虚拟机必须是关机状态进入虚拟机设置选择硬盘调整到自己想要的大小, 点击应用, 等待完成, 开启虚拟机进入系统安装gparted分区管理工具sudo apt-get install gparted打开分区工具 sudo gparted分配空间

2020-12-05 23:16:46 2031 1

原创 boost::lexical_cast和c++11 stod,stoi,stof性能对比

循环100w次,c++11的强转性能要优于boost的lexical_cast原因是lexical_cast内部会做很多异常判断。

2020-10-19 18:51:14 604

原创 Apollo设计模式分析

待续。。

2020-08-31 16:43:53 561

原创 c++单例模式用到std::once_flag

分享一篇关于单例模式比较清晰的博文,并且使用了std::once_flag的方式:https://www.cnblogs.com/xuhuajie/p/11647164.html单例模式分为饿汉和懒汉两种方式,大部分项目里都用懒汉这种方式,就算饿汉方式天然的线程安全,不需要考虑内存释放,但由于是饿汉方式使用不使用都会在申请内存,所以大家都想办法来优化懒汉方式。上面链接博文中总结的懒汉模式如下:class SingletonUsePtr2{ SINGLETON_CTOR(Si.

2020-08-18 17:45:55 3150 1

原创 cmake编译生成的so动态库后,无法找到依赖的第三方so, ldd not found

背景:有一个c++工程,编译后生成动态库libc++.so。新建一个c工程,封装上一个c++工程接口,编译后生成一个动态库libc.so。现象:make install后会将build里生成的libc.so和libc++.so拷贝到与build同级的lib目录中,在lib文件夹下执行 ldd libc.so 会找不到libc++.so,但是在build文件夹下执行 ldd libc.so就可以找到。解决:这跟rpath有关,rpath是so查找依赖库的路径。可以通过rea

2020-08-05 17:30:47 5369

原创 vscode python debug调试

新建一个launch.json{// Use IntelliSense to learn about possible attributes.// Hover to view descriptions of existing attributes.// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [

2020-07-31 19:30:21 1338

原创 ubuntu16.04系统下总结一些依赖库 之opencv3.4.5

源码安装opecv3.4.5需要预先安装些依赖库,抽空总结一下。1.cmake,这个不多说了。2.build-essential,软件包,方便安装库时自动安装依赖的其他库,这个库ubunut一般自带。3.libgtk2.0-dev,gtk的开发包,gtk是一套跨多种平台的图形工具包,估计是opencv里显示图片界面的库需要这个库。4.libavcodec-dev,一个开源的编解码器库,用于视频和音频,估计是opencv里从视频里解析图片用的。5.libavformat-dev,为多路复用

2020-07-09 20:16:57 937

原创 pcl1.18.0和boost不同版本出现的问题

在安装pcl1.18.0这个版本时对应的boost版本出现了一些问题:1.对应boost1.58时出现undefined reference to `boost::filesystem::path_traits::dispatch(boost::filesystem::directory_entry const&, std::string&)'2.把boost换成1.68时出现fatal error: boost/uuid/sha1.hpp: No such file or d.

2020-07-08 14:43:01 2718

deepin.com.weixin.work_2.4.16.1347deepin0_i386.deb

deepin.com.weixin.work_2.4.16.1347deepin0_i386.deb

2021-03-11

VC++网络通信编程实用案例

(1)基本网络编程实例 Winsock实现网络聊天室【\chap1\ChatRoom(Winsock)】 CSocket实现聊天室【\chap1\ChatRoom(Csocket)】 (2)本地计算机网络编程实例 获取计算机的名称和IP地址【\chap2\Local】 获取计算机的子网掩码【\chap2\ Local】 获取计算机的DNS设置【\chap2\ Local】 获取计算机的网卡地址【\chap2\ Local】 获取计算机安装的协议【\chap2\ Local】 获取计算机提供的服务【\chap2\ Local】 获取计算机的所有网络资源【\chap2\ Local】 修改本地计算机的所有网络设置【\chap2\ Local】 获取计算机TCP/IP协议的所有信息【\chap2\ Local】 (3)局域网网络通信编程实例 获取网上邻居【\chap3\Neighbor】 lIP地址和计算机名之间的转换【\chap3\Neighbor】 l映射网络驱动器【\chap3\Neighbor】 l消息发送程序Net Send【\chap3\Neighbor】 l获取局域网内其他计算机的信息【\chap3\ NeighborInfo】 (4)IE编程实例 简单的浏览器的实现【\chap4\MyBrowser】 删除IE相关历史记录【\chap4\DelHistory】 将应用程序加入到IE工具栏【\chap4\AddToToolBar】 超级链接的实现【\chap4\HyperLink】 禁止IE的弹出窗口【\chap4\StopPopup】 禁止浏览某些网站【\chap4\StopTravel】 IE收藏夹【\chap4\ MyBrowser】 创建桌面快捷方式和活动桌面【\chap4\ShortCut】 (5)基本网络编程实例 点对点文件传输【\chap5\Transfer】 大型文件传输【\chap5\Transfer】 端口扫描程序【\chap5\ MyPortScanner】 Finger编程【\chap5\MyFinger】 Sniff编程【\chap5\MySniff】 Internet文件下载【\chap5\ InternetDownload】 (6)网络通信协议编程 FTP协议【\chap6\FTP】 Email协议【\chap6\Email】 ICMP协议【\chap6\ICMP】 RAS协议【\chap6\RAS】 TAPI协议【\chap6\TAPI】 Telnet协议【\chap6\Telnet】 HTTP协议 【\chap6\HTTP】 (7)Modem /串口通信编程 Modem编程【\chap7\Modem】 MSCOMM控件编程【\chap7\MSCOMM】 串口通信API编程【\chap7\MySerialCom】 (8)代理服务器编程实例 Socks 5协议编程【\chap8\Socks5】 HTTP代理服务器【\chap8\HTTP代理服务】 (9)高级网络通信编程实例 串口通信编程实例【\chap9\SerialPort】 网络流量监控【\chap9\NetTraffic】 网站下载【\chap9\ Snag】 网络五子棋系统【\chap9\FiveChess】 语音聊天【\chap9\ ChatRoom】 远程监控【\chap9\RemoteControl】

2010-07-21

VC++网络通信编程实用案例

1)基本网络编程实例 Winsock实现网络聊天室【\chap1\ChatRoom(Winsock)】 CSocket实现聊天室【\chap1\ChatRoom(Csocket)】 (2)本地计算机网络编程实例 获取计算机的名称和IP地址【\chap2\Local】 获取计算机的子网掩码【\chap2\ Local】 获取计算机的DNS设置【\chap2\ Local】 获取计算机的网卡地址【\chap2\ Local】 获取计算机安装的协议【\chap2\ Local】 获取计算机提供的服务【\chap2\ Local】 获取计算机的所有网络资源【\chap2\ Local】 修改本地计算机的所有网络设置【\chap2\ Local】 获取计算机TCP/IP协议的所有信息【\chap2\ Local】 (3)局域网网络通信编程实例 获取网上邻居【\chap3\Neighbor】 lIP地址和计算机名之间的转换【\chap3\Neighbor】 l映射网络驱动器【\chap3\Neighbor】 l消息发送程序Net Send【\chap3\Neighbor】 l获取局域网内其他计算机的信息【\chap3\ NeighborInfo】 (4)IE编程实例 简单的浏览器的实现【\chap4\MyBrowser】 删除IE相关历史记录【\chap4\DelHistory】 将应用程序加入到IE工具栏【\chap4\AddToToolBar】 超级链接的实现【\chap4\HyperLink】 禁止IE的弹出窗口【\chap4\StopPopup】 禁止浏览某些网站【\chap4\StopTravel】 IE收藏夹【\chap4\ MyBrowser】 创建桌面快捷方式和活动桌面【\chap4\ShortCut】 (5)基本网络编程实例 点对点文件传输【\chap5\Transfer】 大型文件传输【\chap5\Transfer】 端口扫描程序【\chap5\ MyPortScanner】 Finger编程【\chap5\MyFinger】 Sniff编程【\chap5\MySniff】 Internet文件下载【\chap5\ InternetDownload】 (6)网络通信协议编程 FTP协议【\chap6\FTP】 Email协议【\chap6\Email】 ICMP协议【\chap6\ICMP】 RAS协议【\chap6\RAS】 TAPI协议【\chap6\TAPI】 Telnet协议【\chap6\Telnet】 HTTP协议 【\chap6\HTTP】 (7)Modem /串口通信编程 Modem编程【\chap7\Modem】 MSCOMM控件编程【\chap7\MSCOMM】 串口通信API编程【\chap7\MySerialCom】 (8)代理服务器编程实例 Socks 5协议编程【\chap8\Socks5】 HTTP代理服务器【\chap8\HTTP代理服务】 (9)高级网络通信编程实例 串口通信编程实例【\chap9\SerialPort】 网络流量监控【\chap9\NetTraffic】 网站下载【\chap9\ Snag】 网络五子棋系统【\chap9\FiveChess】 语音聊天【\chap9\ ChatRoom】 远程监控【\chap9\RemoteControl】 赠送实例 类似网络蚂蚁的断点续传程序【\Appendix\NetAnts】 网络多播程序【\Appendix\BroadCast】 界面美观的文字聊天程序【\Appendix\Chat】 语音电话【\Appendix\PhoneCall】

2010-07-21

时尚有意思的vc100例(21-40)

这是我在学校借的一本书上的所有小例子,比较适合初学者,都是些比较有意思的例子,和大家分享了

2010-07-05

时尚有意思的vc100例

这是我在学校借的一本书上的所有小例子,比较适合初学者,都是些比较有意思的例子,和大家分享了

2010-07-05

c++ stl 中文版

这是中文版的,主要是针对stl技术,希望下载的朋友能够认可

2010-07-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除