自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 资源 (1)
  • 收藏
  • 关注

原创 linux C/C++常用开发工具汇总

序号 工具类型 工具名称 网址 操作系统 收费 1 虚拟机 Oracle VM VirtualBox https://www.virtualbox.org/wiki/Downloads Windows 否     VMvare https://www.vmware.com/ Windows 是 2...

2018-10-30 10:15:20 6139 1

原创 删除keil中的搜索记录及最近打开文件

按照顺序打开 计算机\HKEY_CURRENT_USER\SOFTWARE\Keil\礦ision5,根据自己使用的版本选择目录。然后\Recent File List是最近打开文件注册表,删除该目录下除默认外的所有项目,即可删除最近打开文件列表;类似操作,\Recent Projects,删除该目录下除默认外的所有项目即可删除最近打开的工程。\Settings\Find,删除该目录下除默认外的所有项目即可删除最近的搜索关键字列表。2.CTRL+R,输入regedit,打开注册表编辑器。

2023-08-31 15:55:40 389

原创 STM32CubeMX生成STM32L073RZT6 BootLoader程序

1. 环境:Windows10, STM32CubeMX6.0.0,Keil5.25单片机为STM32LRZT6 196KBytes Flash,20KBytes RAM2. 功能要求设计BootLoader功能,按键按下上电,进入升级程序状态,不按按键,引导应用程序执行。3. STM32CubeMX配置并生成代码1)打开STM32CubeMX,通过选择单片机创建工程,在Part Number中输入L073RZ搜索单片机,在单片机列表中双击STM32L073RZTx进入配置界面。

2020-12-18 13:54:55 2037 1

原创 CentOS7.2 安装GitLab服务器

01. yum install -y curl policycoreutils-python openssh-server02. systemctl enable sshd03. systemctl start sshd04. wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-13.4.2-ce.0.el7.x86_64.rpm05. rpm -i gitlab-ce-13.4.2-ce.0.el7.x86_6

2020-10-20 16:48:07 171

原创 Debian系统源码安装usb网卡驱动

系统为debian 9.6 64位版本,安装网卡驱动为asix的AX88772B芯片1. 安装系统build模块apt-get install linux-image-$(uname -r) linux-headers-$(uname -r)2. 官网下载usb网卡驱动源码3. 解压源代码并编译安装make && make install &&...

2019-04-22 15:12:58 2324

原创 linux下源码安装goahead Web Server

环境:Debian8.11 amd64goahead:4.1.0源码1. 从官网下载源代码2. 解压源代码到当前目录:tar xvf goahead-4.1.0-src.tgz3. 复制头文件: cp projects/goahead-linux-default-me.h src/me.h4. 配置选项:./configure5. 编译并安装:make && ...

2019-03-25 11:09:04 1085

原创 Linux操作系统添加自定义应用程序开机启动

环境:debian8.11.1 64位方法1:应用程序:自己编写的C程序在/etc/init.d目录下增加启动脚本。此处以servmon文件为例,文件内容如下:#!/bin/sh### BEGIN INIT INFO# Provides: servermon# Required-Start: $local_fs $remote_fs $network $sysl...

2019-03-13 10:50:21 1416

原创 WINDOWS10编译openssl

操作系统:windows10 64位编译环境:VS20171. 安装perl,在官网下载安装包后安装http://www.activestate.com/activeperl/downloads2. 下载openssl源代码,在官网根据自己情况下载openssl源代码(我下载的为1.0.2r)https://www.openssl.org/source/3. 解压源代码,这...

2019-03-08 15:19:46 725

原创 Debian安装图形界面

环境:Debian9.6 64位0. 确保Debian能够联网1.apt install x-window-system-core gnome-core #安装最基本的gnome图形相关软件2. init 6 #设置系统为图形界面启动,该命令执行后系统会重启3. 设置系统可以root登录 1)修改/etc/gdm3/daemon.conf文件,在[security...

2019-03-07 09:47:30 31648 2

原创 Debian安装telnet服务

环境:Debian9.6 64位版本1. apt install xinetd telnetd telnet #安装xinet服务,telnet服务,telnet客户端2. 创建文件/etc/xinetd.d/telnet,文件内容如下:service telnet{ disable = no flags = REUSE socket...

2019-03-06 14:43:23 11436

原创 Vbox6.04 Debian虚拟机安装增强工具

环境:VBox6.04 Debian9.6 64位在创建Vbox虚拟机后安装好Debian系统。开始操作前请确保虚拟机可以上网1. root用户登录Debian;2. uname -r #查看debian内核版本3. apt install linux-headers-第2步的版本号 #安装内核头文件4. apt install build-essential ...

2019-03-06 14:29:23 1233

原创 Thinkpad MORFFHL滑鼠接收器配对

1. 接收器插入电脑2. 关闭鼠标3. 同时按住鼠标左键、右键、滚轮打开电源开关,3个键按住3秒左右松手4. 同时按下3个按键,指示灯橘色闪烁5. 再次同时按下3个按键,配对结束6. 关闭鼠标重新打开。移动鼠标查看光标是否移动,并按键确认鼠标是否可用,如配对失败重复以上步骤注意:尽量保持鼠标和接收器的具体不超过20厘米...

2019-01-15 11:04:44 19983 16

原创 VS2017设置chrome浏览器google搜索当前选定文本

注意:环境VS2017社区版,浏览器google chrome浏览器1. 打开VS2017,界面如下,点击工具菜单2. 点击菜单中的外部工具,如下图3. 弹出如下窗口,点击右上角添加按钮,如下图4. 标题自己根据喜好,起个名字,我起的名字为chrome。命令填入google浏览器可执行程序的完整路径,如“C:\Program Files (x86)\Google\Chr...

2018-11-03 09:53:06 1092

转载 man timer_create

TIMER_CREATE(2)            Linux Programmer's Manual           TIMER_CREATE(2)NAME       timer_create - create a POSIX per-process timerSYNOPSIS       #include <signal.h>       #include &lt...

2018-10-24 09:48:22 275

转载 C++中explicit的用法

C++提供了关键字explicit,可以阻止不应该允许的经过转换构造函数进行的隐式转换的发生,声明为explicit的构造函数不能在隐式转换中使用。 C++中, 一个参数的构造函数(或者除了第一个参数外其余参数都有默认值的多参构造函数), 承担了两个角色:1 是个构造;2 是个默认且隐含的类型转换操作符。所以, 有时候在我们写下如 AAA = XXX, 这样的代码, 且恰好XXX的类型...

2018-09-25 16:02:36 126

转载 Linux下获取CPUID、硬盘序列号

在很多系统软件的开发中,需要使用一些系统的唯一性信息。所以,得到主机的CPUID、硬盘序列号及网卡的MAC地址,就成个一件很重要的应用。需要的准备知识有:1. GCC的嵌入汇编,具体的GCC嵌入汇编知识,请参考相关手册2.ioctl系统调用,具体的调用方法,请查看手册页获取CPUID按照网上提供的说明,CPUID并不是所有的Intel CPU都支持的。如果支持,汇编调用为:ea...

2018-09-14 17:03:19 15482 2

转载 linux系统编程之错误处理:perror,strerror和errno

1,系统变量errno在linux系统编程中错误通常通过函数返回值来表示,并通过特殊变量errno来描述。errno这个全局变量在<errno.h>头文件中声明如下:extern int errno;errno是一个由POSIX和ISO C标准定义的符号,看(用)起来就好像是一个整形变量。当系统调用或库函数发生错误的时候,比如以只读方式打开一个不存在的文件时,它的值将会被改...

2018-09-08 09:51:40 167

转载 TCP系统参数设置

我们这里应用的是CentOS5.3,并内核使用的是2.6.18-128.el5PAE #1 SMP 。修改部分TCP ,有的是为了提高性能与负载,但是存在降低稳定性的风险。有的则是安全方面的配置,则有可能牺牲了性能。1.TCP keepalive TCP连接保鲜设置echo 1800 > /proc/sys/net/ipv4/tcp_keepalive_timeecho 15 &...

2018-09-04 08:23:27 639

原创 ubuntu16.04下安装eclipse

背景:操作系统ubuntu16.04 64bits,编程语言C/C++,安装eclipse为了进行openssl等工程级代码的调试1. 安装JVM1.1 下载JAVA安装包从JAVA官网下载JAVA64位最新版本安装包jre-8u161-linux-x64.tar.gz,下载地址如下:http://sdlc-esd.oracle.com/ESD6/JSCDL/jdk/8u161-b12/2f38c...

2018-03-17 09:51:03 1116

原创 openssl中OID标识的增加

背景:由于最近在国家密码管理局的GM/T系列标准,需要在openssl中基于PKCS7的格式实现GM/T0010标准的数字信封数据格式,需要在openssl中增加GM/T0010标准的各个消息的OID标识符。方法1:1. 把OID标识符转换为ASN1编码    使用openssl中的asn1parse命令进行OID标识符转换为ASN1编码,命令示例如下:    openssl asn1parse ...

2018-03-08 11:22:20 4039

原创 gcc搜索目录信息查看

环境:ubuntu16.04 64bits gcc 5.4.01. 查看gcc可执行文件,库文件的搜索gcc -print-search-dirs命令执行情况如下:# gcc -print-search-dirs install: /usr/lib/gcc/x86_64-linux-gnu/5/programs: =/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/l

2018-01-19 16:40:45 1506

原创 关于linux下C++开发的几个注意事项

今年在ubuntu下用C++编程语言,基于POCO开源库做了个项目,开发调试过程中碰到了不少坑,这里记录一下。如下是几个注意事项:       1.  在包含头文件时,需要注意头文件的顺序,应该从上到下依次是:系统调用的头文件,第三方库的头文件,自定义的头文件;            注意:如不按此顺序,在程序语法都正常的情况,程序编译没问题,但是运行时就会出现,段出错,内存分配或访问错误

2017-12-21 08:15:30 509

原创 ubuntu 16.04 64bits 交叉编译openssl到arm-linux

操作系统为ubuntu16.04 64位版本, openssl为1.1.0d版本。执行如下命令:CROSS_COMPILE=arm-linux- /usr/bin/perl ./Configure no-asm shared linux-armv4 --prefix=/opt/arm-cross-tools/openssl/make && make install注意:

2017-12-05 16:16:52 2057

原创 ubuntu下codeblocks单步调试突然变的很慢

运行环境:ubuntu16.04 x64版本,codeblocks 16.01,gcc为ubuntu下最新版本        最近在用codeblocks调试程序时,发现codeblocks的单行或单指令调试时,程序需要运行好一会才能执行到下一行或下一条指令,问百度问了无果,只能自己研究一下了。        由于调试的程序无法正常执行,所有想使用调试功能看一下怎么回事,程序执行到某行的时

2017-09-06 17:08:04 1522 5

原创 linux下查看进程使用文件描述符的详细信息

由于近期在项目中遇到socket通信,和服务器端建立了TCP连接,但是要向服务器发送的数据却没发上去,分析没发出去的原因可能是:应用程序进程把文件描述符0关闭了,然后socket获取到了0作为socket通信的文件描述符,然后建立TCP成功,但是由于0是系统的标准输入文件描述符,导致发送数据异常。       上述的原因只是推测,并没有确切的证据,正好今天早上发现现场的设备出现不上去报文的情况

2017-08-07 09:46:50 9690

原创 linux下查看到某个IP的寻址路由信息

当网络故障时或在分析某些问题时,需要查看linux设备到某个IP的路由信息。使用traceroute命令即可查看。具体命令如下:traceroute xxx.xxx.xxx.xxx

2017-08-07 09:08:51 11603

原创 linux下获取记录文件的前N行或后N行

这几天在做ARM linux嵌入式设备的应用程序,要记录设备的启动记录,但是又怕长时间运行,记录文件太大,导致写爆存储,故想之保留记录文件的最后N行来保证存储不会被写爆。       故开始问度娘要解决方案,网上提供了head和tail两个命令。      1. head命令       head命令用于显示文件文字区块,可以显示文件的前N行,例如:head -10 test.txt

2017-06-29 10:41:02 11441

原创 linux下导致内存使用量增长的shell命令及手动释放内存的方法

最近在客户现场发现arm linux嵌入式设备在运行一段时间后,设备物理内存使用量接近100%,分析发现和脚本程序中长时间循环使用几个shell命令有关。       1. cp        复制命令,使用cp命令,会使得linux的物理内存使用量和缓存使用量增加,可在top命令中查看内存使用情况。       2. mv       移动或重命名文件命令,和cp类似,使用mv命

2017-06-27 16:23:44 5281

原创 linux下查看系统内存使用情况的几个命令

最近在客户现场运行的arm linux设备出现了死机情况,由于接触linux嵌入式设备时间不长,遇到该问题后觉得束手无措。后领导提示说查看其他没有死机设备的系统资源使用情况,下面介绍下我用到的那些命令:       1. top       top命令可实时查看系统的内存使用情况,有多少物理内存已经使用了,多少物理内存空闲,多少缓存,CPU的使用情况,每个进程的进程号是多少,占用的虚拟内存

2017-06-27 16:08:03 19746

原创 libusb移植到ARM linux

环境:ubuntu16.04 x64版本, arm-linux-gcc (Sourcery G++ Lite 2010.09-50) 4.5.11. 下载源码 https://sourceforge.net/projects/libusb/2. 解压源码 tar -xvf  libusb-1.0.20.tar.bz23. 进入解压后的文件目录,编译器配置    ./configur

2017-05-16 13:48:13 1755

原创 ARM开发板挂载Ubuntu主机的NFS共享文件夹

ubuntu主机环境 ubuntu16.04 x64 IP 192.168.1.225,arm开发板 ARM9,linux 2.6.37,busybox文件系统,IP 192.168.1.222.1. 在ubuntu下安装NFS服务apt-get install nfs-common nfs-kernel-server2. 创建共享目录mkdir /nfs 此处目录可

2017-04-27 18:16:49 2938

原创 C/C++编译器预定宏使用

在C/C++编译器中,会有编译器级别的预定义宏,__FILE__,__LINE__,__FUNCTION__,__DATE__,__TIME__等。       下面来一一介绍这几个宏的含义:       __FILE__ 当前文件的文件名,linux下GCC只有文件名,而在windows下GCC会包含完整的路径,可通过编译选项设置为只有文件名;       __LINE__代码当

2017-04-27 14:09:29 1274

转载 C++向量vector 的使用

一. 向量的介绍         向量vector是一种对象实体, 能够容纳许多其他类型相同的元素, 因此又被称为容器。 与string相同, vector同属STL(Standard Template Library, 标准模板库)中的一种自定义的数据类型, 可以广义上认为是数组的增强版。         在使用它时, 需要包含头文件 vector.          容器与数组相比

2017-04-27 09:39:57 775

原创 codeblocks调试功能异常问题

最近在使用codeblocks过程中,在线调试遇到些不能调试的问题,现在此处记录一下,主要有如下几种情况:1. 工程目录不能有中文和空格,更换工程到没有中文和空格的目录(例如:某个盘符的根目录)即可;2. 调试模式时,编译选项需要带-g,如果没有增加即可调试;3. 工程中需要打开一个c或cpp文件,并在设置断点,否则程序会像正常运行一下,直接结束了;4. 打开的代码需要全部展开,不

2017-04-26 16:55:05 2064 1

转载 C\C++调试技巧

在调试代码时,有时会遇到报错的的函数是没问题,而是调用它的函数传入的参数是异常的,而又没法通过代码准确定位到具体调用的位置的情况,特别是对一些基础函数,往往会出现这种情况,因为工程中调用它们的地方太多,而且有时会漏掉返回值检测。这里给出一个快速找出调用者是谁的方法。//filename: tt.h#include int foo(int p);#define foo(_a) \

2017-04-26 09:37:24 344

原创 ubuntu16.04交叉编译Poco1.7.8 for arm

环境:ubuntu16.04 x64, arm-linux-gcc  (Sourcery G++ Lite 2010.09-50) 4.5.1首先,做编译前准备,编译安装OPENSSL,STLport等包,为编译Poco准备依赖包(由于我不使用MySQL和ODBC,所以没有交叉编译安装,需要的可以自行交叉编译安装)。1. OPENSSL的交叉编译安装(以1.0.0e为准)源码下

2017-04-11 10:36:21 2564

原创 ubuntu16.04源码编译安装Poco1.7.8

环境:ubuntu16.04 x64, GCC 5.4.0 20160609首先,做编译前准备,编译安装OPENSSL等包,为编译Poco准备依赖包。1. OPENSSL的编译安装(以1.0.0e为准)        源码下载地址:https://www.openssl.org/source/openssl-1.0.0e.tar.gz        下载后按如下指令进行编译安装:

2017-04-11 10:15:15 1376

原创 Linux下二进制方式读写文件

最近在做项目需要把内存数据写入到文件中,然后再从文件中以二进制方式读出使用。由于接触Linux开发时间不长,开始询问度娘,度娘的回答是使用以wb方式打开文件后使用fwrite把数据写入文件,以rb方式打开文件后使用fread读出数据。下面详细介绍一下相关的函数极其使用说明。需要用的头文件为stdio.h,函数结构为fwrite、fread、fseek、ftell。1. fwrite

2017-03-29 17:31:30 5228

原创 ARM-linux下的代码覆盖率报告生成

最近做arm-linux 下的项目,需要生成代码单元测试。百度查到的基本都是x86架构下的生成方式,使用gcc的-g -Wall --coverage选项,并使用lcov,genhtml配合生成html格式的代码测试覆盖率报告,但是我在把代码用交叉编译工具编译后,放到ARM-linux下运行后,出现一些问题。下面简单介绍一下。       1. 我在把可执行文件下载到ARM-linux上执行程

2017-03-28 09:58:10 887

转载 ubuntu16 安装RPM软件包

RPM软件包英文原义:Redhat Package Manager中文释义:红帽RPM软件包管理器RPM是RedHat专用的软件包。对于RPM软件包,ubuntu需要先将其转换为deb包,然后安装。具体步骤如下:1,安装alien转换软件apt-get install alien2,将RPM包转换为deb安装包sudo ali

2017-03-14 17:52:18 8163

谷歌开源项目pigweed代码

Pigweed是嵌入式目标库的开源集合,也就是我们所称的模块。这些模块是构建块和基础架构,可在无MMU的32位微控制器(如STMicroelectronics STM32L452或Nordic nRF52832)上进行更快,更可靠的开发。

2020-06-04

空空如也

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

TA关注的人

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