自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 资源 (4)
  • 收藏
  • 关注

原创 Ubuntu 16.04 菜单栏 换位置 挪到左边 挪到下边

Ubuntu 16.04 菜单栏 换位置 挪到左边 挪到下边Ubuntu菜单栏的位置可以调 到左侧 或者底部调整到底部$ gsettings set com.canonical.Unity.Launcher launcher-position Bottom调整到左侧$ gsettings set com.canonical.Unity.Launcher launcher-position Left...

2021-01-11 15:33:17 417

原创 c语言 某位清零 获取某位值

将某位/几位清零#include <stdio.h>int main(){ int num=0; //需要清零的数 int bit; //需要清零的位数 int zero_sit;//清零的位置 printf("input num\n"); printf("input bit\n"); printf("input zero_sit\n"); scanf("%x",&num); scanf("%x",&bit); scanf("%x",&zer.

2020-10-23 16:29:08 3993

转载 undefined reference to

最近在Linux下编程发现一个诡异的现象,就是在链接一个静态库的时候总是报错,类似下面这样的错误:(.text+0x13): undefined reference to `func’关于undefined reference这样的问题,大家其实经常会遇到,在此,我以详细地示例给出常见错误的各种原因以及解决方法,希望对初学者有所帮助。链接时缺失了相关目标文件(.o)测试代码如下:然后编译。gcc -c test.cgcc –c main.c得到两个 .o 文件,一个是 main.o,

2020-08-15 16:37:03 189

转载 [Linux] vim的高亮查找操作 reference : http://blog.chinaunix.net/uid-20732478-id-763411.html 使用了VIM这么久,

使用了VIM这么久,却一直无法牢记一些基本的操作指令。今天查找一个关键字时,想不起来怎么查找“下一个”,于是google之并解决,顺便把有用的都贴过来罢。查找指令:/xxx 往下查找?xxx 往上n 下一个:set hls 打开高亮:set nohls 关闭高亮下面是查找替换,虽然我至今没使用过这一功能 - -因为网上太多了,所以转来也不知道原创是谁1,简单替换表达式替换命令可以在全文中用一个单词替换另一个单词::%s/four/4/g“%” 范围前缀表示在所有行中执行替换。最

2020-08-05 15:46:47 160

原创 pthread_create()函数参数详解和传参的使用

题外话:用的vscode编译的程序。发现一个问题,就是编译的时候提示没有gcc,但是应该是安装了的。打开命令端,输入gcc -v,提示没有gcc。因为安装了qt。默认的就有gcc,所以就打开qt的安装路径下C:\Qt\Qt5.12.4\Tools\mingw730_64\bin,路径下文件如下图所示然后直接把该路径添加到环境变量,就可以使用gcc 和g++了贼有意思,gcc也能编译,g++也能编译。在linux下通过gcc编译c程序,g++编译c++程序,另外就是也没有加-lpthread连接

2020-07-22 20:04:42 8020

原创 VMware 物理内存不足,无法使用配置的设置开启虚拟机

VMware 物理内存不足,无法使用配置的设置开启虚拟机如下图所示:解决方法:修改下列路径中的文件C:\Documents and Settings\All Users\Application Data\VMware\VMware Workstation 或 C:\ProgramData\VMware\VMware Workstation 路径下的 config.ini,把 “prefvmx.useRecommendedLockedMemSize = ”设为"TRUE" “prefvmx.minVm

2020-06-10 16:28:41 2026 1

原创 Ubuntu ftp 服务器配置

一、安装如果是ubuntu环境下的话,安装是很简单的,只需输入如下命令:安装sudo apt-get install vsftpd安装完成后可以察看下服务状态(其实安装完成了就会提示已经在跑了)sudo service vsftpd status二、配置文件其实我用到的文件只有三个+  1. /etc/vsftp.conf(主配置文件)+  2. /etc/vsftp.chroot_list(可访问用户列表,这个在我这里貌似不是已有的,我是手建的,这个察看上面那个配置文件就会发现,配置文件

2020-05-30 18:53:49 203

原创 socket can编程

http://velep.com/archives/1181.html

2020-05-26 14:42:52 147

原创 玩个多级指针

定义:一个指向指针变量的指针变量,称为多级指针。对于指向处理数据的指针变量称为一级指针变量,简称一级指针。而把指向一级指针变量的指针变量称为二级指针变量,简称二级指针。二级指针变量的说明形式:<存储类型> <数据类型> ** <指针名>总结:注意加粗的部分,指向指针变量!一定要是变量。如果指向的是数组名(也就是数组的首地址,会报警告,因为数组名是地址常量,后边有例子)。#include <stdio.h>int main(int argc, c.

2020-05-21 17:43:54 120

原创 c 函数值传递

首先要清楚什么叫函数的形参和实参。形参:任何函数实现的参数都是形参。实参:调用函数时候,传入的参数是实参。实参可以给形参传参,形参不能够给实参传参。#include <stdio.h>void exchange(int a,int b){ int t; printf("&a = %p,&b = %p\n",&a,&b ); t = a; a = b; b = t; printf("a = %d,b = %d\n",a,b );

2020-05-20 15:41:44 228

原创 c语言 const关键字

const修饰变量(非指针),使变量常量化,也就是使变量不能够被修改eg:const int a = 10; int const a=10;此时a只能是10,不能被改变了。如果没有用const修饰,a可以被赋值,比如a=20;const修饰指针变量,会使指针变量常量化,但是要注意const的位置1.const int *p 此时const修饰的是指针指向的内容,限制通过指针去改变指向的内容,但是内容本身可以修改,只是不能通过指针修改。指针的指向也是可以改变。eg:#include <st.

2020-05-20 10:20:35 114

原创 字符串处理函数

strcpy函数:首先看一个字符串拷贝函数的用法:#include <stdio.h>#include <string.h>int main(int argc, char const *argv[]){ char p[] = "hello"; char *a = p; char *q = "world"; strcpy(p,q); printf("%s\n",p ); return 0;}打印结果就是world。注意到两点,1.目的地址是一个

2020-05-15 17:32:42 117

原创 一个冒泡排序引发的 ‘思考’

一个冒泡排序引发的 ‘思考’首先看一个冒泡排序的代码,如下:#include <stdio.h>#if 1void maopao(int a[]) //此处形参等同于int *a{ printf("%ld\n",sizeof(a)/sizeof(int));//调试打印 for(i=0;i<n;i++) //对比趟数 { for(j=i;j<n;j++) //对比次数,从小到大排列 { if(a[j] > a[j+1]) { temp =

2020-05-15 16:36:45 142

原创 linux下类everthing搜索工具

类似Windows上的everything,在Windows上是谁用谁知道.安装链接:https://launchpad.net/~christian-boxdoerfer/+archive/ubuntu/fsearch-daily?field.series_filter=bionic官方安装没有看到安装名称是什么,试了一圈都不行,后来终于找到了.步骤:添加PPAsudo add-apt...

2020-04-03 15:48:54 672

原创 c代码规范

开头以/**/说明,中将两个*可以将说明对齐宏定义和函数声明对其。宏定义的时候最好用一个空格加两个tab键,因为不同的宏名字长度不一样,会造成后边的变量不对齐。函数声明的时候,要一个tab键。因为void和int长度不一样,和long,unsigned int长度更不一样定义变量的时候要对齐。函数名不要顶头写,让注释和#if 0 #endif调试的顶头写。如果有多个if en...

2020-03-27 18:39:03 113

原创 匈牙利命名规则

匈牙利命名规则匈牙利命名法是一种编程时的命名规范。基本原则是:变量名=属性+类型+对象描述(对象描述的时候第一个字母要大写),其中每一对象的名称都要求有明确含义,可以取对象名字全称或名字的一部分。要基于容易记忆容易理解的原则。保证名字的连贯性是非常重要的。eg:class xx{public:private: string m_strName; //m_表示c++类成员,str表示...

2019-12-20 16:09:16 579

转载 c语言日志功能实现

#include <stdio.h>#include <stdlib.h>#include <string.h>#include <time.h>#ifdef WIN32#include <windows.h>#else#include <unistd.h> // linux下头文件#endif ...

2019-07-18 14:14:55 536

转载 Linux下安装gcc

https://www.cnblogs.com/Hxinguan/p/5016305.html

2019-04-15 22:44:18 458

原创 虚拟机内文件删除 实际空间不变

这个方法只针对VMware虚拟机中的xp等系统有效,linux(Ubuntu)并不起作用

2019-03-30 22:14:17 2561

原创 linux 根文件系统的制作过程

文件系统制作步骤1,配置busybox1)下载源码2)进入busybox,make menuconfig 选配2,制作根文件基本目录(make进行编译,Make install 把它编译成工程文件,方便我们使用将所有相关文件都放到_install目录下)3,创建其他需要的目录(mkdir dev etc mnt proc var tmp sys root)4,库目录设置(拷贝交叉编译工...

2019-02-21 18:11:22 285

原创 链表(未完成笔记)

单链表(预留)双向链表(预留)List item为什么需要双链表,单链表只有一个指向下一元素的指针,不能访问前一节点的元素,逆序访问及其费时。定义:在单链表的基础上增加了一个指向前一节点的指针。双向循环链表(预留)...

2019-01-17 16:35:28 110

原创 I2C

I2C时序I2C是一种接口,硬件连接是通过SDA和SCL两条线,传输的时候遵从I2C协议。上图中:master主设备,由soc担当。SCL提供时钟,SDA提供数据。驱动是站在master角度读写设备的。所有的I2C从设备都在一条线上,每个从设备都有自己的从设备地址。当主设备需要访问从设备的时候,发送从设备地址。在scl为高电平时,SDA由高电平向低电平跳变,表示开始发送数...

2019-01-17 14:24:49 1850

原创 单链表的基本概念和操作

单链表的结构体定义typedef int datatype;typedef struct node{ datatype data; struct node *next;}listnode,*linklist;listnode一般用于分配内存,*linklist一般用来定义头节点。单链表的基本操作单链表的创建1linklist list_create(){ lin...

2019-01-17 12:47:47 480

原创 计算机中实现10进制转换成二进制c编程

先说一下scanf的返回值scanf函数返回成功读入的数据项数,读入数据时遇到了“文件结束”则返回EOF。如:scanf(&amp;quot;%d %d&amp;quot;,&amp;amp;amp;a,&amp;amp;amp;b);函数返回值为int型。如果a和b都被成功读入,那么scanf的返回值就是2;如果只有a被成功读入,返回值为1;如果a和b都未被成功读入,返回值为0;如果遇到错误或遇到end of file,返回值为EOF。end of fil...

2019-01-16 20:20:33 2115

原创 二维数组与行指针

问题1:数组int a[2][3],如何表达该数组第2行第2列元素的地址?&amp;a[1][1]a[1]+1*(a+1)+1问题2:如何表达第二行第二列的元素?a[1][1]&amp;(a[1][0]+1)*(a[1]+1)*( *(a+1)+1)...

2019-01-14 14:25:22 239

原创 巧用异或

与其它语言不同,C语言和C++语言的异或不用xor,而是用“ ^ ”,键入方式为Shift+6。(而其它语言的“^”一般表示乘方)若需要交换两个变量的值,除了通常使用的借用中间变量进行交换外,还可以利用异或,仅使用两个变量进行交换,如:123456void swap(int &amp;amp;amp;amp;a,int &amp;amp;amp;amp;b){a=a^b;b=b^a;a=a^b;}详解:123...

2019-01-11 19:43:26 394

原创 C语言中sizeof和strlen的区别

整体看一个代码的效果#include &amp;lt;stdio.h&amp;gt;#include &amp;lt;string.h&amp;gt;int main(int argc, char const *argv[]){ int a[8]={1,2,3}; char b[]=&quot;love&quot;; printf(&quot;%ld\n&quot;,sizeof(a)); printf(&quot;

2019-01-11 15:09:23 11153

原创 指针数组和数组指针解析

指针数组指针数组的本质是一个数组,一定要清楚数组。数组的特点1.数组是相同数据类型的元素的集合。2.数组中的各元素的存储是有先后顺序的,它们在内存中按照这个先后顺序连续存放在一起。3.数组元素用整个数组的名字和它自己在数组中的顺序位置来表示。例如,a[0]表示名字为a的数组中的第一个元素,a[1]代表数组a的第二个元素,以此类推。例如:int *p[4]这就是一个指针数组...

2019-01-11 14:43:59 264

原创 c语言各种排序加标注

1冒泡排序1.冒泡排序(英语:Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。...

2019-01-10 21:22:53 370

原创 什么是死锁,死锁的原因,如何避免

什么是死锁完成死锁的原因如何避免

2019-01-09 20:22:36 548

pci驱动开发.docx

pci驱动开发.docx

2021-04-09

c面试题合集

面试题目合集,

2019-01-11

视觉机器学习

视觉机器学习20讲,原版影印书和源代码。

2019-01-11

俄罗斯方块c代码

俄罗斯方块。

2019-01-11

空空如也

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

TA关注的人

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