自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

red_rock的博客

细节决定成功,点滴铸就辉煌

  • 博客(52)
  • 资源 (2)
  • 收藏
  • 关注

原创 图片浏览器

/* widget.h*/#ifndef WIDGET_H#define WIDGET_H#include #include #include #include class Widget : public QWidget{ Q_OBJECTpublic: Widget(QWidget *parent = 0); ~Widget();public

2017-09-12 08:25:36 289

原创 汇编语言实现冒泡算法

buf: .word 7,8,6,1,2,4,3,5,9buf_end: .word.global _start _start: ldr r0, =buf add r1, r0, #32loop: ldr r2, [r0] add r0, #4 ldr r3, [r0] cmp r2, r3 strlt r2,

2017-09-12 08:20:15 1487

原创 汇编语言实现倒序输出

global _start/* int *p === > buf; p === 首元素的地址; buf q === 最后一个元素的地址;buf+8*4 while(p < q) { a = *p b = *q; *p = b; *q = a; p++; q--; } */_start: ldr r0, =buf; @ 将数组的首元素

2017-09-12 08:17:32 5372

原创 消息队列发送数据和接收数据

消息队列发送数据和接收数据

2017-09-10 17:28:25 10545 1

原创 创建共享内存

共享内存指 (shared memory)在多处理器的计算机系统中,可以被不同中央处理器(CPU)访问的大容量内存。由于多个CPU需要快速访问存储器,这样就要对存储器进行缓存(Cache)。任何一个缓存的数据被更新后,由于其他处理器也可能要存取,共享内存就需要立即更新,否则不同的处理器可能用到不同的数据。共享内存是 Linux下的多进程之间的通信方法 ,这种方法通常用于一个程序的多进程间通信,实际

2017-09-10 17:18:42 563

原创 线程thread的使用

#include#include#include#include#include#includepthread_t thread;sem_t sem_r, sem_w;int a[10] = {4,5,41,23,36,8,7,14,36,12};static int len = sizeof(a);static int i = 0;static int j = 9;

2017-09-10 10:07:58 189

原创 fock创建进程

#include#include#includeint main(){ pid_t pid; if (0 > (pid = fork())) { perror("fork"); return -1; } else if (0 == pid) { printf("child: %d %d \n

2017-09-10 10:04:34 2807

原创 文件I/O实现拷贝功能

#include#include#include#include#includeint main(int argc,char *argv[]){ if (argc < 3) { fprintf(stderr, "Usage: %s \n",argv[0]); return -1; } int fin; if (

2017-09-10 10:01:40 859

原创 4G虚拟内存图

2017-09-10 09:55:29 1057

原创 无名管道

无名管道 anonymous pipe无名管道:管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道;只能用于父子进程或者兄弟进程之间(具有亲缘关系的进程)。单独构成一种独立的文件系统:管道对于管道两端的进程而言,就是一个文件,但它不是普通的文件,它不属于某种文件系统,而是自立门户,单独构成一种文件系统,并且只存在与内存中。#include#i

2017-09-10 09:38:06 222

原创 数据结构的链栈基本操作

创建空栈、 进栈、 出栈、 清空栈、 判空、 取栈顶元素、 取栈底元素、获取栈元素长度、 销毁

2017-09-10 09:33:13 713

原创 数据结构栈操作

进栈、 出栈、 判空、 判满、 清空、 获取栈元素的长度、 栈顶元素 销毁、 创建

2017-09-10 09:22:42 202

原创 数据结构队的使用

本程序实现队列的基本功能 创建队、 进队、 出队、 判满、 判空、销毁

2017-09-10 09:10:08 275

原创 数据结构链队

创建空队、 进队、 出队、 判空、 清空、 获取队列长度、 销毁队

2017-09-10 09:03:56 826

原创 tcp服务器客户端文件上传和t下载

tcp服务器和客户端实现文件上传和下载

2017-09-08 19:59:01 2245 2

原创 英译词典

在线英译词典,功能实现描述1、用户注册和登录验证2、单词在线翻译3、历史记录查询

2017-09-08 19:47:48 228

原创 strlen函数的实现

原型:extern unsigned int strlen(char *s);,在Visual C++ 6.0中,原型为size_t strlen(const char *string);,其中size_t实际上是unsigned int,在VC6.0中可以看到这样的代码:typedef unsigned int size_t;头文件:string.h格式:strlen (字符数组

2017-09-08 19:33:52 203

原创 strcmp函数的实现

原型strcmp(const char *s1,const char * s2);用法:#include 功能:比较字符串s1和s2。一般形式:strcmp(字符串1,字符串2)说明:当s1当s1=s2时,返回值=0当s1>s2时,返回值>0即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的

2017-09-08 18:54:55 557

原创 strcpy和strncpy函数实现

strcpy和strncpy函数的实现。

2017-09-08 08:09:32 424

原创 十进制转二进制、十进制转十六进制

今天对十进制转二进制、十进制转十六进制,的讲解,日常生活中,我们用得最多的是十进制,但是在C语言中我们都是使用二进制和十六进制。二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”。

2017-09-07 18:35:51 483

原创 atoi函数的讲解

学习C语言的时候,用来练习用的,现在分享给大家,希望大家能够喜欢。希望能和大家共同学习C语言及c++,有不足的地方,请大家多多指点。今天对atoi函数的讲解atoi(表示ascil to integer)是把字符串转换成整型数的一个函数,应用在计算机程序和办公软件中,atoi()函数会扫描参数nptr字符串,跳过前面的空白字符,直到遇到数字和正负号才开始做转换,而在遇到非数

2017-09-07 08:18:34 667

原创 C语言实现简单的注册、登录、退出

刚开始学习C语言的时候,用来练习用的,现在分享给大家,希望大家能够喜欢。希望能和大家共同学习C语言及c++,有不足的地方,请多多指点。利用if——else语句实现简单的注册、登录、退出。#includeint main(){char a,b,c,d;while(1){int num;printf("**********************************

2017-09-07 08:14:45 27008 4

原创 水温控制器

#include<reg51.h> #define uchar unsigned char#define uint unsigned int sbit DQ=P3^7;sbit RS=P3^2;sbit RW=P3^1;sbit EN=P3^0;sbit PT = P3^5;sbit yellow=P1^7;sbit green=P1^6;sbi...

2019-04-17 21:09:17 1187

原创 多线程的实现

#include #include #include #include #include #include #include #include #include #include #include void * client(void *arg) //connfd;{ int connfd; int ret; char buf[256]; connfd = *(

2017-09-17 16:21:56 237

原创 多进程的实现

#include #include #include #include #include #include #include #include #include int client(int connfd) //connfd;{ int ret; char buf[256]; while(1) { memset(buf, 0, sizeof(buf));

2017-09-17 16:20:15 517

原创 svrver服务器编写

#include #include #include #include #include /* See NOTES */#include #include #include int main(){ int ret; int listenfd; int connfd; char buf[256]; struct sockaddr_in srvadd

2017-09-17 16:17:39 630

原创 poll机制

#include #include #include #include #include #include #include #include #include int client(int connfd){ int ret; char buf[256]; memset(buf, 0, sizeof(buf)); ret = read(connfd, buf, si

2017-09-17 16:13:20 236

原创 epoll机制

#include #include #include #include #include #include #include #include #include #include int client(int connfd){ int ret; char buf[256]; memset(buf, 0, sizeof(buf)); ret = read(connfd

2017-09-17 16:11:34 206

原创 select机制

#include #include #include #include #include #include #include #include #include int client(int connfd){ int ret; char buf[256]; memset(buf, 0, sizeof(buf)); ret = read(connfd, buf, si

2017-09-17 16:08:37 442

原创 fgets实现行号的统计

#include#include#include#include#includeint main(int argc, char *argv[]){ if (2 > argc) { fprintf(stderr, "usage: %s filename\n",argv[0]); return -1; } FILE *fd

2017-09-17 10:40:29 343

原创 "ls"功能的实现

#include#include#include#include#include#include#include#include#includeint main(){ DIR *dirp = opendir("."); /*打开目录*/ struct dirent *file; /*目录中的结构体指针*/ struct stat

2017-09-17 10:38:41 247

原创 互斥锁(加锁和解锁操作)

#include#include#include#include#include#include/* 互斥锁 */unsigned int value1, value2, count;pthread_mutex_t mutex;void *fun(void *arg);int main(){ pthread_t thread; if (0 > pthread_

2017-09-17 10:36:02 3169

原创 P-V操作(信号量的操作)

#include#include#include#include#include#include#includechar buf[60];sem_t sem;void *thread_fun(void *arg){ while(1) { sem_wait(&sem); printf("you enter %d characte

2017-09-17 10:32:31 2648

原创 创建守护进程

#include#include#include#include#include#include#include#include/* 守护进程 */void init_daemon(){ /*创建子进程,父进程退出*/ pid_t pid; if (0 > (pid = fork())) { perror("fork");

2017-09-17 10:28:44 198

原创 线程间机制(同步和互斥)

线程间机制{ 多线程共享同一个进程子地址空间 优点: 线程间很容易进行通信 1、 通过全局变量实现数据共享和交换 缺点: 多个线程同时访问共享对象时需要引入同步和互斥机制}线程的同步和互斥{ 同步 { 同步:指的是多任务(线程)按照约定的顺序相互配合完成一件事情 同步机制基于信号量提出,信号量来决定线程是继续运行还是阻塞等待 P---V操作 信号量是一种受保护

2017-09-17 10:26:26 755

原创 多线程编程

多线程编程/* 注意: 在编译pthread时, 需要加链接库: -lpthread*/{ #include /* 创建线程 */ int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*routine)(void *),void *arg); thread : 创建线程 attr:

2017-09-17 10:24:54 157

原创 文件IO和标准IO的比较

IO总结IO{ 标准IO, 文件IO 标准IO{ 1、是一种缓冲IO 2、操作的对象的文件流 FILE * 3、打开 fopen(); 4、关闭 fclose(); 5、读操作 fgetc(); gets(); fgets(); fread(); 6、写操作 fputc(); puts(); fputs(); fwrite(); 7、定位 fseek(

2017-09-17 10:21:04 585

原创 fgetc和fputc实现文件拷贝

#include/* fgetc读取一次读取一个字符 *//* int fgetc(FILE *stream); */int main(int argc,char *argv[]){ if (argc < 3) { fprintf(stderr, "usage:%s filename1, filename2\n", argv[0]); r

2017-09-15 20:11:07 743

原创 getc和putc实现文件拷贝

#include/* getc一次读取一个字符 */int main(int argc, char *argv[]){ if (argc < 3) { fprintf(stderr, "usage: %s filename1 filename2\n",argv[0]); return -1; } FILE *fd1 =

2017-09-15 20:09:20 414

原创 getchar和putchar的使用方法

#include/* fgetc,getc getchar 实现的功能都一样*//* 注意它们返回的都是int类型 */int main(int argc, char *argv[]){ int ret; ret = getchar(); /* stdin标准输入 */ if (EOF == putchar(ret)) /* 出错返回eof */

2017-09-15 08:26:08 3676

水温控制系统设计

水温自动控制系统。水温可以在一定范围内由人工设定,并能在环境温度降低时实现自动控制,以保持设定的温度基本不变。 利用单片机AT89S52实现水温的智能控制,使水温能够在40-90 度之间实现控制温度调节。利用仪器读出水温,并在此基础上将水温调节到我们通过键盘输入的温度(其方式是加热或降温),而且能够将温度显示在我们的1602上。

2019-04-17

空空如也

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

TA关注的人

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