自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 求平方根的方法(牛顿迭代法和二分法)

#include #include #include using namespace std;double _sqrt(double val, double x)          //牛顿迭代法{    if(abs(x*x - val)     else{        x = (x + val/x)/2;        return _sqrt(val

2013-09-17 11:00:32 922

原创 找出数组中第二大值

找出数组中的第二大值。C++实现源码:#include#include#includeusing namespace std;static const int MaxArray = 20;int SecondValue(int a[], int n, int &Second){ if(n < 2){ return -1; } int

2013-07-30 16:24:19 759

原创 mutable关键字

C++中用const修饰的函数不能改变对象中的非静态成员的值。如果成员变量加了mutable修改字后,则可以在const修饰的函数中修改对象的成员值.

2013-07-25 22:39:37 383

转载 结构体struct的对齐问题

结构体struct的自然对齐问题下面的机构体struct A{    char c;    int i;    char cc;};它的sizeof()是多少呢? 如果是紧凑对齐的话,当然是sizeof(char)+sizeof(int)+sizeof(char); 但编译器默认编译的却不是紧凑对齐的,在32-bit的机器上编译结果是12, 这是一个char占用了一

2013-07-24 17:45:36 485

原创 Linux之线程

一、线程标识        每个线程有一个线程ID。进程ID在整个系统中是唯一的,但线程ID不同,线程ID只有在它所属的进程环境中有效。        线程ID用pthread_t数据类型来表示,可以用一个结构来代表pthread_t数据类型。#includeint pthread_equal(pthread_t tid1, pthread_t tid2);         返

2013-07-24 17:45:03 486

原创 Linux之信号

Linux中的信号都以一个正数表示,以SIG开头,不存在值为0的信号。内核在某个信号出现时按照三种方式之一进行处理:忽略此信号(SIG_IGN)。大多数信号的处理方式,但有两种信号不能忽略。SIGKILL和SIGSTOP捕捉信号。调用用户函数执行系统默认动作(SIG_DFL)。大多数信号的系统默认动作是终止进程一、signal函数#includevoid (*s

2013-07-22 17:44:18 407

转载 ubuntu的账户密码算法

OS:Ubuntu 11.04Compiler:gcc 4.5.2在/etc/shadow里,存放着系统账户密码的相关信息,文件格式如下:登录名:密文:最后一次修改密码时间:最小密码存活期:最长密码存活期:密码过期警告时间:密码失效时间:账户过期时间:保留字段再看加密后的密文,例如密码111111,加密后的密文为:$6$ehGch6YT$E.

2013-07-22 16:19:26 939

原创 Linux进程控制(一)

一、进程标识符#includepid_t getpid(void);         返回值:调用进程的进程IDpid_t getppid(void);         返回值:调用进程的父进程IDuid_t getuid(void);         返回值:调用进程的实际用户IDuid_t geteuid(void);         返回值:调用进程的有效

2013-07-20 17:09:03 522

转载 C语言宏定义中的连接符#和##

c语言宏定义的连接符有哪些(一)宏定义中的## 连接符与# 符           ## 连接符号由两个井号组成,其功能是在带参数的宏定义中将两个子串(token)联接起来,从而形成一个新的子串。但它不可以是第一个或者最后一个子串。所谓的子串(token)就是指编译器能够识别的最小语法单元。具体的定义在编译原理里有详尽的解释,但不知道也无所谓。同时值得注意的是#符是把传递过来的参数当成字符

2013-07-20 11:49:07 812

原创 setjmp函数和longjmp函数

这两个函数是为了解决深层次函数嵌套返回的问题。函数原型:                 #include                 int setjmp(jmp_buf env);                            返回值:若直接调用则返回0,若从longjmp调用返回则返回非0值。                 void longjmp(jm

2013-07-20 11:36:57 496

原创 标准I/O库

标准I/O库围绕流(stream)进行,可用于单字节或多字节("宽")字符集。对于ASCII字符集,一个字符用一个字节表示,对于国际字符集,一个字符可用多个字符表示。一、流的定向流的定向决定了所读、写的字符是单字节还是多字节的。当一个流最初被创建时,并没有定向。如若在一个未定向的流上使用一个多字节I/O函数,则将该流的定向设置为宽定向的。若在未定向的流上使用一个单字节的I/O函数,则将将流

2013-07-19 17:44:42 571

原创 Linux文件I/O

一、Linux环境下I/O操作函数主要有:open、read、write、lseek、close五种。下面是各函数原型: #include int open(const char *pathname, int oflag, .../*mode_t mode*///返回值,若成功则返回文件描述符,若出错则返回-1oflag参数:(在fcntl.h中定义)O_RDONLY: 以

2013-07-14 17:39:11 589

原创 snprintf()函数与sprintf函数的区别

函数原型:int snprintf(char *restrict buf, size_t n, const char *restrict format, ...)int sprintf(char *restrict buf, const char *restrict format,...)snprintf()函数与sprintf()函数都可以向指针指向的位置写入数据,但snprintf

2013-01-20 15:19:42 795

转载 fork()函数的理解

fork()函数,Linux系统调用:头文件包含:  #include  函数定义:  int fork(void);  返回值:  子进程中返回0,父进程中返回子进程ID,出错返回-1  函数说明:     一个现有进程可以调用fork函数创建一个新进程。由fork创建的新进程被称为进程(child process)。fork函数被调用一次但返回两次。两次返回的唯

2013-01-20 12:13:28 358

原创 Python中is与 "=="的区别

Python中的对象包含三要素:id、type、valueid用来唯一标识一个对象,type标识对象的类型,value是对象的值其中:is  判断的是a对象是否就是b对象,是通过id来判断的==  判断的是a对象的值是否和b对象的值相等,是通过value来判断的

2012-10-29 18:46:10 343

转载 VIM 配置之代码折叠

vim代码折叠方式可以用“fdm”选项来设置,如:set fdm=indent有六种方式折叠代码:1. manual //手工定义折叠2. indent //用缩进表示折叠3. expr  //用表达式来定义折叠4. syntax //用语法高亮来定义折叠5. diff   //对没有更改的文本进行折叠6. marker //用标志折叠  在/etc/中找到vi

2012-10-18 14:25:02 338

原创 第二篇 字符设备驱动之按键

按键字符设备用到了关于中断和等待队列的知识:基于友善之臂micro2440,linux内核版本为2.6.29.4。目的:控制六个开关,每个开关能够单独打开和关闭。源代码如下所示:头文件 key.h:#ifndef __KEY_H#define __KEY_H#define KEY_MAJOR 200#define DRIVER_NAME "key_driver"

2012-10-17 15:29:55 352

转载 Linux下对ftp的配置

vsftpd配置文件采用“#”作为注释符,以“#”开头的行和空白行在解析时将被忽略,其余的行被视为配置命令行,每个配置命令的“=”两边不要留有空格。对于每个配置命令,在配置文件中还列出了相关的配置说明,利用vi编辑器可实现对配置文件的编辑修改。方法如下:     #vi /etc/vsftpd/vsftpd.conf1.登录和对匿名用户的设置 write

2012-10-15 21:13:45 315

原创 第一篇 字符设备驱动程序之LED流水灯驱动

第二次写字符设备驱动程序,对字符设备驱动有了进一步的了解。程序的思考参考于:http://bbs.witech.com.cn/forum.php?mod=viewthread&tid=6408&extra=page%3D1    基于友善之臂micro2440,linux内核版本为2.6.29.4。    首先给出源代码(lightwater.c):#include#incl

2012-10-14 14:15:11 928

空空如也

空空如也

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

TA关注的人

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