自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 资源 (6)
  • 收藏
  • 关注

原创 布尔类型

代码1:#include using namespace std;int main() { bool a = 3; bool b = 5; bool c = a + b; 1+ 1 = 2,2 非0, cout <<boolalpha<< "a + b " << c << endl;}运行结果如下:wangkai@ubunt

2012-05-31 11:01:26 560

原创 布尔型bool

代码1:#include using namespace std;int main() { bool a = 3; bool b = 5; bool c = a + b; 1+ 1 = 2,2 非0, cout <<boolalpha<< "a + b " << c << endl;}运行结果如下:wangkai@ubunt

2012-05-31 11:00:38 459

原创 关于enum的函数 问什么调不通

#include using namespace std;int main() { enum week { Mon = 5, Tue, Wed, Thu = 55, Fri, Sta, Sun }; week day = 6; cout << "day" << day << endl; }编译时遇到下面的问题: wangkai@ubunt

2012-05-31 10:44:10 376

原创 string()是什么意思啊 ???

#include using namespace std;int main() { for (int i = 1; i <= 10; ++i) { cout << string( 10 - i, ' ' ); for( char ch = 'A'; ch <= 64 + 2*i; ++ch ) cout << ch; cout

2012-05-31 10:18:22 2173

原创 字符型

字符和整形还是有区别的,最大的区别在于:输出方式上,字符型的输出不是整数,而是该整数所代表的ASCII码字符。代码:#include #include #include using namespace std;int main() { int a= 65; char b = 65; cout << a <<" "<< b<< endl;

2012-05-31 09:50:51 386

原创 c++/C 的用户手册

http://en.cppreference.com/w/  http://www.cplusplus.com/reference/

2012-05-30 10:24:16 455

原创 顺序英文字母三角塔

#include #include #include using namespace std;int main(){ for( int i = 1; i <= 10; ++i ) { for(int j = 1; j <= 10 - i; ++j) cout << " "; for( int k = 1; k <= 2 * i - 1; +

2012-05-30 09:06:26 699

原创 打印倒三角

#include #include using namespace std;int main(){ for( int i =1; i <= 10; ++i ){ for( int j = 1; j <=i-1; ++j ) cout<<" "; for( int k =0;k < (19-2 * i ); ++k ) cout<<"M";

2012-05-29 20:58:41 602

原创 循环设计

1、直角三角形#include #include using namespace std;int main(){ for( int i =1; i <= 10; ++i ){ for( int j = 1; j <=i; ++j ) cout<<"M"; cout<<endl; }}运行结果如下: wangkai@ub

2012-05-29 20:48:46 373

原创 while循环式for循环的特例

#include #include using namespace std;int main(){ int i =1, sum = 0; for( ; i <= 100; ) sum += i++; cout << "for "<< "sum " << sum << endl; /*上面的代码又可以用下面的while*/ i = 1

2012-05-29 20:42:45 469

原创 do-while循环

在编程中,循环语句用的最多的是for循环,很少用do-while循环。  #include #include using namespace std;int main(){ int sum; do{ int i = 1; sum += i; i++; }while(i <= 100); cout << "sum is " << su

2012-05-29 20:33:02 378

原创 函数的声明和定义

#include using namespace std;void sphere();int main(){ sphere();}void sphere(){ double radius; cout<<"Please input radius : "; cin>>radius; if( radius < 0 ) retur

2012-05-29 19:51:18 299

原创 经由父进程向子进程传送数据

#include #include #include #define MAXLINE 100int main( void ){ int fd[2]; pid_t pid; char line[MAXLINE]; int n; if(pipe( fd ) < 0 ) printf( "pipe error!\n" ); if((pid

2012-05-29 19:18:25 1544

原创 捕捉SIGUSR1 SIGUSR2的简单程序

#include #include #include static void sig_usr( int signo );int main( void ){ if(signal( SIGUSR1, sig_usr ) == SIG_ERR) printf( "Can't catch SIGUSR1" ); if(signal( SIGUSR2, si

2012-05-29 18:48:00 1249

原创 线程清理处理程序

#include #include #include #include void cleanup( void *arg ){ printf( "cleanup : %s\n", (char *)arg );}void * thr_fn1( void *arg ){ printf( "thread 1 start\n" ); pthread

2012-05-29 18:13:59 490

原创 不正确的 pthread_exit参数

#include #include #include #include struct foo { int a, b, c, d;};void printfoo(const char *s, const struct foo *fp ){ printf( " %s\n", s ); printf( " structure at 0x%x\n", (

2012-05-29 10:55:16 892

原创 线程终止

#include #include #include void* thr_fn1( void * arg ){ printf( "thread 1 returning\n" ); return (void *)100s;}void * thr_fn2( void *arg ){ printf( "thread 2 returning\n" );

2012-05-29 08:32:11 331

原创 线程的概念及其创建

控制线程 ,简称线程。典型的UNIX进程可以看成只有一个控制线程:一个线程在同时只做一件事。有了控制线程后,在程序设计时成在同一时刻做不止一件事情。每个线程各自独立的任务。这种方法的有以下好处:1、简化异步事件代码2、多线程自动访问相同的存储空间和文件描述符3、吞吐量4响应时间。 #include #include #include pthread_t

2012-05-28 20:45:19 354

原创 进程关系

1、终端登录早期:哑终端:登录都经由内核中的终端驱动程序;2、网路登录区别:终端盒计算机之间的连接不是点对点的连接。所有的登录都经由内核的网络接口驱动程序(如以太网驱动程序)

2012-05-27 17:00:18 258

原创 时间以及执行所有命令行参数

#include #include #include #include static void do_cmd( char * );static void pr_times( clock_t, struct tms *, struct tms *);int main( int argc, char *argv[] ){ int i; setbuf

2012-05-26 21:03:07 518

原创 execl: Permission denied

在运行8-10的代码时,出现下面的错误。wangkai@ubuntu:~/Test$ ./a.out execl error!execl: Permission deniedwaitpid error!wangkai@ubuntu:~/Test$ 代码1#include #include #include #include #include

2012-05-26 16:56:39 2639 1

原创 关于exec的例子

回送所有命令行参数和所有环境字符串 程序清单:#include #include int main( int argc, char *argv[] ){ int i; char **ptr; extern char **environ; for( i = 0; i < argc; i++ ) printf( "argv[%d] : %s\n",

2012-05-26 15:43:13 1005

原创 为何要fork()两次来避免产生僵尸进程?

当我们只fork()一次后,存在父进程和子进程。这时有两种方法来避免产生僵尸进程:父进程调用waitpid()等函数来接收子进程退出状态。 父进程先结束,子进程则自动托管到Init进程(pid = 1)。       目前先考虑子进程先于父进程结束的情况:      若父进程未处理子进程退出状态,在父进程退出前,子进程一直处于僵尸进程状态。 若父进程调用waitpid()(

2012-05-25 15:01:34 488

原创 带优化和不带优化的setjmp 和longjmp函数

#include #include #include static void f1( int, int, int, int );static void f2(void);static jmp_buf jmpbuffer;static int globval;int main(void){ int autoval; register int re

2012-05-24 19:41:02 529

原创 终止处理程序

#include #include static void my_exit1(void);static void my_exit2(void);int main(void){ if(atexit(my_exit2) != 0 ) printf( "my_ext2 register failured!\n" ); if(atexit(my_exit1)

2012-05-24 16:45:43 501

原创 main函数

int main( int argc, char *argv[] )argv是指向各个指针所构成的数组。当内核执行C程序时,在调用main前先调用一个特殊的启动例程。可执行文件将此启动例程指定为程序的起始地址,这是由连接编译器设置的。 而链接编辑器则由C编译器cc调用的。内核启动例程从内核取得命令行参数和环境变量,然后为按上述方式调用main函数做好安排。 如果将启

2012-05-24 15:56:03 413

原创 临时文件

用mkstemp创建临时文件。 #include #include #include #include int main( int argc, char *argv[] ){ char temp[45] = "wangkaiXXXXXX"; int fd; if(( fd = mkstemp( temp ) ) < 0){ printf( "m

2012-05-24 15:41:01 312

原创 标准IO效率

1、用getc 和utc将标准输入复制到标准输出 #include #include int main(void){ int c; while((c = getc(stdin)) != EOF ) if (putc(c,stdout) == EOF ) printf( "output error!\n" ); if(ferror(stdi

2012-05-24 09:51:37 612

原创 递归降序遍历层次目录

关于path_alloc函数::::http://www.cnblogs.com/xiaoliyu/archive/2009/03/08/1406448.html #include #include #include #include #include #include /* function type that is called for each filename

2012-05-23 14:34:13 400

原创 文件长度

1、现今,大多数的UNIX 系统提供了st_blocksize和st_blocks。 其中,第一个是对文件IO较合适的块长度,第二个是所分配的实际512字节块的数量。  当我们将st_blocksize用于读操作时,读一个文件所需要的时间量最小。为了效率的缘故,标准IO库也试图以此读、写st_blocksize个字节。 文件中的空洞用ls命令显示的文件的长度  大于  du

2012-05-22 11:07:23 639

原创 chmod fchmod 系统调用

#include #include #include #include #include #define RWXRWXRWX (S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH |S_IXUSR | S_IXGRP |S_IXOTH )int main(){ struct stat statb

2012-05-22 08:50:34 1037

原创 文件和目录

1、与一个进程相关联的ID 有6个或者更多。实际、有效、保存的设置。 设置用户ID 和设置组ID当执行一个程序文件时,进程的有效用户ID通常就是实际的用户ID,有效组ID通常就是实际的组ID。但是,可以在在文件模式字(st_mode)中设置一个特殊的标志,其含义是“当执行此文件时,将进程的有效用户ID设置为文件所有者的用户ID(st_uid)”。组,,,与此类似。 例如,若

2012-05-21 19:18:31 386

原创 Single UNIX Specification

Single UNIX Specification ( 单一UNIX规范 ) 是一组用来定义可以称为"UNIX"的计算机操作系统的标准的集合。 Single UNIX Specification是基于IEEE(电气和电子工程师协会)和Open Group的工作,由Austin Group发展和维护。[1] Single UNIX Specification是POSIX.1标准的超集,定

2012-05-21 17:04:50 762

原创 shell脚本学习

参见网页:http://learn.akae.cn/media/ch31.html

2012-05-21 16:20:58 243

原创 fcntl函数,,利用shell重定向在描述符上打开文件

一个很好的网址 :Linux C编程一站式学习http://learn.akae.cn/media/index.html 内核和用户空间都有缓冲机制。fcntl()可以改变已打开文件的性质。在unix环境高级编程的p64页上,对于指定的描述符打印文件标志 运行命令有几个地方太清楚。参考:http://learn.akae.cn/media/ch28s06.html ----

2012-05-21 16:19:59 703

原创 文件IO

按照惯例,UNIX系统shell 使用文件描述符0 与进程的标准输入相关联。。。。。这是各种shell 以及很多应用程序使用的惯例,而与内核无关。 在依从POSIX的应用程序中,幻数0 1 2 应当替换成符号常量 这些常量在 头文件中。运算符优先级搞错的话,很悲剧。在apue书的55页。测试将标准输入复制到标准输出的例子中。#include #include

2012-05-21 11:49:48 257

原创 关于源代码的使用

My Environment.===========================================================shunwang@shunwang-desktop:~$ lsb_release  -aNo LSB modules are available.Distributor ID:    UbuntuDescription:    Ub

2012-05-20 11:16:10 728

原创 动态内存分配实例

例子1、#include #include int main(){ int *pi, *pi2; pi = ( int * )malloc( 10 * sizeof( int ) ); if( pi == NULL ) printf( " out of memory!\n" ); else printf( "malloc success!\n" )

2012-05-17 09:48:02 642

原创 结构的存储分配

这个很重要。编译器按照成员列表的顺序一个接一个的给每个成员分配内存,只有当存储成员时 需要满足正确的边界对其要求时,成员之间才可鞥出现填充的额外内存空间。 系统禁止编译器在一个结构的起始位置跳过几个字节来满足边界对其的要求,因此所有的 结构的起始存储位置 必须是结构 中边界要求最严格的数据类型所要求的位置。你可以在声明时 对结构的成员类表重新 排列,让那些读边界要求最严格的成员 首先出

2012-05-16 19:19:36 600 1

原创 结构的声明

在声明结构时,必须列出它包含的所有成员,这个列表包含每个成员的类型和名字。struct tag { membler-liset } varibale-lists; #include #include #include using namespace std;int main(){ struct SIMPLE { int a; char b; fl

2012-05-16 18:54:24 466

jdk1.7 (copy).0_80_part2.tar.gz

jdk1.7 (copy).0_80_part2.tar.gz jdk1.7 (copy).0_80_part2.tar.gz

2018-01-13

jdk1.7.0_80_part1.tar.gz

jdk1.7.0_80_part1.tar.gz jdk1.7.0_80_part1.tar.gz

2018-01-13

apache-tomcat

opengrock 依赖的 apache-tomcat包 opengrock 依赖的 apache-tomcat包

2018-01-13

USB 规范2.0 英文

USB 规范2.0 英文,进行驱动程序分析,进行USB驱动开发,USB规范都是必不可少的资源。

2013-04-14

USB2.0规范(中文)

USB2.0技术规范(中文).pdf 学习USB驱动程序,spec很重要!!

2013-04-12

空空如也

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

TA关注的人

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