自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (13)
  • 问答 (2)
  • 收藏
  • 关注

原创 arping交叉编译

arping是一个ARP级别的ping工具,主要用于通过ARP数据包进行网络测试。它可以用来检查一个IP地址是否在网络上被使用,并能够获取更多设备信息。本文主要说明如何交叉编译arping。

2024-02-04 11:36:33 835 1

转载 linux环境设置默认路由的优先级[转载]

linux环境设置默认路由的优先级

2022-10-13 09:04:25 1657

原创 GDB交叉编译

在使用ubuntu16.04虚拟机的时候,每次开机然后想从gitlab同步代码都会报错:sign_and_send_pubkey: signing failed: agent refused operation网上搜索是说ssh-agent没有启动。参考:...

2021-09-27 10:44:26 1711

原创 提取二进制文件中的字符串(以ubx文件举例)

用notepad++打开ubx之后,里面存在我们需要的一些NMEA消息,做GPS轨迹分析的时候需要将一些NMEA消息提取,以便导入谷歌地球进行分析。Linux下可以直接使用命令提取:`strings -n 50 xxx.ubx | grep -E "GNRMC|GNGGA" | sed 's/^.*\$/\$/' > xxx.log`...

2021-07-17 11:04:12 879

原创 CMake在使用include包含.cmake文件的坑

通常我们会复用一些cmake指令(比如将某些指令封装为函数),将其写到某一个.cmake文件中,然后在我们的CMakeLists.txt使用include命令把.cmake文件包含进来使用里面的函数等。本例子目录结构:.├── build├── cmake│ └── test.cmake└── CMakeLists.txttest.cmake文件内容增加一个打印字符串的函数:function(print_string str) message("str=${str}")..

2020-09-27 16:47:00 8387

转载 获取Visual Studio生成dll的版本号

为自己的dll生成版本号参考:vs中动态DLL工程中加入版本信息的方法调用api获取版本号上代码:#include <tchar.h>#include <windows.h>#include <winver.h>#define DLL_VERSION_LENGTH 32// Load version lib#ifdef WIN10#pragma comment(lib, "Mincore.lib")#else#pragma comment(li

2020-08-27 15:24:58 762

原创 linux下内存泄露检测

优点:无需修改自己的代码能够定位到具体产生内存泄露的函数调用堆栈和代码行号安装valgrindsudo apt install valgrind编译你的程序,增加-g编译选项。假设我们的测试代码如下:#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <string.h>#include <stdint.h>#include <

2020-08-26 15:51:40 188

原创 进程间通信: 基于信号量同步的共享内存demo

向共享内存写数据的程序:#include <fcntl.h> /* For O_* constants */#include <sys/stat.h> /* For mode constants */#include <semaphore.h>#include <stdio.h>#include <stdint.h>#include <stdlib.h>#include <unistd.h>#inclu

2020-06-16 17:48:36 291

转载 ubuntu16.04下init进程自启gpsd导致端口被占用

参考文章:解决init进程占用端口问题释放init进程开启的gpsd进程socket和servicesudo systemctl stop gpsd.socketsudo systemctl stop gpsd.service

2019-08-07 15:06:14 536

原创 主机和虚拟机通过虚拟串口通信

一、创建虚拟串口需要借助一款软件Launch Virtual Serial Port Driver Pro,下载链接:http://pdidc.jb51.net:81/201806/tools/hnjkfzgjcx_jb51.rar安装方法:下载后解压运行vspdpro原版.exe,安装完之后用vspdpro.exe替换安装目录的同名文件打开vspdpro,界面如下所示:点...

2019-07-19 16:19:19 12475 9

原创 禁止VSCode生成ipch文件

在settings.json文件中加入配置项: "C_Cpp.intelliSenseEngineFallback": "Disabled", "C_Cpp.intelliSenseCacheSize": 0

2019-06-27 18:36:24 810

原创 带锁和条件变量的队列实现

队列的概念:先进先出,即每次加入的新数据都会放在队列的尾部,每次取出数据都为队列的头部。本文的队列的数据创建形式为链表。为了多线程使用防止冲突所以加入锁和条件变量以进行同步。下面用具体的代码来说明。数据类型定义:typedef struct _node{ void *data; //数据存放指针 int size; //数据大小 ...

2019-04-19 11:14:23 382

原创 ring buffer的C语言实现

ring buffer实质上是在一块连续的内存上对数据进行写入和读取,只是在写入和读取的时候有些不同。每次读取的时候都要从开辟空间的地址加上一个读取的偏移量读取,相对应的,写入的时候也要从开辟空间的地址加上一个写入的偏移量来写入。重点也就在读取和写入数据上面。下面从代码上面来说一下。首先定义一个ring buffer的结构体typedef struct{ uint8_t *buf...

2019-04-12 16:51:32 3758 5

原创 使用ASN1C库处理.asn文件生成C代码解码和组码

上文说到安装ASN1C库,这篇文章将会说一下怎样使用asn1c命令来将自定义的.asn文件生成.c文件,并对自定义的结构体进行解码和组码。一、 建立.asn文件:RawCircle DEFINITIONS AUTOMATIC TAGS ::= BEGIN RawCircle ::= SEQUENCE { x INTEGER, ...

2019-03-15 17:56:31 8883 12

原创 ASN1C库的安装

ASN1C库的安装因为最近在工作中需要对C定义的结构体数据包进行传送,使用ASN进行编码和解码,所以这边记录一下自己安装ASN1C的过程,希望能帮助到看见这边文章的朋友。后面还会提供一个简单的组码和解码实例,应该在下一篇博客来写。下载ASN1C源码包 :地址:https://github.com/vlm/asn1c ,选择clone或者下载zip包,这边我选择下载asn1c-master.z...

2019-03-15 15:49:23 3764 3

code_prefix.code-snippets

code_prefix.code-snippets

2021-12-06

CMake管理C/C++项目样例

本资源搭建了一个cmake管理项目的框架。 1. 使用了.cmake模块文件封装功能 2. 使用cmake管理每个可执行程序的版本号 3. 提供脚本自动编译 直接运行.sh脚本即可完成编译。

2020-09-27

makefile_example.tar.gz

一般一个稍大的linux项目会有很多个源文件组成,最终的可执行程序也是由这许多个源文件编译链接而成的。编译是把一个.c或.cpp文件编译成中间代码.o文件,链接是就使用这些中间代码文件生成可执行文件。资源给了一个生成静态库动态库可执行文件demo。

2020-08-21

asn-project.tar.gz

针对ASN1C更新后找不到BIT_STRING_oer.c这个文件,最新调试的project例子。适用于asn1c v0.9.28.

2020-07-25

cpp-learn.tar.gz

记录学习C++。 文件: class_template.cpp deque_learn.cpp exception.cpp fun_template.cpp fun_template2.cpp inhire_learn.cpp list_learn.cpp map_learn.cpp multimap_learn.cpp multiset_learn.cpp my_vector.cpp priority_queue_learn.cpp queue_learn.cpp set_learn.cpp stack_learn.cpp static_var_in_class.cpp std_except.cpp std_io.cpp stl_alg_learn.cpp string_learn.cpp test_init.cpp type_change.cpp vector_learn.cpp

2020-06-27

pycharm_settings.zip

pycharm的键盘快捷键设置。打开pycharm后,文件 -> 导入导出操作 -> 导入设置 -> 选择setting.zip,选择导入键盘快捷键。

2020-06-22

cmake link external lib.zip

“CMake”这个名字是“cross platform make”的缩写。虽然名字中含有“make”,但是CMake和Unix上常见的“make”系统是分开的,而且更为高阶。本资源是cmake链接外部库的一个小demo。

2020-04-11

PyQt Manual.zip

学PyQt5的同学可以用这份pyqt5类的参考文档。 适用于初学者查阅类的属性及各种API。 记不住类有哪些东西的时候可以翻一下看看。

2020-01-12

JZ2440_V2电路图.zip

本文档为JZ2440_V2电路图,详细地介绍了开发板的各个硬件,配合芯片手册查看,方便同学们学习交流

2019-06-02

CPU三星S3C2440A芯片手册.zip

This user’s manual describes SAMSUNG's S3C2440A 16/32-bit RISC microprocessor. SAMSUNG’s S3C2440A is designed to provide hand-held devices and general applications with low-power, and high-performance microcontroller solution in small die size.

2019-06-02

资源:使用ASN1C库处理.asn文件生成C代码解码和组码

这里有我详细介绍使用asn1c命令来将自定义的.asn文件生成.c文件,并对自定义的结构体进行解码和组码。 https://blog.csdn.net/adgentleman/article/details/88577417 资源是所有文件的打包。

2019-03-15

Wi-Fi P2P Technical Specification v1.7翻译(中文版)

Wi-Fi P2P Technical Specification v1.7翻译(中文版),本人翻译

2018-10-18

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

TA关注的人

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