自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

gaosaixing的博客

站的高,看得远

  • 博客(154)
  • 资源 (7)
  • 收藏
  • 关注

原创 工作中遇到的一些SVN恶心的问题处理方法,解决问题的小妙招来了!---致刚刚参加的工作的青涩的人

1、如果你已经参加了工作,难免而且一定要用户svn,很多公司都会选择它来管理公司的项目,这时懂的svn的用法会让你的工作事半功倍的。相信你一定为遇到上传失败、更新失败、clean up 失败而烦恼,反复折腾几下的你,气的一下子删掉工程文件夹,重新下载,这样就解决了,但是这只是解决了暂时,以后还会遇到,这种解决方法就很浪费时间。下面我针对我遇到的几种情况给大家介绍一下:1、如果我们用svn checkout 命令行下载代码到编译服务器上,下载的速度是很快的,但是如果我们不点击 svn upgrade w.

2021-01-17 19:54:56 423

原创 C 语言中结构体中成员所占内存的大小

在C99标准中,对于内存对齐的细节没有作过多的描述,具体的实现交由编译器去处理,所以在不同的编译环境下,内存对齐可能略有不同,但是对齐的最基本原则是一致的,对于结构体的字节对齐主要有下面两点: 结构体每个成员相对结构体首地址的偏移量(offset)是对齐参数的整 数倍,如有需要会在成员之间填充字节。编译器在为结构体成员开辟空间时,首先检查预开辟空间的地址相对于结构体首地址的偏移量是否为对齐参数的整数倍,若是,则存放该成员;若不是,则填充若干字节,以达到整数倍的要求。这句话中的对齐参数是取每个变量自身对

2020-10-20 23:01:22 3351

原创 工作中遇到的C中Sscanf 函数的用法详解

1 首先,看到sscanf时,会想到scanf,唯一不同的是前者是以固定的字符串为输入源;后者是以屏幕为输入源。2 sscanf函数的定义为 int sscanf(const char *str,const char * format,.......);函数说明,将参数str的字符串根据format字符串来格式化数据,转化后的结果存在于对应得函数参数内。 返回值为参数数目,返回0表示失败。...

2020-01-18 21:32:34 1127

原创 CentOs 配置虚拟机与宿主机或者本地设备互通

网卡ipv4地址配置: 添加ip addr add X.X.X.X /Masklenth dev ethx 删除 ip addr deleteX.X.X.X /Masklenth dev ethx网卡ipv6地址配置: 添加 ipconfig ethx inet6 add X:X:X::X /Pre...

2019-09-25 23:40:05 928

原创 “指向字符串常量的字符指针不可更改字符串的内容” 敲黑板,划重点了!!!

一、预备知识—程序的内存分配一个由C/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap)—一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(static)...

2019-03-30 22:05:30 1441 3

原创 我的刻骨铭心的2018——致未来的自己和现在的你

今天是2019年的一月份了,转眼间,我已经毕业一年了,回望过去的一年,我经历了太多太多,感觉我一年过了别人 的半辈子了,真是感慨万千。 2018年1月份,我研究生毕业了。跟随大多数学生的想法,在毕业之前,参加了校招,投了近上百份的简历,找到了五家公司。没找到工作的那段时间,看身边的同学到一个个都找到自己心意工作,我心乱如麻。我开始每天早起晚睡,学习找工作应有的能力,费了...

2019-03-17 18:05:11 624 4

原创 C语言中的指针和内存泄漏

本文的内容包括:1 导致内存破坏的指针操作类型;2 在使用动态内存分配时必须考虑的检查点;3 导致内存泄漏的场景。有几种问题场景可能会出现,从而可能在完成生成后导致问题。在处理指针时,您可以使用本文中信息来避免许多问题。一、未初始化的内存      已知P分配了10个字节,这10个字节可能包含垃圾数据,如 char *p = malloc(10);如果在对这个 P赋值前,某...

2019-01-21 22:56:26 567

原创 在linux 中使用GDB调试程序

1  简介     越来越多公司开始使用Linux系统作为底层系统,如何进行代码的调试,定位问题成为了一个棘手的问题。而GDB作为该类产品的调试工具,掌握GDB调试成为一个程序员必要的技术。2 GDB 调试命令2.1 查看和设置状态 info args 显示Gdb调试的程序的状态信息,参数ARGS 用于指定查看的具体状态名。set  arg s设置Gdb调试程序和GDB...

2018-12-22 19:45:40 360

原创 gcc 编译链接执行过程

1、gcc g++ [option ]-o file  生成指定文件名为file的输出文件-E 只进行预处理-S 只进行预处理和编译-C 只进行预处理、编译和汇编-wall  生成所有级别的警告信息-w 关闭所有警告,建议不使用此选项生成静态、动态库,比如一个工程里包含的文件有:test为主函数gcc -c calc.c -o calc.oar rc libcalclib.a calc.o    ...

2018-07-02 18:06:31 293

原创 在一个目录下建立一个和文件名相同的文件夹

#include<iostream>#include<string>#include<string.h>    //memset#include<sys/stat.h>//mkdir#include<stdlib.h>#include<fstream>#include<stdio.h>using namespace

2018-06-15 14:34:47 4408

原创 多线程编程同步问题

实现机制有:1 互斥锁 2 信号量 3 条件变量一、 为什么要用多线程技术?1、避免阻塞,大家知道,单个进程只有一个主线程,当主线程阻塞的时候,整个进程也就阻塞了,无法再去做其它的一些功能了。2、避免CPU空转,应用程序经常会涉及到RPC,数据库访问,磁盘IO等操作,这些操作的速度比CPU慢很多,而在等待这些响应时,CPU却不能去处理新的请求,导致这种单线程的应用程序性能很差。3、提升效率,一个进...

2018-06-14 17:00:18 260

原创 关于文件操作的函数

1 int fseek(FILE *stream, long offset, int fromwhere);第一个参数file指针第二个参数移动的偏移量第三个参数移动到哪里分别用3个宏 SEEK_SET 既0 文件开头SEEK_CUR 既1 文件当前位置SEEK_END 既2 文件结尾但不推荐用数字 最好用宏简言之: fseek(fp,100L,SEEK_SET);把fp指针移动到离文件开头10...

2018-06-14 16:21:24 385

原创 读写文件易错的地方

1 读写文件时,用fscanf  或者fprintf 函数时,一定要和定义的变量的数值类型相匹配。比如,定义的变量是double  类型,那么读写时相应的格式应该用lf 或者le格式,不能用f格式,否则会出错。...

2018-06-14 12:32:30 250

原创 工作总结

1/   atof(),是C 语言标准库中的一个字符串处理函数,功能是把字符串转换成浮点数,所使用的头文件为<stdlib.h>。该函数名是 "ascii to floating point numbers" 的缩写。语法格式为:double atof(const char *nptr)。注意参数的用法。2 substr();string substr (size_t pos = 0,...

2018-06-13 18:14:36 159

原创 C++中一个工程调用另一个 工程的 .exe文件

方法一:1/  用system()#include <stdlib.h>int system(const char *command);函数工作大致流程:system()函数先fork一个子进程,在这个子进程中调用/bin/sh -c来执行command指定的命令。/bin/sh在系统中一般是个软链接,指向dash或者bash等常用的shell,-c选项是告诉shell从字符串comm...

2018-06-13 10:50:22 4585

原创 makefile 文件规则

1/  https://www.w3cschool.cn/mexvtg/ 网址上有关makefile 基础知识2  在默认的方式下,也就是我们只输入make命令。那么,    1、make会在当前目录下找名字叫“Makefile”或“makefile”的文件。    2、如果找到,它会找文件中的第一个目标文件(target),在上面的例子中,他会找到“edit”这个文件,并把这个文件作为最终的目标...

2018-06-04 18:49:02 313

原创 LINUX 常考的选择题

1/ cron 后台常驻程序 (daemon) 用于:管理系统日常任务的调度2 在大多数Linux发行版本中,以下哪个属于块设备:硬盘3 Linux命令可以一次显示一页内容:more4 怎样了解您在当前目录下还有多大空间? use du.  use df  查看磁盘剩下多少空间5 假如您需要找出 /etc/my.conf 文件属于哪个包 (package) ,您可以执行:rpm -qf 6 将文件...

2018-06-01 15:48:33 2412

原创 linux C 面试笔试常见题

1/  什么叫可重入? 可重入函数主要用于多任务环境中,一个可重入的函数简单来说就是 可以被中断的函数,也就是说,可以在这个函数执行的任何时刻中断 它,转入OS调度下去执行另外一段代码,而返回控制时不会出现什么 错误;而不可重入的函数由于使用了一些系统资源,比如全局变量区, 中断向量表等,所以它如果被中断的话,可能会出现问题,这类函数是 不能运行在多任务环境下的。2/TCP/IP通信阻塞和非阻塞?...

2018-05-31 19:25:09 644

原创 XML 文件结构与语法

ML文件结构和基本语法2011年09月25日 22:24:10阅读数:77575XML文件结构和基本语法分类: html java2010-03-12 17:04 903人阅读 评论(1) 收藏 举报4.1.1               XML文件结构一个XML文件通常包含文件头和文件体两大部分1.         文件头XML文件头由XML声明与DTD文件类型声明组成。其中DTD文件类型声明是...

2018-05-23 15:01:34 4307

转载 c++ 中map 的find 用法

用find函数来定位数据出现位置,它返回的一个迭代器,当数据出现时,它返回数据所在位置的迭代器,如果map中没有要查找的数据,它返回的迭代器等于end函数返回的迭代器,程序说明#include <map>#include <string>#include <iostream>Using namespace std;Int main(){       Map&lt...

2018-05-11 09:57:40 204454 8

转载 GCC/C++ 编译过程

gcc和g++分别是GNU(一个开源组织)的c&c++编译器 对于.c后缀的文件,gcc把它当做是C程序,g++当做是C++程序;对于.cpp后缀的文件,gcc和g++都会当做c++程序。gcc可以根据后缀名为.c或.cpp分别按c程序和c++程序来编译,但是g++无论是.c或.cpp都统一按c++程序来编译。 编译阶段,g++会调用gcc,链接阶段通常会用g++来完成,g++在编译的过程...

2018-04-25 17:09:29 1344

原创 Linux中access函数

1。access():判断是否具有存取文件的权限相关函数    stat,open,chmod,chown,setuid,setgid表头文件    #include<unistd.h>定义函数    int access(const char * pathname, int mode);函数说明    access()会检查是否可以读/写某一已存在的文件。参数mode有几种情况组合,...

2018-04-25 13:43:49 2045

原创 LINUX 命令

1/将一个目录下的文件夹中所有的文件复制到同一目录下的另一个文件夹下 cp -r 文件夹名1 文件夹名2     一定要带-r ,   否则会出错,omitting dictinary 省略目录,这是因为这个文件夹下还有其他的目录2/  ls -lrt 命令可以查看最近修改过的文件3 cout<<_FILE_<<" "<<_LINE_<<endl; ...

2018-04-24 18:54:49 119

原创 文件操作std::locale::global(std::locale(""))的作用

在C++加载文件时,加入一句std::locale::global(std::locale(""));是为了保证,支持中文的路径。顺带又看了下std::locale::global()的代码,当传递NULL作为参数时,会调用local对象的一个显示默认构造函数,新构造出的对象包含当前系统的默认locale,随后的代码会比较当前本应用程序正在使用的locale是否和这个local对象所代表的loca...

2018-04-19 17:58:38 6642

原创 C++中描述文件系统属性的结构stat

在使用这个结构体和方法时,需要引入:<sys/types.h><sys/stat.h>struct stat这个结构体是用来描述一个linux系统文件系统中的文件属性的结构。1、通过路径:int stat(const char *path, struct stat*struct_stat);int lstat(const char *path,struct stat*str...

2018-04-19 17:57:26 2329

原创 如何读取二进制文件,并将其转化为十进制数

1/首先是先是读取1.5个字节的数据 unsigned long Convertp5_2(const char *pchar){   bitset<8>b8_1; bitset<8>b8_2;memcpy(&b8_1,pchar,1);string str8_1=b8_1.to_string();memcpy(&b8_2,pchar+1,1);string ...

2018-04-19 17:29:54 4069

转载 C语言中转义字符

在字符集中,有一类字符具有这样的特性:当从键盘上输入这个字符时,显示器上就可以显示这个字符,即输入什么就显示什么。这类字符称为可显示字符,如a、b、c、$、+和空格符等都是可显示字符。另一类字符却没有这种特性。它们或者在键盘上找不到对应的一个键(当然可以用特殊方式输入),或者当按键以后不能显示键面上的字符。其实,这类字符是为控制作用而设计的,故称为控制字符。在C语言中,构成字符常量的控制字符必须用...

2018-04-01 08:45:39 10900 5

原创 构造函数

1、构造函数可以是私有的。这时候就必须使用new在堆上创建一个对象了。2、构造函数没有返回值。3、无论何时,只要创建一个对象,都必须调用构造函数。4、构造函数本身就是内敛函数。...

2018-04-01 08:33:23 192

原创 深剖基类和派生类的虚函数表

1、当派生类实现基类的虚函数时,基类中虚函数表和虚函数地址和派生类中虚函数表和虚函数地址不同;当派生类不实现基类的虚函数时,基类中虚函数表和虚函数地址和派生类中虚函数表和虚函数的地址相同。1、派生类重新实现虚函数。查看其虚函数表和虚函数表中虚函数的地址 [cpp] view plain copy#include<iostream>  using namespace std;  clas...

2018-03-31 15:31:53 2431 2

原创 软件测试面试题

1、什么是兼容性测试?兼容性测试侧重那些方面?主要检验的软件的可移植性,检查软件在不同的硬软件平台上是否可以正常的运行。细分可分为:平台的兼容性,网络的兼容性,数据格式的兼容性等。2、常用的测试方法有哪些?黑盒测试,白盒测试,静态测试,动态测试,手工测试,和动态测试,回归测试,公测。3、白盒测试和黑盒测试的区别?黑盒测试就是功能性测试,一般是用穷举法输入测试,不会考虑内部的逻辑和实现。兼容性,安全...

2018-03-19 09:25:13 299

原创 常用的Linux命令

1、Top 查看进程的资源占用的情况。类似于windows中任务管理器。可以选用进程查看或者是用户查看。例如,选择oracel 用户查看,可以使用:  $ Top -u oracle2、pmap 可以根据进程查看进程相关信息占用的情况。pmap -d 14596 3、ps -a  显示终端用户上所有的用户,包括其他的用户。 -au 显示详细的信息 -aux 显示所有的包含其他使用者的进程,查看系统...

2018-03-18 15:38:37 145

原创 C++中内存分配的方式

1、栈:函数执行时,函数内的局部变量的存储单元可以在栈上创建。函数执行结束后这些存储单元自动释放。栈内存分配运算内置于处理器的指令器中,效率高,但是分配的内存容量有限。2、堆:就是那些new分配的内存块,由程序员来管理。一般对应着delete。3、自由存储区。就是那些malloc 等分派的内存块。她和堆一样,不过它用free来释放。4、全局/静态存储区。全局和静态变量被分派到统一内存快中。初始化和...

2018-03-16 18:08:38 267

原创 调整数组中的顺序使得奇数位于偶数的前面

1、 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分  设置两个指针,一个指向奇数,一个指向偶数。让第一个指针指向数组的头部,第二个指向数组 的尾部,第一个指针如果指向的数值是偶数,第二个如果指向的是奇数,而且两个指针满足p1<p2的话,则交换。void  ReorderOddEven(int *pdata,int ...

2018-03-14 14:06:35 279

原创 二维数组的查找(设计到获取vector大小)

在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。class Solution {public: bool Find(int target, vector<vector<int> > array) {bool res=false; ...

2018-03-13 18:37:07 4381

原创 计算蚊帐中有几个文字(科大讯飞笔试题)动态二维数组的创建

#include<stdio.h>#include<iostream>using namespace std;int main(){ int count = 0; int n; cin >> n; const int m = n; int a[3]; for (int i = 0; i < 3; i++) { ...

2018-03-13 17:52:16 201

原创 递归思想斐波那契数列变形

青蛙跳台阶:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。class Solution {public:    int jumpFloor(int number)    {          int n=number;        int res=0;        if(n==1||n==2)        {            res=n;  ...

2018-03-13 16:08:06 274

原创 输出旋转数组中最小的元素

把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。思路:看成是两个有序序列。class Solution {public:    int minNumberInRotate...

2018-03-13 15:08:42 208

原创 C++中纯虚函数与虚函数的区别

1、在一个类中定义一个纯虚函数,则这个类是抽象类。纯虚函数在基类中是不实现的,只是提供一个接口。在子类中分别去实现。在很多情况下,类本身是不生成对象的。动物作为一个基类可以派生出老虎、孔雀等子类,但动物本身生成对象明显不合常理。纯虚函数就是基类只定义了函数体,没有实现过程,定义方法如: virtual void Eat() = 0; 不要 在cpp中定义;纯虚函数相当于接口,不能直接实例化,需要派...

2018-03-13 11:01:18 472

原创 二维数组与指针、指针数组、数组指针的用法

二维数组和指针⑴ 用指针表示二维数组元素。要用指针处理二维数组,首先要解决从存储的角度对二维数组的认识问题。我们知道,一个二维数组在计算机中存储时,是按照先行后列的顺序依次存储的,当把每一行看作一个整体,即视为一个大的数组元素时,这个存储的二维数组也就变成了一个一维数组了。而每个大数组元素对应二维数组的一行,我们就称之为行数组元素,显然每个行数组元素都是一个一维数组下面我们讨论指针和二维数组元素的...

2018-03-12 18:16:20 56396 41

原创 C++中什么情况下必须在初始化列表中完成初始化

1、当类的成员是常变量时,即用const来回修饰的类的成员;2、类的成员是引用;3、需要初始化的数据成员是对象的情况(这里包含了继承情况下,通过显示调用父类的构造函数对父类数据成员进行初始化);      数据成员是对象,并且这个对象只有含参数的构造函数,没有无参数的构造函数;     如果我们有一个类成员,它本身是一个类或者是一个结构,而且这个成员它只有一个带参数的构造函数,而没有默认构造函数,...

2018-03-12 14:28:07 2868

XL2401无线通讯模块发送测量的风速、温湿度

这是基于单片机的测量风速、温湿度的无线模块XL2401发送给另一个单片机发送端程序

2016-06-21

DA14580单片机实现测温湿量度甲醛

这是基于DA14580单片机的C代码。可以实时测量周围环境的温湿度、甲醛。

2016-06-21

12864显示屏C程序

基于51单片机的12864液晶显示屏程序,可以显示汉字和字母,用户可以显示自己想要显示的文字

2016-06-06

超声波测距数码管显示

利用超声波HC-SR04模块测距,并在数码管上显示出精确数值

2016-05-30

基于51单片机的竞答器的设计

涉及到两个单片机通信,一个发,一个收,而且可以随即出题加法题,可以显示答案的对错。

2016-05-30

基于51单片机4层电梯设计

这是基于51单片机设计的4层电梯,用到4个直流电机和两个步进电机,两外用到8255A扩展IO口。在KEIL下可以直接运行,正常实现上下楼梯,运行停止等。

2016-05-30

基于DA14580便携式空气质量检测仪

此便携式空气质量检测手环由PM2.5传感 器,甲醛传感器,温湿度检测传感器,陀螺仪,DA14580等组成,小巧,节能,可随身携带。采用的是蓝牙传输数据, 而非WiFi,可以使接收端的手机在接收数据的同时不影响上网功能。此外,此设计在实现检测周围环境质量的同时, 还增加了测量步伐和卡路里的功能,采用陀螺仪三轴加速度传感器计步测算法。

2016-05-30

空空如也

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

TA关注的人

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