自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Mr_sunp的博客

如果某天我忘了,我还可以重新拾起

  • 博客(19)
  • 收藏
  • 关注

原创 linux下俄罗斯方块

在编译的时候:线程版需要连接 curses库 和pthread库 ;进程版只要连接curses库即可由于这个代码是本人第一次编写的,有些地方可能写法不规范,注释不明了,仅限参考。1、进程版#include #include #include #include #include #include #include #define BUFSIZE 1024#define

2017-09-14 10:52:43 2173

原创 自己整理的几个C面试小题

概念题:1.c++中为什么用模板类?a.与类型无关,具有很高的可复用性。b.他在编译的时而不是运行时候检查数据类型,保证了类型安全性c.他与平台无关的,具有可已移植性d.可用于基本数据类型e.可用来创建动态增长和减小数据结构 //?????2.简介多态,虚函数,纯虚函数多态:一个接口(方法),实现不同种功能虚函数:用virtual修饰的重写方法纯虚函数:在虚函数后面加上=

2017-09-14 10:15:45 357

原创 C指针强化测试

接下来的几个用代码的形式给出,可以直接粘贴到vim编译器中进行运行,测试1:#include#include /*---------------------------19-----------------------------*/#if 0int main(){ int a=3,b=4,c=0; c = a+++b; print

2017-09-14 10:02:26 445

原创 39个C语言小程序(适合新手)

1 %c 输入 2 个数字(0--9),将 2 个数字组成 2 位数并每位上的数字不能相同,以%d 输出。#include int main(){ char a,b; int sum; printf("输入两个数字(0~9\n"); scanf("%c %c",&a,&b); if(a==b){

2017-09-13 14:53:41 16900 3

原创 linux下的静态库和动态库

意义:为了避免代码的重写率,我们可以将已经写好的代码形成一个库,当我们再次用到的时候可以直接调用,而不是重新去写,即“站在巨人的肩膀上”。linux下有两种库:一、静态库:准备工作://swap.cint swap(int *x,int *y){ int temp; temp = *x; *x = *y; *y = temp; retur

2017-09-13 11:15:50 301

原创 linux下将bmp图片的RGB数值打印到文件中,并另存。

前面我们可以获取到bmp文件头的信息,那么这里我们的思路就是根据获取到的文件头信息,将文件头中的各种变量赋值即可;例如我们获取时,得到height=600,那么我们在设置时,可以人为将其设置成height=600条件:1.用windows画图工具另存的一张BMP格式图片;2.linux 或 ubuntu下vim编译器;#include #include #inclu

2017-09-11 17:41:29 1475

原创 linux下读取bmp图片文件头

建议先了解下BMP图片格式.条件:1.用windows画图工具另存的一张BMP格式图片;2.linux或ubuntu下vim编译器#include #include #include #include #pragma pack(2) //对齐using namespace std; typedef struct BITMAPFILEHEADER {

2017-09-11 17:34:28 3645

原创 Ubuntu下配置IP地址的方法

配置IP地址主要有两种方法。1>通过命令来实现:sudo ifconfig eth0 IP地址 netmask 子网掩码------配置IP地 sudo route add default gw 网关------------添加默认路由vim /etc/resolv.conf 配置文件 添加nameserver DNS----配置DNSsudo /etc/init.d/netw

2017-09-11 15:31:36 27305

原创 linux下find的用法

find:

2017-08-28 16:17:21 221

原创 linux下git的简单操作(入门)

2017-08-24 15:56:30 474

原创 直白解读网络编程第二节_进程(入门)

2017-08-24 11:37:52 264

原创 直白解读网络编程第一节_文件I/O(入门)

(一) 库函数中针对文件操作的实现fopen() :打开fclose() :关闭fread() :读fwrite() :写fscanf() :输入fprintf() :输出fgets(); fputs();gets() puts():针对字符串的读写操作fgetc();fputc(); :针对字符的读写操作----------------------------

2017-08-23 11:34:04 357

原创 直白解读linux下pthread的简单操作

线程:他是轻量级的进程,他有系统的库函数提供,linux中的man 2中的函数,属于系统调用;线程的创建是在进程之中,在linux中用task_struct来描述一个线程,(进程和线程都参与统一的调度),一个进程可以有多个线程,他们可以共享相同地址空间的多个任务。一个进程中的多个线程共享以下资源:1:代码段/指令2:静态数据(全局变量,静态变量)3:进程中打开的文件描述符4:信

2017-08-22 14:51:08 634

原创 直白解读linux下V4L2拍照

声明:环境:linux或ubunt下编辑器:vim编译工具:gcc设备:USB接口的摄像头难点理解:1.对于缓冲帧的解释:假设我们申请5个缓冲帧,那么这5个缓冲帧就相当于5个盘子,操作系统在内存中开辟5个缓存区队列来存放这5个盘子,当相机拍照后将数据放入盘子中,我们通过VIDIOC_DQBUF取数据可以理解为将盘子取出来,然后对数据操作,操作完成之后,要通过VIDIOC_Q

2017-08-22 11:53:00 3164 1

原创 malloc();calloc();realloc()

1.malloc2.calloc3.ralloc4.new

2017-08-11 11:57:10 380

原创 线程绑核的简单操作

为了加快程序的运行速度和充分利用CPU资源,我们可以人为将不同线程绑定在不同的cup上,例如有两个线程A,B,其中A已经在CPU0上运行,并且CPU0上还有其他的任务,那么我们可以将线程B绑到CPU1上,这样就可以减轻CPU0的负担,从而充分利用多核CPU。说的明白点,原来是一个CPU作两件事,现在两个CPU同时做两个时,使效率更高。话不多说,直接上代码:#define _GNU_SOUR

2017-08-10 09:31:03 3749

翻译 assert()函数用法总结

程序一般分为Debug版本和Release版本,Debug版本用于内部调试,Release版本发行给用户使用。 断言assert是仅在Debug版本起作用的宏,它用于检查“不应该”发生的情况。以下是一个内存复制程序,在运行过程中,如果assert的参数为假,那么程序就会中止(一般地还会出现提示对话,说明在什么地方引发了assert)。 assert不是一个仓促拼凑起来的宏,为了

2017-08-09 10:09:00 1285

原创 关于mutex与cond的用法

锁的概念:在CPU运行过程中,不会单一的取执行一个事件,而是通过线程,或者进程来进行执行,这样CPU的利用率才得以提高,但是在不同的线程之间,由于互相独立,那么对于资源的访问来说,就可能同时进行,假如A进程获取一个临时变量temp的值,但是在获取的同时,B进程却将temp的值改变了,这时就会出现资源访问的冲突,为了更好的解决这个问题,就有了锁的概念,说的明白些,他就像现实中的锁一样,我们程序中所有

2017-08-08 11:12:06 3297

原创 STM32_外部中断(寄存器版)_笔记

STM32_外部中断,从程序入手,深度解读每条程序,理解知识点。

2016-05-05 21:07:19 5060 2

空空如也

空空如也

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

TA关注的人

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