自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(272)
  • 资源 (2)
  • 收藏
  • 关注

原创 使用vs编译paho.mqqt.c

6.点击generate,然后点击open project。8.进入你选择的生成目录,在src下就可找到你的库。5.点击configure,选择VS版本。3.运行cmake-gui.exe。下载对应系统的msi文件安装即可。可以去我之前的文章中找到下载地址。2.下载paho.mqqt.c。在界面中选择配置选项勾选即可,4.在如图1处选择你的源码。1.首先下载cmake。在如图2处选择输出路径。

2024-01-26 09:41:44 326

原创 开源libmodbus编译为32位和64位动态库

libmodbus 是支持Linux,Mac OS X,window 的一个开源库,支持modbus TCP和RTU 两种模式。

2023-12-15 09:56:18 1058

原创 ubuntu离线安装包下载和安装

找到ubuntu20.04 对应的deb包,点击进去,找到 Download --> BinaryPackage。比如需要下载 lm-sensors, 在 search栏中添加搜索。复制粘贴 对应的url到浏览器即可完成下载。

2023-12-01 14:26:02 1754

原创 Linux操作系统不同大小硬盘之间的系统拷贝

修改 /mnt/boot/efi/EFI/ubuntu/grub.cfg /mnt/boot/grub/x86_64-efi/load.cfg /mnt/boot/grub/grub.cfg 三个文件中的UUID。拷贝数据到/mnt 目录:就是把/dev/sda2 对应的目录的内容拷贝到 /mnt/拷贝数据到/mnt 目录:就是把/dev/sda1 对应的目录的内容拷贝到 /mnt/修改 /mnt/EFI/ubuntu/grub.cfg 文件中的UUID。加载 /dev/sdb1。

2023-07-10 11:47:15 748 1

原创 Linux磁盘分区UUID查看和修改

不要轻易修改磁盘的UUID,尤其是系统盘的UUID,修改后需要修改对应的grub和fstab,否则系统无法加载起来。

2023-07-07 10:27:37 2542

原创 Linux 系统守护进程管理 --(start-stop-daemon)

目录一、功能二、格式2.1 搜索匹配的过程2.2选项2.2.1匹配选项2.2.2只对–start有效的选项2.2.3只对–停止有效的选项2.2.4其他选项三、应用3.1 启动进程3.1.1 强制启动3.1.2 默认启动3.1.3 启动进程,并生成进程的PID文件3.2停止进程3.2.1 使用进程名称停止进程3.2.2 使用PID文件停止进程一、功能启动或停止系统守护进程。二、格式start-stop-daemon [–

2022-05-10 16:17:45 2968

原创 Linux proc目录详解

目录1. 什么是proc2.proc目录介绍2.1/proc/cpuinifo CPU的信息(型号、家族、缓存大小等)2.2/proc/meminfo物理内存、交换空间2.3/proc/mounts 已加载的文件系统的列表2.4/proc/devices 可用设备的列表2.5/proc/filesystems 被支持的文件系统2.6/proc/modules 已加载的模块2.7/proc/virsion 内核版本2.8/proc/cmdl...

2022-05-10 15:23:41 6558

转载 ubuntu里设置从串口登录

1) Create a file called /etc/init/ttyS0.conf containing the following:# ttyS0 - getty## This service maintains a getty on ttyS0 from the point the system is# started until it is shut down again.start on stopped rc or RUNLEVEL=[2345]stop on runl.

2021-06-10 16:04:59 1530

转载 Linux模块加载流程及如何让系统开机自动加载模块

Linux模块加载Linux系统加载哪些内核模块,和配置文件有关系。模块保存在/lib/modules/下。使用/etc/modules-load.d/来配置系统启动时加载哪些模块。使用/etc/modprobe.d/下配置模块加载时的一些参数,也可以利用blacklist来屏蔽模块的自动加载。例如,在安装NVIDIA显卡驱动时,需要屏蔽开源的nouveau驱动,就可以将其加入blacklist。如何添加一个自己编译的模块将编译好的.ko模块放到目录/lib/modules/`uname

2021-06-10 15:41:42 2108

转载 Linux之systemd服务配置及自动重启

layout: posttitle: Linux之systemd服务配置及自动重启date: 2019-09-09tags: linuxLinux之systemd服务配置及自动重启0 背景在linux上开发时,往往需要将自己的程序做成服务,并且实现服务开机自动重启,以及服务崩溃后自动重启功能,本文就对该功能的实现做简单介绍,实现方法很简单,使用linux系统的systemd即可实现1 systemd介绍历史上,linux的启动一直采用init进程,比如$ sudo /etc/

2021-06-09 08:43:34 920

转载 Systemd 入门教程:命令篇

Systemd 是 Linux 系统工具,用来启动守护进程,已成为大多数发行版的标准配置。本文介绍它的基本用法,分为上下两篇。今天介绍它的主要命令,下一篇介绍如何用于实战。一、由来历史上,Linux 的启动一直采用init进程。下面的命令用来启动服务。$ sudo /etc/init.d/apache2 start# 或者$ service apache2 start这种方法有两个缺点。一是启动时间长。init进程是串行启动,只有前一个进程启动完,才会启动下一.

2021-06-09 08:28:15 181

转载 Linux 守护进程的启动方法

"守护进程"(daemon)就是一直在后台运行的进程(daemon)。本文介绍如何将一个 Web 应用,启动为守护进程。

2021-06-09 08:09:56 448

转载 linux git 问题:fatal: early EOF fatal: The remote end hung up unexpectedly fatal: index-pack failed

linux从github git较大的文件时出现的问题,查找以下,暂时关闭防火墙可行,或许还有其他好的解决办法,暂时记录下:出现问题:git clone --recursive https://github.com/arq5x/lumpy-sv.gitfatal: early EOFfatal: The remote end hung up unexpectedlyfatal: index-pack failed123过早的文件结束符。解决办法,逐条执行以下语句export GIT

2021-06-02 16:10:25 575

原创 setsockopt函数功能介绍

功能描述: 获取或者设置与某个套接字关联的选 项。选项可能存在于多层协议中,它们总会出现在最上面的套接字层。当操作套接字选项时,选项位于的层和选项的名称必须给出。为了操作套接字层的选项,应该 将层的值指定为SOL_SOCKET。为了操作其它层的选项,控制选项的合适协议号必须给出。例如,为了表示一个选项由TCP协议解析,层应该设定为协议 号TCP。用法:#include <sys/types.h>#include <sys/socket.h>int g...

2020-10-20 10:22:06 2030

转载 epoll实现socket通信

epoll是Linux特有的I/O复用函数,它在实现和使用上与select和poll有很大差异。epoll使用一组函数来完成任务,而不是单个函数。epoll把用户关心的文件描述符上的事件放在内核的一个事件表中,无需像select和poll那样每次调用都要重复传入文件描述符集或事件集,但epoll需要一个额外的文件描述符,来唯一标示内核中的这个事件表,这个文件描述符使用epoll_create函数来创建。 epoll是一种高效的管理socket的模型,相对于select和poll来说具有更高的效率和易用.

2020-08-23 22:22:35 6150

原创 lua 和 c交互详解(一)

lua与c之间交互是通过“lua堆栈”通信的。不管是lua调用c还是c调用lua,都是通过操作lua堆栈实现的。顾名思义,lua堆栈也满足后进先出的特点,入栈/出栈都围绕栈顶进行的。与通用的栈不同的是,这个虚拟栈每个位置都对应一个索引,可以通过索引操作指定位置的数据。1代表栈底,向栈顶依次递增;-1代表栈顶,向栈底依次递减,如图。1. lua中类型在c中如何表示要实现c和lua之间的交...

2019-12-02 15:52:24 2161

原创 lua闭包函数详解

词法定界:当一个函数内嵌套另一个函数的时候,内函数可以访问外部函数的局部变量,这种特征叫做词法定界 table.sort(names,functin (n1,n2) return grades[n1]>grades[n2] end) //内部匿名函数可以访问外部函数的n1,n2第一类值:lua当中函数是一个值,他可以存在变量中,可以作为函数参数...

2019-11-27 18:52:54 485

原创 lua5.3 获取table的元素数量

最近更新了lua版本到最新的版本Lua 5.3.4 Copyright (C) 1994-2017 Lua.org, PUC-Rio在运行旧的项目的时候出现了如下错误xxx: attempt to call a nil value (field 'getn')stack traceback:网上查了一下,发现也有许多朋友出现了这样的问题,原因是lua在5.1以后的版本去除了table.g...

2019-11-27 18:47:42 5713

原创 Makefile.am和makefile.in生成Makefile

很多时候,我们在网上下载的linux开源软件都会遇到一个问题,就是源码里面没有直接的makefile,但是它有Makefile.am和makefile.in或者它有Makefile.am和configure.in,这里就不详细解释他们直接的关联,直接给出如何操作生成makefile。具体操作步骤如下:1. 执行aclocal,产生aclocal.m4文件aclocal是一个perl 脚...

2019-11-14 16:22:26 531

转载 __init、__initdata和__exit、__exitdata

由于4年前对于C语言和Linux的知识贫乏,所以当时对于模块中的函数定义没有细看。这次在温习《LDD3》的时候,重新看了一下关于__init、__initdata和__exit、__exitdata的知识,记录如下:对于__init、__initdata和__exit、__exitdata的定义位于<linux/init.h>,这些宏定义的作用是告诉编译器将这些函数或者数据放...

2019-08-06 08:58:15 669

原创 Centos7选定默认启动的内核版本

#使用cat /boot/grub2/grub.cfg |grep menuentry 查看系统可用内核[root@bigapp-slave27 ~]# cat /boot/grub2/grub.cfg |grep menuentryif[ x"${feature_menuentry_id}"= xy ];thenmenuentry_id_option="--id"...

2019-08-02 09:42:33 6407

转载 Linux ar命令

当我们的程序中有经常使用的模块,而且这种模块在其他程序中也会用到,这时按照软件重用的思想,我们应该将它们生成库,使得以后编程可以减少开发代码量。这里介绍命令ar,用来对库操作。1.ar基本用法  ar命令可以用来创建、修改库,也可以从库中提出单个模块。库是一单独的文件,里面包含了按照特定的结构组织起来的其它的一些文件(称做此库文件的member)。原始文件的内容、模式、时间戳、属主、组等属性都...

2019-04-29 16:27:43 209

原创 linux 的间隔定时器函数setitimer

1.介绍  在linux下如果定时如果要求不太精确的话,使用alarm()和signal()就行了(精确到秒),但是如果想要实现精度较高的定时功能的话,就要使用setitimer函数。  setitimer()为Linux的API,并非C语言的Standard Library,setitimer()有两个功能,一是指定一段时间后,才执行某个function,二是每间隔一段时间就执行某个fu...

2019-03-26 11:39:59 749

转载 关于抓包出现TCP DUP ACK问题

最近在跟一个CDN服务器端做对接,从CDN服务器下载内容(http),发现抓包出现非常多的Tcp Dup Ac​k异常提示。通过查阅质料得知Tcp Dup Ack xxx#y代表了数据段丢失TCP状态,xxx代表数据丢失的位置,#后代表第几次丢失文。然后我我又再看了下报文,的确是2次数据发送到我这边,我才回复一次ack,但是这个ack回复是正确的。 对比对接其他地方的CDN的抓包,发...

2019-03-16 09:33:51 6765

转载 tcp retransmission原因

TCP协议是一个可靠的协议。它通过重新发送(retransmission)来实现TCP片段传输的可靠性。简单的说,TCP会不断重复发送TCP片段,直到片段被正确接收。TCP片段丢失TCP头部的checksum接收方(receiver)可以通过校验TCP片段头部中checksum区域来检验TCP片段是否出错。我们已经接触过了IP协议详解的checksum算法。TCP片段的ch...

2019-03-15 19:04:32 97592 1

原创 Linux内核调试sysfs

在调试驱动,可能需要对驱动里的某些变量进行读写,或函数调用。可通过sysfs接口创建驱动对应的属性,使得可以在用户空间通过sysfs接口的show和store函数与硬件交互; Syss接口可通过sysfs_create_group()来创建,如果设备驱动要创建,需要用到函数宏DEVICE_ATTR;另外总线对应BUS_ATTR、设备驱动对应DRIVER_ATTR、类(class)对应C...

2019-02-18 09:52:21 779

转载 Linux内核调试debugfs

DebugFS,顾名思义,是一种用于内核调试的虚拟文件系统,内核开发者通过debugfs和用户空间交换数据。类似的虚拟文件系统还有procfs和sysfs等,这几种虚拟文件系统都并不实际存储在硬盘上,而是Linux内核运行起来后才建立起来。通常情况下,最常用的内核调试手段是printk。但printk并不是所有情况都好用,比如打印的数据可能过多,我们真正关心的数据在大量的输出里不是那么一目了然...

2019-02-18 09:46:06 303

转载 init_cheap: VirtualAlloc pointer is null, Win32 error 487

用mingw编译程序时报错:0 [main] us 0 init_cheap: VirtualAlloc pointer is null, Win32 error 487 AllocationBase 0x0, BaseAddress 0x71690000, RegionSize 0x410000, State 0x10000  C:\MSYS-TEMP\bin\sh.exe: *** C...

2019-02-11 09:16:34 1789

转载 IAR #pragma optimize 指令

IAR #pragma optimize 指令  #pragma optimize= none  //one of none, low, medium, high, size, or speed放在被优化函数前 #pragma optimize 指令格式:#pragma optimize=token token tokenwhere token is one or more of th...

2018-11-19 12:04:15 3615

转载 STM32的IAP在线升级的源码中的地址解读

1.ApplicationAddress的内容含义    if (((*(__IO uint32_t*)ApplicationAddress) &amp; 0x2FFE0000 ) == 0x20000000)        {            SerialPutString("Execute user Program\r\n\n");            //跳转至用户代码 ...

2018-11-19 09:32:42 1385

原创 dmesg的时间戳转换为对应的时间

1.获取dmesg的时间戳# dmesg[ 18.204448] Bluetooth: RFCOMM socket layer initialized[ 18.204452] Bluetooth: RFCOMM ver 1.112.时间戳表示的含义dmesg 日志中的“时间”(18.204452) 表示的是系统启动到事件发生的时间差,这个值可以转换成时间戳:unix...

2018-09-28 10:55:06 20917 2

转载 Go 标准库: log

原文链接 http://ironxu.com/775本文介绍Go 标准库 log 的常用导出函数,结构体及方法。log 包实现了简单的日志服务,log 包定义了Logger类型,该类型提供了一些格式化输出的方法。本包也提供了一个预定义的“标准”Logger,可以通过辅助函数Print[f|ln]、Fatal[f|ln]和Panic[f|ln]访问,比手工创建一个Logger对象更容易使...

2018-09-27 20:07:22 344

转载 Go 标准库: io

原文链接 http://ironxu.com/772本文介绍Go 标准库 io 常用的导出函数,结构体和方法。io 包提供了对 I/O 原语的基本接口,这些接口抽象出了泛用的函数并附加了一些操作。因为这些接口是对底层实现完全不同的低水平操作的包装,除非得到其它方面的通知,客户端不应假设它们是并发安全的。1. io 包的接口Readertype Reader interfa...

2018-09-27 20:03:26 190

转载 Go 标准库: path

原文链接 http://ironxu.com/766本文介绍Go 标准库: path, filepath 常用导出函数,结构体及方法1. path 包import "path"path实现了对斜杠分隔的路径进行操作的函数。func IsAbs(path string) bool // 判断是否是一个绝对路径 func Split(path string) (dir, f...

2018-09-27 20:00:41 326

转载 Go标准库:os

原文链接 http://ironxu.com/751介绍Go 标准库 os 常用导出函数,结构体及其方法。import os1os 包提供了不依赖平台的操作系统函数接口。错误处理设计为go 风格,失败的调用会返回错误值而非错误码。通常错误值里包含更多信息。1. os 常用导出函数func Hostname() (name string, err error) // Ho...

2018-09-27 19:57:15 272

转载 go标准库:time

原文链接 http://ironxu.com/747介绍Go 标准库 time 常用导出函数,结构体及其方法。import "time"time包提供显示和计算时间用的函数。1. 时间处理类型Go 中时间处理依赖的数据类型: time.Time, time.Month, time.Weekday, time.Duration, time.Location。1.1 tim...

2018-09-27 19:52:05 232

转载 Golang 标准库--strings

本文介绍Go 标准库 strings 常用导出函数,结构体及其方法。import stringsstrings 包实现了用于操作字符串的简单函数,包括 strings 导出函数和 Reader, Replacer 两个结构体。1. strings 常用导出函数判断字符串与子串关系func EqualFold(s, t string) bool // 判断两个utf-8编码字符串...

2018-09-26 08:35:12 855

转载 linux时间类型localtime_r

linux时间类型localtime_r,struct tm *pgettimeofday(&amp;now ,NULL);取得当前时间的参数值,now可以是struct timespec 或者 struct timeval类型的。 mktime函数原型:定义函数   time_t mktime(struct tm * timeptr); 函数说明   mktime()用来...

2018-09-21 10:00:37 2865

转载 linux几种时间函数总结

一、Linux函数总结最近的工作中用到的时间函数比较频繁,今天抽时间总结一下,在linux下,常用的获取时间的函数有如下几个:   asctime,  ctime, gmtime, localtime, gettimeofday ,  mktime, asctime_r, ctime_r, gmtime_r, localtime_r二、常用的结构体(1)struct tm ;...

2018-09-21 09:31:24 126

转载 golang编译

olang的编译使用命令 go build , go install;除非仅写一个main函数,否则还是准备好目录结构;GOPATH=工程根目录;其下应创建src,pkg,bin目录,bin目录中用于生成可执行文件,pkg目录中用于生成.a文件;golang中的import name,实际是到GOPATH中去寻找name.a, 使用时是该name.a的源码中生命的package 名字;这个在前...

2018-09-14 16:17:01 723

GBK和Unicode的对照表

GBk和unicode的转换对照表,用于解决编码转换的问题。

2017-12-06

adt下载地址的链接

主要提供给安卓开发需要下载adt资源的人,quxiazai对应的adt

2015-10-30

空空如也

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

TA关注的人

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