自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(91)
  • 资源 (7)
  • 收藏
  • 关注

原创 《UNIX网络编程卷1》--笔记

1. 简介POSIX:Portable Operating System Interface of UNIX,即可移植操作系统接口ISO:International Organization for Standardization,即国际标准化组织IEC:International Electrotechnical Commission,即国际电工委员会Inc:the Institut...

2018-05-23 17:04:16 1381

原创 《linux命令行与shell编程大全》--读书笔记

1.初识Linux shell2.走进shell 1.进入命令行,CLI(command line interface),也叫Linux控制台 通过Linux控制台终端访问CLI Ctrl+Alt+F1~F7 注:tty:teletypewriter,指一台用于发送消息的机器 控制台的外观设置命令:setterm 2.通过图形...

2018-05-23 11:59:17 8766

原创 doxygen入门

一、简介doxygen是解析源代码并生成文档主程序。有关更详细的用法信息,请参阅官网https://www.doxygen.nl/manual/starting.html,它有图形界面用来编辑配置信息,在MAC OS 中可以直接双击图标运行步骤1:检查doxygen是否支持您的编程语言默认支持以下语言:C,C ++,C#,Objective-C,IDL,Java,VHDL,PHP,Python,Fortran和D。可以配置某些文件类型扩展名以使用某些解析器。另外,通过使用预处理程序,可以支持完

2020-09-14 00:23:58 34

原创 一个越界导致的概率性重启问题排查

问题:现场设备出现了频繁重启问题,生成的coredump文件显示有好几个线程导致重启,其中4个都显示布防线程发出了signal 11布防线程相关代码:int RADAR_COORDINATE_SERVER::PicServ_SDK_Recv(int sockfd,char *pbuf, UINT32 buflen, UINT32 *dwOutlen){ ... NET...

2020-04-22 19:50:32 63

原创 链接时缺少stdc++.so.6库

问题描述:算法同事给了dsp同事新的算法库(一堆),dsp同事把需要的拿出来,编译报了一堆错:/opt/hisi-linux/x86-arm/arm-hisiv300-linux/bin/../lib/gcc/arm-hisiv300-linux-uclibcgnueabi/4.8.3/../../../../arm-hisiv300-linux-uclibcgnueabi/bin/ld: wa...

2020-04-22 19:30:48 296

原创 7、类

7.1 抽象数据类型struct Sales_data { //构造函数 Sales_data() = default; Sales_data(const std::string &s):bookNo(s){} Sales_data(const std::string &s,unsigned n,double p): bookNo(s),uni...

2020-04-07 00:34:26 49

原创 3、字符串、向量和数据

3.1 命名空间的using声明形式:using namespace::name;3.2 标准库类型string表示可变长的字符序列size()的返回值值类型是string::size_type,一个无符号的整数string对象和字符字面值及字符串字面值混在一条语句中使用时,必须确保每个加法运算符两侧对象至少一个时string,如:string s6 = s1...

2020-03-08 23:23:25 76

原创 文本比较工具--perforce Helix Merge

跟svn自带的工具比较起来,效果好一点svn自带工具:perforce Helix Merge:

2020-02-14 09:40:46 100

原创 2、变量和基本类型

2、变量和基本类型1.算术类型C++规定sizeof(int)>=sizeof(short),sizeof(long)>=sizeof(int),sizeof(long long)>sizeof(long),long long是C++11中新定义的double比float扩展了精度值,计算代价相差无几甚至更快,long double基本没必要的且带来的耗时也不容忽视需...

2019-11-11 00:03:57 36

原创 程序员节

听说今天发博客会有一枚1024勋章,那我先占个坑

2019-10-24 14:08:31 41

原创 6.系统数据文件和信息

1、引言历史原因数据文件通常是ASCII文本文件,,顺序扫描很花时间,我们需要非ASCII文本格式存放这些文件,但仍向使用其他文件格式的应用程序提供接口2、口令文件unix系统口令文件字段包含在pwd.h中的passwd结构中,历史原因,这是一个ASCII文件(/etc/passwd)通常包含root项,用户ID是0加密口令字段包含一个占位符某些字段可能为空shell字段包...

2019-09-15 22:10:02 70

原创 5.标准IO

1、引言标准IO库有ISO C标准说明标准IO库处理很多细节:包括缓冲区分配、优化的块长度执行IO2、流和FILE对象当用标准IO库打开或创建一个文件时,已使一个流与一个文件相关联对于ASCII字符集,一个字符用一个字节表示,对于国际字符集,一个字符可用多个字节表示。标准IO文件流可用单字节或多字节字符集。流的定向决定了所读写的字符是单字节还是多字节(创建时未定向),若在未...

2019-08-31 19:38:05 52

原创 04.文件和目录

1、stat()、fstat()、fstatat()、lstat()int stat(const char *path, struct stat *buf);int fstat(int fd, struct stat *buf);int lstat(const char *path, struct stat *buf);int fstatat(int dirfd, const char *...

2019-08-30 15:21:44 57

原创 07.进程环境

1、main()函数内核执行C程序时(使用一个exec函数),先调用一个特殊的启动例程(编译器调用连接编辑器,连接编辑器设置启动例程地址),启动例程从内核取得命令行参数和环境变量值。2、进程终止8种方式1.main()返回2.exit()3._exit()或_Exit()4.最后一个线程从启动例程返回5.最后一个线程调用pthread_exit()6.调用abort()...

2019-08-28 20:30:39 65

原创 08.进程控制

1.进程标识进程ID是唯一的,但也是可复用的,大部分系统采用延迟复用算法ID为0的通常是调度进程,常被称为交换进程,是内核的一部分,不执行磁盘上的程序(所以也叫系统进程)进程ID为1的通常是init进程,自举过程由内核调用,超级用户特权运行,但是普通的用户进程,不会终止#include <sys/types.h>#include <unistd.h>pid...

2019-08-28 20:30:05 45

原创 10.信号

信号是软中断,提供了一种处理异步事件的方法1.信号概念以SIG开头的,如夭折信号SIGABRT,闹钟信号SIGALRM等,linux 3.2.0支持31种,Solaris 10支持40种,POSIX实时扩展支持用户自定义的信号很多条件可以产生信号终端按键:如CTRL+C:SIGINT硬件异常:除数为0、无效内存引用:SIGSEGVkill()函数和kill命令某些软件发生,如...

2019-08-26 21:34:35 46

原创 14.高级IO

1.非阻塞IO设置方法1.open()时指定O_NONBLOCK标志2.已经打开的可用fcntl()打开O_NONBLOCK标志说明:POSIX标准规定无数据可读时read()返回-1,,errno=EAGAIN,文件结束返回02.记录锁(字节范围锁)商用UNIX系统提供了记录锁机制(使用数据库的前提),POSIX标准的基础是fcntl()方法,linux3.2.0支...

2019-08-26 20:23:16 38

原创 13.守护进程

因为没有控制终端,在后台运行,所以需要了解出现问题时如何报告出错情况。1.守护进程的特征1.1 父进程ID为0的通常是内核进程(系统引导装入过程的一部分而启动)kswapd:内存换页守护进程flush:内存达到最小阈值时(也定期)将脏页面冲洗至磁盘sync_supers:定期将文件系统元数据冲洗至磁盘jbd:ext4文件系统中的日志功能1.2 进程1通常是init,是系...

2019-08-24 17:14:21 64

原创 线程不设置成分离状态的隐患

引言:入职培训的时候讲课老师说建议大家在创建线程后马上将它设置为分离状态,否则它结束后资源不会被回收。鉴于他前面说的有些话并不准确,所以这句话我也不怎么相信。1.然后我就翻开了《UNIX环境下高级编程》,在11.5节找到了下面这句话:在默认情况下,线程的终止状态会保存到对该线程调用pthread_join,如果线程已经被分离,线程底层存储资源可以在线程终止时被立即回收...

2019-08-24 12:05:50 117

原创 11.线程

1、线程标识线程比较int pthread_equal(pthread_t t1, pthread_t t2);RETURN VALUE: equal returns a nonzero value; otherwise returns 0.获取自身IDpthread_t pthread_self(void);线程创建int pthread_create(pthread_t *t...

2019-08-22 17:59:23 53

原创 12.线程控制

1.线程属性```cint pthread_attr_init(pthread_attr_t *attr);int pthread_attr_destroy(pthread_attr_t *attr);pthread_attr_setaffinity_np();pthread_attr_setschedparam();pthread_attr_setstackaddr();//设置起始...

2019-08-22 17:58:55 41

原创 CMake -语法摘要

参见《CMake practice》基本语法PROJECT指令的语法:PROJECT(projectname [CXX] [C] [Java])projectname 即工程名支持的语言列表可忽略生成了两个变量 <projectname>_BINARY_DIR、_SOURCE_DIR、PROJECT_BINARY_DIR、PROJECT_SOURCE_DIR,在外部编译...

2019-08-20 17:20:18 42

原创 shell编程--正则表达式

1.BRE模式1.1 特殊字符.*[]^${}\+?|()一定要使用需要转义. :匹配除换行符外的任意单个字符[]:匹配某个特定字符(必须匹配到)sed -n '/[ch]at/p' data6^:锁定到行首echo "The book store" | sed -n '/^book/p'$:锁定到行尾sed '/^$/d' data5 #过滤掉空白行...

2019-08-20 15:51:38 48

原创 shell编程 笔记6 --创建函数

1.基本的脚本函数1.1 创建并使用函数#!/bin/bashfunction f1 { #创建方式1:使用function关键字 echo "This is an example of a function1"}f2() { #创建方式2:使用括号 echo "This is an example of a function2"}f1;f22.返回值...

2019-08-20 11:40:35 48

原创 expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘struct’

这篇准备长期更新…1.在编译时遇到错误错误: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘struct’src/cli_socket_handle.c: 在函数‘client_login’中:...这种错误第一次遇到肯定很懵逼,根据多年的调试经验,很大可能是某个头文件不小心多打了某些没有意义的字符串,比如(倒数第...

2019-08-15 11:13:11 409

原创 vscode插件 -----C语言

C/C++ for Visual Studio CodeC/C++ Clang Command AdapterC++ Intellisense系统推荐,就不说了C-family Documentation Comments输入/**后回车自动添加注释的常用字段sftp sync extension for VS Code个人觉得必备,在本地很云主机之间传...

2019-08-04 19:28:51 13755

原创 在deepin上安装scrcpy--安卓投屏软件

先看一下效果吧1.游戏界面2.视频界面可以自动横屏,感受不到卡顿,帧率可以设置(据说)

2019-08-03 23:51:27 2029

原创 sqlite3----第一天

1.编译1.获取源码:wget https://www.sqlite.org/2019/sqlite-autoconf-3280000.tar.gz2.解压源码包tar xvf sqlite-autoconf-3280000.tar.gzcd sqlite-autoconf-3280000/sudo apt-get install libreadline-dev3.检查配置选项...

2019-07-08 22:46:58 157

原创 初识sed与gawk

1.sed流编辑器 一次从输入中读取一行数据。 根据所提供的编辑器命令匹配数据。 按照命令修改流中的数据。 将新的数据输出到 STDOUT格式:sed options script file举例:1.sed -e 's/brown/green/; s/dog/cat/' data1.txt2.sed -f script1.sed data1.txt1.gawk程序 定...

2019-06-21 00:18:55 65

原创 shell编程 笔记5 --处理用户输入

1.命令行参数1.1 通过位置参数获取,例如:#!/bin/bashtotal=$[ ${10} * ${11} ] #命令行参数得用空格隔开echo The tenth parameter is ${10} #超过9个得用{}1.2 读取脚本名name = $(basename $0) #basename返回不带路径的脚本名称1.3 测试参数if [...

2019-06-20 17:31:11 45

原创 shell编程 笔记4 --更多结构化命令

1. for1.1 读取列表中的值(for 循环假定每个值都是用空格分割的)例如:#!/bin/bashfor test in Alabama Alaska Arizona Arkansas California Coloradodo echo The next state is $testdone1.2 读取列表中的复杂值#!/bin/bash#注意下面这句...

2019-06-20 00:58:07 43

原创 shell编程 笔记3 --简单结构化命令

1.if-then语句例:#!/bin/bashcmd="cdss" #等号两边都不能有空格if type ${cmd}then echo command ${cmd} is supportedelse echo command ${cmd} if not supportedfiecho $cmd注意下面这样写是错的(命令退出状态码以外条件的测试...

2019-06-19 01:36:43 54

原创 shell编程 笔记2 --基本语法

1.基础语法下面是几个杂乱的例子(我尽可能让它包含更多的语法)使用变量#!/bin/bashecho -n "The time and date are": `date` #-n:不换行,引号可以不加,``之间视为命令echo "User info for userid: $USER" #出现美元符会被认为在引用一个变量,加\可避免echo UID: ${UID} ...

2019-06-17 01:41:25 42

原创 linux命令 笔记2

1.经常忘记的几个linux命令sort -t ‘:’ -k 3 -n /etc/passwd :对密码文件根据用户ID排序,-t指定区分键位置字符,-k排序其实位置tar -zxvf file.tgz :解压用gzip压缩过的文件grep -r hzq /etc:递归查找包含hzq的文件查看文件的几个常用命令:more、less、tail -n 2、head -n 2ps ...

2019-06-16 19:40:46 82

原创 time_t的类型

在毕设中用到了time_t的类型,但是发现在types.h里面没有找到它的具体定义,只知道是8个字节长度,于是写了下面这段代码想测试一下:#include <stdio.h>#include <time.h>#include <sys/types.h>int main(int argc,char *argv[]){ u_int64_t s1=(...

2019-05-15 16:45:13 5568 3

原创 关于stm32的几个基础问题

1.字节序一直想找一台大端字节序的主机验证浮点数的存储方式,可以stm32c8t6是小端字节序,如下图这里除了知道stm32f103c8t6这块芯片是小端字节序外,还发现单独一个\n串口不会换行,需要\r\n才能在串口助手打印换行stm32支持64位的数据,为了确保能获得64位的数据我们应该用int64_t或u_int64_t,不应该使用long int或long long...

2019-05-14 21:26:39 353

原创 bufferevent_socket_new()返回NULL

1.问题我有一段代码时这样写的,可以通过检测://为这个客户端分配一个 bufferevent,释放时关闭套接字,使用锁会失败?? struct bufferevent *bev = bufferevent_socket_new(base, fd,BEV_OPT_CLOSE_ON_FREE); assert(bev !=NULL);但是当我加上标志BEV_OPT_T...

2019-05-13 13:00:17 1552 3

原创 /usr/include/sys/types.h 中的宏

在/usr/include/sys/types.h中有一个宏是这样写的:#if defined __USE_LARGEFILE64 && !defined __ino64_t_definedtypedef __ino64_t ino64_t;# define __ino64_t_defined#endif第一次看到#if defined有点懵,不明白与#ifdef有什么...

2019-05-10 01:06:15 145

翻译 libevent -- 缓冲IO:evbuffer

原文:http://www.wangafu.net/~nickm/libevent-book/Ref7_evbuffer.htmllibevent 的 evbuffer 实现了为向后面添加数据和从前面移除数据而优化的字节队列1. 创建和释放 evbuffer1.1 创建struct evbuffer *evbuffer_new(void){ struct evbuffer *...

2019-05-08 12:53:26 230

原创 libevent--学习使用struct bufferevent

写入数据的时候通常的运行模式是1.决定要向连接写入一些数据,把数据放入到缓冲区中, 2.等待连接可以写入, 3.写入尽量多的数据, 4.记住写入了多少数据,如果还有更多数据要写入,等待连接再次可以写入libevent为此提供了一个通用的机制即bufferevent,在读取或者写入了足够量的数据之后调用用户提供的回调基于套接字的 bufferevent:使用 event_*接口作为后端...

2019-05-07 18:22:21 579

doxygen中文手册与源码

为了方便下载与学习,打包了doxygen的源码压缩包与相关中文手册。注:手册仅仅是对官方文档的翻译,英文足够直接阅读原文的小伙伴可直接阅读原文学习。

2020-07-27

p4vinst64.exe

一个比较漂亮的文本比较工具,见博客描述:https://blog.csdn.net/qq_36337149/article/details/104306901

2020-02-14

长理-通信原理-题库照片

长理的,通信原理的题库,老师上课给我们看过,拍下来的,我分了一下类,对复习还是有帮助的,如果平时没有花很多时间的话。

2018-10-16

长理-数字信号处理A-题库

长理的数字信号处理题库,整理了一下,反正要是对考试是肯定有用的,如果平时上课没怎么听的话,或者作业没怎么认真做的话

2018-10-16

长理-通信电子线路题库

长理的通信电子线路往年的两套题(后面会有很多原题),

2018-10-16

mplayer源码及移植步骤

压缩包里面提供了mplayer的源码及其移植的步骤,还附带了一个使用FIFO程序控制mplayer的一个程序,适合初学linux并发操作作为联系

2018-07-26

rand_list.rar

用QT写的一个抽奖的程序。打开一个txt文件,自动生成名字列表,点开始然后点停止抽取名字

2018-02-25

空空如也

空空如也

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

TA关注的人 TA的粉丝

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