- 博客(15)
- 资源 (13)
- 问答 (2)
- 收藏
- 关注
原创 arping交叉编译
arping是一个ARP级别的ping工具,主要用于通过ARP数据包进行网络测试。它可以用来检查一个IP地址是否在网络上被使用,并能够获取更多设备信息。本文主要说明如何交叉编译arping。
2024-02-04 11:36:33 934 1
原创 GDB交叉编译
在使用ubuntu16.04虚拟机的时候,每次开机然后想从gitlab同步代码都会报错:sign_and_send_pubkey: signing failed: agent refused operation网上搜索是说ssh-agent没有启动。参考:...
2021-09-27 10:44:26 1794
原创 提取二进制文件中的字符串(以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 1004
原创 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 9932
转载 获取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 854
原创 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 216
原创 进程间通信: 基于信号量同步的共享内存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 317
转载 ubuntu16.04下init进程自启gpsd导致端口被占用
参考文章:解决init进程占用端口问题释放init进程开启的gpsd进程socket和servicesudo systemctl stop gpsd.socketsudo systemctl stop gpsd.service
2019-08-07 15:06:14 597
原创 主机和虚拟机通过虚拟串口通信
一、创建虚拟串口需要借助一款软件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 13018 9
原创 禁止VSCode生成ipch文件
在settings.json文件中加入配置项: "C_Cpp.intelliSenseEngineFallback": "Disabled", "C_Cpp.intelliSenseCacheSize": 0
2019-06-27 18:36:24 880
原创 带锁和条件变量的队列实现
队列的概念:先进先出,即每次加入的新数据都会放在队列的尾部,每次取出数据都为队列的头部。本文的队列的数据创建形式为链表。为了多线程使用防止冲突所以加入锁和条件变量以进行同步。下面用具体的代码来说明。数据类型定义:typedef struct _node{ void *data; //数据存放指针 int size; //数据大小 ...
2019-04-19 11:14:23 420
原创 ring buffer的C语言实现
ring buffer实质上是在一块连续的内存上对数据进行写入和读取,只是在写入和读取的时候有些不同。每次读取的时候都要从开辟空间的地址加上一个读取的偏移量读取,相对应的,写入的时候也要从开辟空间的地址加上一个写入的偏移量来写入。重点也就在读取和写入数据上面。下面从代码上面来说一下。首先定义一个ring buffer的结构体typedef struct{ uint8_t *buf...
2019-04-12 16:51:32 3887 5
原创 使用ASN1C库处理.asn文件生成C代码解码和组码
上文说到安装ASN1C库,这篇文章将会说一下怎样使用asn1c命令来将自定义的.asn文件生成.c文件,并对自定义的结构体进行解码和组码。一、 建立.asn文件:RawCircle DEFINITIONS AUTOMATIC TAGS ::= BEGIN RawCircle ::= SEQUENCE { x INTEGER, ...
2019-03-15 17:56:31 9320 12
原创 ASN1C库的安装
ASN1C库的安装因为最近在工作中需要对C定义的结构体数据包进行传送,使用ASN进行编码和解码,所以这边记录一下自己安装ASN1C的过程,希望能帮助到看见这边文章的朋友。后面还会提供一个简单的组码和解码实例,应该在下一篇博客来写。下载ASN1C源码包 :地址:https://github.com/vlm/asn1c ,选择clone或者下载zip包,这边我选择下载asn1c-master.z...
2019-03-15 15:49:23 3931 3
CMake管理C/C++项目样例
2020-09-27
makefile_example.tar.gz
2020-08-21
cpp-learn.tar.gz
2020-06-27
pycharm_settings.zip
2020-06-22
cmake link external lib.zip
2020-04-11
CPU三星S3C2440A芯片手册.zip
2019-06-02
资源:使用ASN1C库处理.asn文件生成C代码解码和组码
2019-03-15
Wi-Fi P2P Technical Specification v1.7翻译(中文版)
2018-10-18
嵌套Makefile自动生成依赖问题
2020-08-26
C#调用C语言写的dll,dll里面用printf打印的log怎么在C#中显示?
2019-12-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人