- 博客(21)
- 收藏
- 关注
转载 【无标题】
表中序号后面的括号中是十进制的相对序号,从零开始。三次握手完成,两端因为各发送一个SYN而各占用一个序号,数据收发阶段,13发送一个21字节的数 据报,占用21个序号,1发送一个34字节的数据报而占用34个序号,断开连接阶段,两端因为各发送一个FIN而各占用一个序号。从表中可以看到,如果一端发送一个数据报后,不需要对端回应,紧接着发送第二个数据报,则这两个数据报实际上会ACK对端的同一个数据报,表中,13的第 一个ACK和(PSH ACK),都应答了1的(ACK,SYN)。
2023-11-24 10:32:28
113
翻译 linux 中的静态库与动态库
什么是库文件?库文件是事先编译好的方法的合集。比如:我们提前写好一些数据公式的实现,将其打包成库文件,以后使用只需要库文件就可以,不需要重新编写。源代码到可执行程序需要经历的几个步骤:编译-》汇编-》链接1,编译是把高级语言(如java、C)编写的程序转换成相应处理器的汇编语言程序的过程。2,汇编是把汇编语言的程序转换成目标系统的二进制代码(机器代码)的过程。3,链接是把汇编过程生成的多段机器代码组合成一个可执行程序。通过编译和汇编过程,每一个源文件将生成一个目标文件。连接器的作
2021-01-16 19:39:41
300
原创 LIBRARY_PATH和LD_LIBRAY_PATH的区别和用法
LIBRARY_PATH和LD_LIBRAY_PATH是Linux 系统下的两个环境变量。两者的区别是:LIBRAY_PATH用于在程序编译期间告诉链接器ld查找动态链接库时动态库的路径,例如,指定gcc编译需要用到的动态链接库的目录。设置方法如下:(其中LIBDIR1和LIBDIR2是两个库目录)export LIBRARY_PATH=LIBDIR1:LIBDIR2:$LIBRARY_PATHLD_LIBRARY_PATH用于在程序加载时告诉动态链接器ld-linux-x86-64.so.2
2021-01-15 21:07:29
3334
1
原创 shell 脚本手动执行加载程序没问题,放在定时任务了程序未拉起
今天在统信UOSv20 server版操作系统上,手动执行shell 脚本,可成功拉起etcd和java.但是当把脚本作为定时任务执行时,怎么也拉不起etcd和java.脚本内容:#!/bin/bashetcd_process=`ps -ef|grep 'etcd --config' | grep -v 'grep' | wc -l`if [ $etcd_process -lt 1 ];then nohup /waf/tools/etcd/etcd --config-file.
2021-01-08 09:02:12
638
转载 linux sed命令 批量替换目录下的所有文件
1.批量查找某个目录下包含待查找内容的行并显示查找内容在所在文件中的行号,例如:grep -rn "要查找的文本" ./2..批量查找并替换当前目录下的文件内容sed -i "s/要查找的文本/替换后的文本/g" `grep -rl "要查找的文本" ./`3.批量查找并替换任意文件夹下的文件内容。sed -i "s/要查找的文本/替换后的文本/g" `grep -rl "要查找的文本" /任意目录`...
2020-10-10 19:48:38
10843
原创 计算1~n之间所有整数的阶乘之和(不用递归和数学公式)
用程序实现1!+2!+3!+...+n!#include <stdio.h>#include <stdlib.h>int main(int argc,char *argv[]){ unsigned long sum = 0; unsigned int jiecheng = 1; if (argc < 2){ printf("there mus...
2019-11-04 21:05:23
1067
原创 C语言判断cpu内存(寄存器)是大端存储还是小端存储?
1 、写一个函数用来判断机器是大端存储吗?int is_big_endian(void) { union { uint32_t i; char c[4]; } e = {0x01000000}; return e.c[0];}2、如果是小端存储,写一个函数将数据转换成大端存储。unsigned int l2b(unsign...
2019-11-04 19:16:20
646
转载 (C语言实现)字符串/数组去重
第一种实现: 不新开数组, 也就是原地去重.#include <stdio.h>#include <string.h>void RemoveDuplicate(char str[]);int main(int argc,char *argv[]){ char str[128] = {0}; gets(str); RemoveDupl...
2019-10-13 10:48:38
1845
原创 字符串或字符数组逆序
#include <stdio.h>#include <string.h>void swap(char str[], int i, int j)//交换字符数组中下标为i,j位置的两个字符{ char temp; temp = str[i]; str[i] = str[j]; str[j] = temp;}void StringReverse(c...
2019-09-27 21:43:03
577
原创 华为上机真题 _10名学生成绩,划及格线
/*###题4 描述:10个学生考完期末考试评卷完成后,A老师需要划出及格线,要求如下:1.及格线是10的倍数;2.保证至少有60%的学生及格;3.如果所有的学生都高于60分,则及格线为60分输入:输入10个整数,取值0~100输出:输出及格线,10的倍数示例输入:61 51 49 30 20 10 70 80 90 99输出:50*/#include <stdio....
2019-09-17 20:20:45
449
原创 华为上机真题 _n盏灯,亮着的灯数
/* 题五:一条长廊里依次装有n(1≤n≤65535)盏电灯,从头到尾编号1、2、3、…n-1、n。每盏电灯由一个拉线开关控制。开始,电灯全部关着。有n个学生从长廊穿过。第一个学生把号码凡是1的倍数的电灯的开关拉一下;接着第二个学生把号码凡是2的倍数的电灯的开关拉一下;接着第三个学生把号码凡是3的倍数的电灯的开关拉一下;如此继续下去,最后第n个学生把号码凡是n的倍数的电灯的开关拉一下。n...
2019-09-03 11:06:47
714
原创 华为上机真题_算术运算
/*题3 通过键盘输入100以内正整数的加、减运算式,请编写一个程序输出运算结果字符串。 输入字符串的格式为:“操作数1 运算符 操作数2”,“操作数”与“运算符”之间以一个空格隔开。补充说明:操作数为正整数,不需要考虑计算结果溢出的情况.若输入算式格式错误,输出结果为“0”。要求实现函数:void arithmetic(const char * pInputStr, long lI...
2019-09-03 10:57:39
334
原创 华为上机真题_字符串压缩
/*题2 通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。压缩规则:1. 仅压缩连续重复出现的字符。比如字符串abcbc由于无连续重复字符,压缩后的字符串还是abcbc2. 压缩字段的格式为"字符重复的次数+字符"。例如:字符串xxxyyyyyyz压缩后就成为3x6yz要求实现函数:void stri...
2019-09-03 10:54:44
587
原创 华为上机真题_重复字母过滤
/*题1通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。比如字符串“abacacde”过滤结果为“abcde”。要求实现函数:void stringFilter(const char *pInputStr, long lInputLen, char *pOutputStr);【输入】 pInputStr:...
2019-09-03 10:52:47
278
原创 C语言用状态机来实现简单的密码开锁
功能描述:用户连续输入正确的密码则会开锁,如果密码输入过程错误则锁会退回到初始状态,重新键入密码,即:用户只需要连续输入正确的密码即可开锁(输入错误不用撤销、也不用删除)以上的分析和下面的代码来自《朱有鹏老师物联网大讲堂》的C语言高级篇,本人觉得采用状态机编程的这种思路比较新,值得回味,特保存以待后续参考学习。#include <stdio.h>// 给状态机定义状态集...
2019-01-24 11:20:36
1907
原创 C语言关键字static用法总结
在C程序总,static 关键字作为类型修饰符有两种用法。第一种用法,static 被用来修饰局部变量,形成静态局部变量。普通的局部变量(非静态局部变量)分配在栈上,而静态局部变量分配在数据段/bss段上。第二种用法,static 被用来修饰全局变量和函数,限定所修饰的全局变量和函数链接属性为内链接(只能在当前文件内被引用)实际工作中,接触的一个程序一般都有几十个,几百个,乃至上千个和...
2019-01-22 22:28:59
212
原创 制作和使用Linux系统下的静态链接库文件(.a)和动态链接库文件(.so)
一:静态链接库(1):制作静态链接库文件(.a) gcc -c ysq.c -o ysq.o ar -rc libysq.a ysq.o1>gcc 在编译时加上-c 选项,只编译不链接,生成.o的目标文件;2>然后使用ar工具进行打包成.a归档文件 3>库名不能随便乱起,一般...
2019-01-21 16:42:28
734
原创 用共用体(union)和指针来判断当前机器是大端存储(big endium)还是小端存储(little endium)
数据在内存中有两种存储方式:小端存储:数据的高位字节存储在内存的高地址处,低位字节存储在内存的低地址处。大端存储:与小端存储的方式正好相反我们(程序员)一般可以通过C语言中的union和指针来判断当前机器是采用大端存储还是小端存储。1. 使用union#include <stdio.h>union myunion{ int a; ...
2019-01-19 11:22:31
564
原创 MFC遍历文件和文件夹
一、获取指定目录下的文件夹和文件为例以获取D://test目录下当前文件夹和文件的路径为例[cpp] Void 类名::BrowseCurrentDir(CString strDir){CFileFind finder;CString strPath;BOOL bWorking = finder.FindFile(strDir);while(bWorking){bWor
2017-01-03 11:40:23
755
原创 CString::ReverseFind()和CString::Find()区别
Find()是从左往右查找;ReverseFind()是从右边往左查找,但是他们返回的地址都是从左往右数的。示例:[cpp]#include “stdafx.h”#include "afx.h"int main(int argc,char *argv){CString str = "abcdabcd";int a = str.Find('b');printf("
2017-01-03 11:30:53
9066
原创 C/C++经典笔试题
递归算法的应用:1.共有n级台阶,某人一次走一级或两级,问此人走完n级台阶共有多少种走法?#include int recursion(int n){ /*int steps[100]={0}; steps[1]=1; steps[2]=2; int i=0; if(n==1) return
2017-01-01 14:12:37
316
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人