自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(66)
  • 资源 (10)
  • 收藏
  • 关注

转载 一文带你搞定TCP重传

发送方在发送数据时设置一个定时器,当超过指定时间后如果还没有收到接收方的ACK响应,就会重发数据包。

2023-03-04 12:00:03 1322

原创 TFTP协议详解

TFTP协议详解。参考文章:https://www.pianshen.com/article/822220160/RFC:https://www.rfc-editor.org/rfc/rfc1350

2023-02-22 16:14:04 1828

原创 Linux定时工具--crontab

以下都来源man手册。Crontab命令man 1 crontab如何使用crontab命令CRONTAB(1) General Commands Manual NAME crontab - maintain crontab files for individual users (Vixie Cron) 每个用户有单独的...

2020-08-15 09:50:27 691

原创 Linux 工具--logrotate

以下内容来自logrotate的man手册。LOGROTATE(8) System Administrator's Manual LOGROTATE(8)NAME logrotate ‐ rotates, compresses, and mails system logsSYNOPSIS logrotate [-dv] [-f|--force] [-s...

2020-08-15 09:42:29 410

原创 Linux 守护进程日志文件处理--logrotate+crontab

守护进程离不开日志,日志多了就有想办法压缩、备份、删除。如果守护进程自带此功能,那么问题就没有了。如果没有此功能,可以使用其它方法:1.使用syslogsyslog带日志整理的功能;2.logrotate+crontab不想把日志交给syslog,想自己处理?logrotate可以帮这个忙。root@debian:@@@# cat /etc/logrotate.conf # see "man logrotate" for details# rotate log file..

2020-08-06 17:45:05 597

原创 Source Insight快捷键大全

Source Insight快捷键大全注释代码: Ctrl+8去掉注释代码:Ctrl+Shift+8//上面2个自行添加的退出程序 : Alt+F4重画屏幕 : Ctrl+Alt+Space完成语法 : Ctrl+E复制一行 : Ctrl+K恰好复制该位置右边的该行的字符 : Ctrl+Shift+K复制到剪贴板 : Ctrl+Del剪切一行 : C...

2020-04-24 11:12:06 469

原创 OpenSSL编程的基本步骤

OpenSSL编程的基本步骤===================================== 启用加密 ====================================== 客户端必备过程: 0. 变量定义 BIO *conn; /*底层socket连接*/ SSL *ssl; /*SSL连接*/ S...

2020-04-22 09:34:37 1277

原创 Linux/Unix 编程 —— System V信号量

1 介绍信号量提供一种访问机制,让一个临界区同一时间只有一个线程在访问它, 也就是说信号量是用来调协进程对共享资源的访问的,防止出现因多个程序同时访问一个共享资源而引发的一系列问题。其中共享内存的使用就要用到信号量。一个信号量是一个由内核维护的整数,其值被限制为大于或等于0。在-一个信 号量上可以执行各种操作( 即系统调用),包括:将信号量设置成-一个绝对值; 在信号量当前值的基础上...

2020-03-31 15:29:05 318

原创 Linux/Unix 进程间通信IPC

1 IPC 工具分类图43-1总结了UNIX系统上各种通信和同步工具,并根据功能将它们分成了三类。通信:这些工具关注进程之间的数据交换。 同步:这些进程关注进程和线程操作之间的同步。 信号:尽管信号的主要作用并不在此,但在特定场景下仍然可以将它作为一种同步技术。更罕见的是信号还可以作为一种通信技术:信号编号本身是一种形式的信息, 并且可以在实时信号上绑定数据(一个整数或指针)尽管其中...

2020-03-31 10:26:46 270

原创 LZ77 压缩和解压缩

LZ77压缩算法编码原理详解(结合图片和简单代码)转载自:https://www.cnblogs.com/junyuhuang/p/4138376.html前言  LZ77算法是无损压缩算法,由以色列人Abraham Lempel发表于1977年。LZ77是典型的基于字典的压缩算法,现在很多压缩技术都是基于LZ77。鉴于其在数据压缩领域的地位,本文将结合图片和源码详细介绍其原理。...

2020-02-21 13:31:26 1630 1

原创 如何在man手册中查找C/C++结构体

【问题】如何在man手册中查找C/C++结构体参考:How to find man pages for C structs (struct sockaddr_in)?方法一最简单的方法,Google根据搜索到的结果可知,要查找的关键字在7手册页的ip项中方法二快速搜索man -k keyword暴力搜索,查找所有man手册man -K keyword...

2019-11-25 10:20:45 1750

原创 客户端服务器断开连接后,新连接在描述符号不变情况下,是否可以继续通信

客户端服务器断开连接后,新连接在描述符号不变情况下,是否可以继续通信?当然可以,描述符指定了一个socket通信,描述符号相同,无论socket使用方式是否变化或者重新连接,使用原来描述符的部分不受影响。测试程序:客户端:#include <sys/types.h>#include <errno.h>#include <sys/socket.h&...

2019-11-21 17:18:22 337

原创 shell 中使用>/dev/null后对性能的影响

一个测试脚本:#!/bin/shi=1for((i=1;i<100000;i++))do echo $idone测试无输出重定向的时间:bash-2.05b# time ./a.sh......real 0m14.247suser 0m0.890ssys 0m0.170s测试输出重定向到/dev/null情况...

2019-11-15 14:42:21 433

原创 Linux 指定编译时动态库路径和运行时动态库路径--解决报错symbol lookup error和cannot open shared object file

动态库的两种路径linux指定动态库路径包括:1.指定编译时动态库路径;2.指定运行时动态库路径。后文提到的动态库路径都是指的是这两种路径。众所周知,Linux动态库的默认搜索路径是/lib和/usr/lib(不管是编译还是运行都会默认搜索这两个路径)。动态库被创建后,一般都复制到这两个目录中。当程序执行时需要某动态库,并且该动态库还未加载到内存中,则系统会自动到这两个默认搜索路径中去查找相应...

2019-11-15 09:58:36 4721

原创 gcc -fpic 和 -fPIC 参数问题

gcc -fpic 和 -fPIC 参数问题目的:生成位置无关的代码。位置无关代码(Position-Independent Code),则产生的代码中,没有绝对地址,全部使用相对地址,故而代码可以被加载器加载到内存的任意位置,都可以正确的执行。这正是共享库所要求的,共享库被加载时,在内存的位置不是固定的。如果不加-fPIC,则加载.so文件的代码段时,代码段引用的数据对象需要重定位,...

2019-11-14 17:16:13 3313

原创 GDB -fprofile-arcs -ftest-coverage 选项

-fprofile-arcs -ftest-coverage 选项的使用参考:https://gcc.gnu.org/onlinedocs/gcc-4.4.1/gcc/Debugging-Options.html-fprofile-arcsAdd code so that program flowarcsare instrumented. During execution t...

2019-11-14 14:09:35 447

原创 Linux 程序性能分析与优化

参考:https://linuxtools-rst.readthedocs.io/zh_CN/latest/advance/03_optimization.html目录1. 分析系统瓶颈2. 分析内存瓶颈3. 分析IO瓶颈4. 分析进程调用5. 优化程序代码 gprof使用步骤6. 其它工具1. 分析系统瓶颈系统响应变慢,首先得定位大致的问题出在哪里,...

2019-10-17 10:41:52 1600

原创 SMTP协议的常用命令和应答码

从前面的通讯模型可以看出SMTP协议在发送SMTP和接收SMTP之间的会话是靠发送SMTP的SMTP命令和接收SMTP反馈的应答来完成的。在通讯链路建立后,发送SMTP发送MAIL命令指令邮件发送者,若接收SMTP此时可以接收邮件则作出OK的应答,然后发送SMTP继续发出RCPT命令以确认邮件是否收到,如果接收到就作出OK的应答,否则就发出拒绝接收应答,但这并不会对整个邮件操作造成影响。双方如此反...

2019-09-30 16:47:37 3682

转载 CentOS6.3 Samba安装配置、多用户、加域

第一步:安装相关组件yum install samba4* krb5* -y samba4是什么就不用说了,krb5是为了以后将samba加入AD域而需要用到 KRB(Kerberos协议)主要用于计算机网络的身份鉴别(Authentication), 其特点是用户只需输入一次身份验证信息就可以凭借此验证获得的票据(ticket-granting ticket)访问多个服务,即SSO(S...

2019-09-23 09:28:55 1007

原创 LINUX 大文件分包压缩和批量解压命令TAR // TAR 排除指定目录

大文件分割压缩分割命令:split 命令  功能说明:切割文件。  语  法:split [--help][--version][-<行数>][-b <字节>][-C <字节>][-l <行数>][要切割的文件][输出文件名]  补充说明:split可将文件切成较小的文件,预设每1000行会切成一个小文件。  参  数:...

2019-09-06 14:00:10 729

原创 使用vim去掉代码中的中文字符

有时粘贴代码到Linux中,一些隐藏的中文空格导致程序不正常。可以使用以下命令进行替换成空格就好了。# sed-i's/\xc2\xa0/\x20/g' test.c可以使用以下命令直接删除中文空格。# sed-i's/\xc2\xa0//g' test.c...

2019-08-08 15:19:23 716

原创 Linux C —— c程序中获取shell脚本输出(如获取system命令输出)

目录1.使用临时文件1.1 使用shell的重定向1.2 freopen标准输出到文件2. 使用匿名管道3. 使用popen4. 小结1.使用临时文件1.1 使用shell的重定向首先想到的方法就是将命令输出重定向到一个临时文件,在我们的应用程序中读取这个临时文件,获得外部命令执行结果,代码如下所示: #define CMD_STR_LEN 10...

2019-08-08 15:17:11 2602 1

转载 Linux实用工具—— gprof 统计代码行执行次数、时间

gprof1.1简介gprof实际上只是一个用于读取profile结果文件的工具。gprof采用混合方法来收集程序的统计信息,他使用检测方法,在编译过程中在函数入口处插入计数器用于收集每个函数的被调用情况和被调用次数;也使用采样方法,在运行时按一定间隔去检查程序计数器并在分析时找出程序计数器对应的函数来统计函数占用的时间。Gprof具有以下优缺点:1)优点:...

2019-08-02 15:36:23 1339

原创 Linux实用工具—— 静态分析C语言生成函数调用关系的利器cflow

目录cflow的安装和使用cflow的安装cflow的使用文本输出转成dot文件dot文件生成图片 参考连接:cflow的安装和使用cflow的安装cflow是一款静态分析C语言代码的工具,通过它可以生成函数的调用关系。和calltree不一样,cflow有独立的网页介绍它(https://www.gnu.org/software/cflow/#TO...

2019-08-02 11:11:23 1571

原创 Linux C —— 三种链接属性(external、internal、none)

一、问题引出当多个源文件链接在一起,我们如何处理相同名字的标识符?假设多个源文件均含有变量a,那么它的值到底采用哪个源文件定义的值呢?这就涉及到标识符的链接属性。二、对象链接属性针对标识符而言,对象通常是变量、函数名、形参。三、分类链接属性(linkage)分为三种——外部(external)、内部(internal)、无(none)3.1 外部(external)判...

2019-07-05 16:52:25 2187

转载 解决SecureCRT远程登陆Linux误按ctrl+s锁屏

解决远程登陆Linux误按ctrl+s锁屏转自:https://blog.slogra.com/post-198.html 很多刚从windows转移到linux上来工作的朋友,在用vi/vim编辑文件时,常常会习惯性的按下Ctrl+s来保存文件内容.殊不知这样按下去后面会造成整个终端不响应了,ssh连接还好说,直接关闭ssh连接再重新连接就可以了,但在服务器前使用的话,就只能眼睁睁的看...

2019-07-04 15:01:26 1734

原创 linux C —— 通用链表(整理自Linux内核链表)

目录1. 简介1.1 内核链表的思想1.2 内核链表的技术原理:2. 基于内核链表的通用链表2.1 list.h2.2 test.c3. 内核链表4. 文件下载1. 简介在Linux源代码树的include/linux/list.h文件中,采用了一种类型无关的双循环链表实现方式。其思想是将指针prev和next从具体的数据结构中提取出来构成一种通用的"...

2019-06-18 00:44:35 2289 1

原创 Linux——内存文件系统

Linux内存文件系统:可满足高IO的要求ramdisk: 基于虚拟在内存中的其他文件系统(ex2fs)。 挂载方式:mount /dev/ram /mnt/ramdisk ramfs: 物理内存文件系统,只存在于物理内存中。其大小也不是固定的,而是随着所需要的空间动态得增减。 挂载方式:mount -t ramfs none /mnt/ramfs -o maxsize=2000 ...

2019-06-03 14:55:50 9041

原创 Linux C编程 —— 通过文件描述符获得文件路径

文件描述符可以通过open等函数获得;文件流可以通过fopen获取,然后通过fileno获取文件流对应的文件描述符。#include "apue.h"intmain(void){ char name[L_tmpnam], line[MAXLINE]; FILE *fp; struct stat statbuf; char buf[10...

2019-06-01 16:28:02 1231

原创 Linux C编程——结构体操作注意事项(深拷贝、偏移量)

在结构体中,需要考虑的有:内存对齐,下面例子可以看到; 结构体含一级、二级指针,有深拷贝和浅拷贝之分; s.i和s->i是计算偏移量,在CPU中计算,不会操作内存。有一个宏 offoset 可以计算结构体成员偏移:SYNOPSIS #include <stddef.h> size_t offsetof(type, member);...

2019-05-31 16:48:05 568 2

原创 Linux 编程——获取时间戳,精确到毫秒

获取时间戳,精确到毫秒/* 日志时间戳,精确到毫秒 */char* get_stime(void){ static char timestr[200] ={0}; struct tm * pTempTm; struct timeval time; gettimeofday(&time,NULL); pTempTm = ...

2019-05-31 10:56:24 7562

原创 Linux C编程——strtok_r 和 strtok 函数

一、简介NAME strtok, strtok_r - extract tokens from stringsSYNOPSIS #include <string.h> char *strtok(char *str, const char *delim); char *strtok_r(char *s...

2019-05-31 09:40:33 685

原创 Linux C 编程 —— fcntl、ioctl和stat区别

1、 fcntl#include <unistd.h>#include <fcntl.h>int fcntl(int fd, int cmd, ... /* arg */ );fcntl函数可以改变某进程中一个已打开的文件的属性,可以重新设置读、写、追加、非阻塞等标志(这些标志称为File Status Flag),而不必重新open文件。通过fcntl...

2019-05-22 09:21:17 592

原创 unix环境高级编程第三版(apue)源代码编译及使用

(1)下载源代码,可以去官网下载:http://apuebook.com/code3e.htm(2)解压缩源代码文件:tar -zxvf src.3e.tar.gz(3)安装libbsd-devel,否则编译会报错不通过,会提示编译threads文件夹里面的内容时报错:/tmp/ccvzZHtf.o: In function `thr_fn':barrier.c:(.text+0x...

2019-05-17 23:25:28 507

原创 Linux C 编程——使用json-c库读取json格式的配置文件

1. 简介:参考:https://github.com/json-c/json-c/wikihttps://github.com/json-c/json-chttps://blog.csdn.net/u014530704/article/details/72674642?utm_source=copyhttps://blog.csdn.net/w_ww_w/article...

2019-05-17 15:14:00 7453

原创 Linux C 开发 配置文件读写库 Libconfig

一:什么是Libconfig?程序开发过程中往往很多参数需要放在配置文件中,因为这样可以避免更改代码重新编译的问题。通常我们可以通过自己读init文件来实现,不过已经有很多人做了这方面的东西,可以借用,Libconfig就是其中之一。Libconfig是一个用于处理结构化配置文件的简单库。 此文件格式比XML更紧凑,更易读,更适合内存受限的设备。 与XML不同,它是类型感知的,因此不必在应...

2019-05-17 10:26:04 3884

原创 Linux C 开发 —— #if、#ifdef、#if defined之间的区别

https://www.cnblogs.com/wuchanming/p/4057630.html#if的使用说明#if的后面接的是表达式#if (MAX==10)||(MAX==20) code... #endif它的作用是:如果(MAX==10)||(MAX==20)成立,那么编译器就会把其中的#if 与 #endif之间的代码编译进去(注意:是编译进去,不是执行!!)#...

2019-05-10 15:58:17 3004

原创 C语言结构体成员偏移量的计算

请参考https://blog.csdn.net/coding__madman/article/details/51556411计算方式:1. 使用宏函数:#include <stddef.h> size_t offsetof(type, member);2. 自己计算偏移(B-A形式)测试代码如下:#include <stdi...

2019-04-11 15:29:52 1834

原创 Linux 三剑客 —— sed/grep/awk

对Linux的操作就是对文件的处理,那么怎么能更好的处理文件呢?这就要用到我们上面的三剑客命令。三剑客就是普通的命令,有的把他们叫做工具,在我看来都一样。而正则表达式就好比一个模版。三剑客能读懂这个模版。就这么简单。注意只有三剑客才能读懂这个模版哦!三剑客的功能非常强大,但我们只需要掌握他们分别擅长的领域即可:grep擅长查找功能,sed擅长取行和替换。awk擅长取列。三个命令的运用形式...

2019-03-27 16:05:56 819

转载 Linux 系统编程 —— GCC常用命令

目录1简介2简单编译2.1预处理2.2编译为汇编代码(Compilation)2.3汇编(Assembly)2.4连接(Linking)3多个程序文件的编译4检错5库文件连接5.1编译成可执行文件5.2链接5.3强制链接时使用静态链接库1简介GCC 的意思也只是 GNU C Compiler 而已。经过了这么多年的发展,GCC 已经不仅...

2019-03-11 10:52:49 201

list.h.zip

详见《linux C —— 通用链表(整理自Linux内核链表)》

2019-06-18

gdb调试官方文档

gdb调试官方文档官方文档,PDF清晰版,带目录,文字可选择。

2019-01-28

图书管工作流程

UML建模,前期分析,图书管理系统,描述图书管的工作流程。

2015-03-06

使用tomcat和dreamwear的网站设计

内含tomcat dreamwear jdk配置说明,并附简单用户登录网站设计教程, word版,有详细教程,适合初学者。

2013-09-24

基于C#的各种排序算法

精心整理的基于c#语言各种排序算法,内容丰富,代码简洁,欢迎朋友交流分享。

2013-09-05

基于人脸识别的防盗视频监控系统研究

基于人脸识别的防盗视频监控系统研究,是我的研究生毕业论文,内含系统的多种算法以及部分源代码。喜欢的朋友互相交流。

2013-09-05

选课数据库

Access数据库,上次传的没附带数据库,新手,谅解

2013-07-02

学生选课系统

选课,查询成绩,修改成绩,成绩统计,小程序,自己做着玩的

2013-07-02

空空如也

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

TA关注的人

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