自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (1)
  • 问答 (11)
  • 收藏
  • 关注

原创 使用sqlite3_exec回掉函数输出查询内容

#include #include #include int my_callback(void *param, int f_num, char **f_value, char **f_name){        int i;for(i = 0; i {   printf("%s\t",*(f_name+i));   printf("%s\n",*(f_n

2016-10-31 13:09:20 4886 3

转载 Linux多线程编程--同步与互斥

同步与互斥这两个概念经常被混淆,所以在这里说一下它们的区别。一、同步与互斥的区别1. 同步同步,又称直接制约关系,是指多个线程(或进程)为了合作完成任务,必须严格按照规定的 某种先后次序来运行。例如,线程 T2 中的语句 y 要使用线程 T1 中的语句 x 的运行结果,所以只有当语句 x 执行完成之后语句 y 才可以执行。我们可以使用信号量进行同步:

2016-10-31 13:04:54 222

转载 Linux系统调用--semctl函数详解

来源:http://club.cn.yahoo.com/bbs/threadview/1200062866_109__pn1.html【semctl系统调用】       功能描述: 在指定的信号集或信号集内的某个信号上执行控制操作。  用法:  #include #include #include int semctl(int semi

2016-10-30 00:02:00 1180

转载 Linux进程间通信——使用共享内存

实验目的   通过编写共享内存实验,进一步了解使用共享内存的具体步骤,同时加深对共享内存的理解。在本实验中,采用信号量作为同步机制完善两个进程(“生产者”和“消费者”)之间的通信。实验内容   利用共享内存实现文件的打开和读写操作。所需知识点:信号量、共享内存。实验流程图   实验代码   本实验共需要5个文件,其中producer.c实现了

2016-10-28 23:18:10 494

原创 LINUXC_管道通信

实现:一个发一个写接收:#include #include #include #include #include #include #include #include struct my_msg_st{    long int my_msg_type;char some_text[BUFSIZ];};int

2016-10-27 23:41:52 317

转载 linux c语言 select函数用法

linux c语言 select函数用法  表头文件#i nclude#i nclude#i nclude定义函数int select(int n,fd_set * readfds,fd_set * writefds,fd_set * exceptfds,struct timeval * timeo

2016-10-26 22:56:00 639 1

原创 守护进程——管道通信

任务要求:守护进程(读进程)与另一进程(写进程)保持通信,每当进程结束时重启进程。验证时使用文件流操作,查看进程运行内容。实现方法:我把两个都写成了守护进程。读进程:#include#include#include #include#include#include#include#include#include#include

2016-10-25 17:15:14 544

转载 共享内存——进程间通信

读进程#include #include #include #include #include #include #include #include "shm_com.h"int main(void){    int running=1;void *shared_memory=(void *)0;struct shared_use_st

2016-10-24 23:50:52 307

转载 共用体(联合体)与结构体的区别

联合体,又称共用体。编程的时候需要使几种不同类型的变量存放到同一段内存单元中,而衍生出来的一种类型。也就是说,联合体中每次只能存其中的一个变量,这个变量在联合体变量中存入新的成员就失效了!!!用法与结构体一致,但是多用于结构体内部。 1 struct name 2 { 3   int age; 4   char* name; 5 union text //text是

2016-10-23 22:56:13 1962

转载 linux C守护进程编写

linux编程-守护进程编写 守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待 处理某些发生的事件。守护进程是一种很有用的进程。 Linux的大多数服务器就是用守护进程实现的。比如,Internet服务器inetd,Web服务器httpd等。 同时,守护进程完成许多系统任务。比如,作业规划进程crond,打

2016-10-22 23:41:28 296

转载 守护进程

本文主要包括三个部分: 一是如何实现一个守护进程,二是如何检测一个进程是否活着,三是保证某一执行文件只有一个实例在运行。1.守护进程守护进程的最大特点就是脱离了中断,Linux提供了一个系统调用daemon(),要想自定义实现的话,主要包括以下六个步骤: 1.第一步是使用umask函数,把所有的文件屏蔽字置0。文件屏蔽字是可以继承的,当你有相关操作时,如果你要创建一个文件,

2016-10-22 23:14:23 245

转载 多路复用

多路复用:select、poll #include #include #include #include #define MAX(a,b) (a>b?a:b) int main(){ int fd[3]; char buff[1024]; int res,max_fd,i,num; fd_set insert,temp_insert; struct timeval tv; fd[0]=0; if(

2016-10-22 21:56:27 288

转载 共用体(联合体)与结构体的区别

联合体,又称共用体。编程的时候需要使几种不同类型的变量存放到同一段内存单元中,而衍生出来的一种类型。也就是说,联合体中每次只能存其中的一个变量,这个变量在联合体变量中存入新的成员就失效了!!!用法与结构体一致,但是多用于结构体内部。 1 struct name 2 { 3   int age; 4   char* name; 5 union text //text是

2016-10-20 22:40:35 552

转载 跳石板——动态规划

#includeiostream>  #includevector>  #includemath.h>    using namespace std;  void calYueshu(int n,vectorint> &yueshu);        int main()  {      int N,M;      cin>>N>>M;      vec

2016-10-19 23:12:17 741

转载 守护进程

1、 守护进程的概念:守护进程(Daemon)是一种运行在后台的一种特殊的进程,它独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件。由于在Linux中,每个系统与用户进行交流的界面成为终端,每一个从此终端开始运行的进程都会依附于这个终端,这个终端被称为这些进程的控制终端,当控制终端被关闭的时候,相应的进程都会自动关闭。但是守护进程却能突破这种限制,它脱离于终端并且在后台运行,

2016-10-18 23:02:52 999

转载 文件锁

文件锁是一种文件读写机制,在任何特定的时间只允许一个进程访问一个文件。利用这种机制能够使读写单个文件的过程变得更安全。在这篇文章中,我们将探讨Linux中不同类型的文件锁,并通过示例程序来理解它们之间的不同之处。我们将采取以下的例子来解释为什么需要使用文件锁。1、  进程“A”打开和读取一个文件,此文件包含账户相关的一些信息。2、  进程“B”也打开了这个文件,并读

2016-10-17 22:00:11 462

转载 exec函数族的作用与讲解

以下内容转自:http://www.cppblog.com/prayer/archive/2009/04/15/80077.html也许有不少读者从本系列文章一推出就开始读,一直到这里还有一个很大的疑惑:既然所有新进程都是由fork产生的,而且由fork产生的子进程和父进程几乎完全一样,那岂不是意味着系统中所有的进程都应该一模一样了吗?而且,就我们的常识来说,当我们执行一个程序

2016-10-16 23:37:12 513

转载 计算机中堆栈的概念

这两天学习win32的API, 了解到了计算机中堆栈的概念,相信很多程序员有时候也弄不明白计算机中的堆栈的数据结构。再次为堆栈做一下详细解析。在英文中,我们管栈称为stack,管堆称为heap。在计算机中,堆栈是两种不同的数据结构,但堆栈均为一种按序排列的数据结构。只能在一端对数据项进行插入和删除。其中的关键是,堆,的排列顺序是随意的,而栈,排列顺序是先进后出(First In Last Ou

2016-10-16 23:35:03 3277 3

转载 C使用FILE指针文件操作

C使用FILE指针文件操作文件文件的基本概念  所谓“文件”是指一组相关数据的有序集合。 这个数据集有一个名称,叫做文件名。实际上在前面的各章中我们已经多次使用了文件,例如源程序文件、目标文件、可执行文件、库文件 (头文件)等。文件通常是驻留在外部介质(如磁盘等)上的,在使用时才调入内存中来。从不同的角度可对文件作不同的分类。从用户的角度看,文件可分为普通文件和设备文件

2016-10-16 00:26:16 2974

原创 跳石板(待改进)

题目描述小易来到了一条石板路前,每块石板上从1挨着编号为:1、2、3……. 这条石板路要根据特殊的规则才能前进:对于小易当前所在的编号为K的 石板,小易单次只能往前跳K的一个约数(不含1和K)步,即跳到K+X(X为K的一个非1和本身的约数)的位置。 小易当前处在编号为N的石板,他想跳到编号恰好为M的石板去,小易想知道最少需要跳跃几次可以到达。 例如: N = 4,M = 2

2016-10-14 01:36:32 207

转载 算法导论(14)

14.1 动态顺序统计 顺序统计树(order-statistic tree)只是简单地在每个结点上存储附加信息的一颗红黑树,使得可以在O(logn)时间内确定任何的顺序统计量。struct node{ int key,color,size; node *left,*right,*p; node():color(BLACK){}};//查找具有给定秩的元素,

2016-10-13 22:51:58 219

原创 优雅的点

小易有一个圆心在坐标原点的圆,小易知道圆的半径的平方。小易认为在圆上的点而且横纵坐标都是整数的点是优雅的,小易现在想寻找一个算法计算出优雅的点的个数,请你来帮帮他。例如:半径的平方如果为25优雅的点就有:(+/-3, +/-4), (+/-4, +/-3), (0, +/-5) (+/-5, 0),一共12个点。 输入描述:输入为一个整数,即为圆半径的平方,范围在32位int范围内

2016-10-12 15:05:41 336

转载 回文序列

如果一个数字序列逆置之后跟原序列是一样的就称这样的数字序列为回文序列。例如:{1, 2, 1}, {15, 78, 78, 15} , {112} 是回文序列, {1, 2, 2}, {15, 78, 87, 51} ,{112, 2, 11} 不是回文序列。现在给出一个数字序列,允许使用一种转换操作:选择任意两个相邻的数,然后从序列移除这两个数,并用这两个数字的和插入到这两个数之

2016-10-11 23:30:22 506

转载 操作系统——实验一.进程管理

#include "conio.h"                          #include "stdio.h"#include "stdlib.h"              struct jincheng_type   {      int pid;     int youxian;     int daxiao;     int msg;   

2016-10-10 23:11:39 8673 1

原创 12864并口

#ifndef _LCD12864_PARAL_H_#define _LCD12864_PARAL_H_//ÒѾ­»ù±¾²ÎÊý#define LCD_X_MAX 127#define LCD_Y_MAX 63//ÿÐеÄÊ×µØÖ·,»ùÓÚRT12864-4MÐÍÒº¾§#define LINE_ONE_ADDRESS  

2016-10-10 00:01:15 476

转载 FAT32文件

/*---------------------------------------------- * 模 块 名:文件系统 * 功能描述:读写基于FAT32格式的数据  * 调试平台:UMP3 * * 当前版本:1.0 * 作    者:xx * 完成日期:2010-6-28 * 存在BUG:未知 * 调试结果:完成调试 * * 说    明:本文件系统

2016-10-08 23:41:04 1187

转载 哈希算法

哈希算法哈希算法将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。要找到散列为同一个值的两个不同的输入,在计算上是不可能的,所以数据的哈希值可以检验数据的完整性。一般用于快速查找和加密算法。基本特点哈希表是根据设定的哈希

2016-10-07 22:05:13 342

原创 一个烙饼排序程序

C++#include #include class CPrefixSorting{public: CPrefixSorting() { m_nCakeCnt = 0; m_nMaxSwap = 0; } ~CPrefixSorting() { if(m_CakeArray != NULL) { delete m_CakeArray; } if(

2016-10-06 05:39:11 532

转载 串行12864显示

#include #include #define uchar unsigned char#define uint  unsigned intsbit CS=P2^5;sbit SID=P2^6; sbit SCLK=P2^7;sbit RST=P2^2;sbit CH = P2^4;void delay(unsigned int t){

2016-10-05 22:41:10 1250 1

转载 API

api (应用程序编程接口)API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。Windows APIAPI函数包含在Windows系统目录下的动态连接库文件中。Windows API是一套用来控制Win

2016-10-04 22:46:44 246

原创 实现CPU正弦曲线

DWORD 就是 Double Word, 每个word为2个字节的长度,DWORD 双字即为4个字节,每个字节是8位,共32位#include #include  #include  #include const int SAMPLING_COUNT = 200; //抽样点数;const double PI = 3.1415926535; //piconst

2016-10-03 18:22:02 943

转载 C++及C中的 string char指针及char数组

转自:http://www.cnblogs.com/ffhajbq/archive/2012/06/01/2529354.htmlC++及C中的 string char指针及char数组C++中string是标准库中一种容器,相当于保存元素类型为char的vector容器(自己理解),这个类提供了相当丰富的函数来完成对字符串操作,以及与C风格字符串之间转换,下面是对stri

2016-10-02 21:38:01 473

转载 位、字节和字

位、字节和字   (1)位  :在计算机中,数据的最小单位是位,表示一个二进制数码0或1  (2)字节  :8个二进制位构成1个字节(B),1个字节可以储存1个英文字母或半个汉字。   字节是存储空间的基本计量单位,计算机杨的内存和磁盘的容量都是以字节表   示的。八位二进制数最小为00000000,最大为11111111;  (3)字长:电脑技术中对CPU在单位时间内(同

2016-10-01 22:39:16 401

空空如也

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

TA关注的人

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