唯有前进值得敬仰

---等得越久,相聚时越幸福
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2011年3月16日

摘要: 给出一个任意一个正整数x,可能很大,求出比它大的最小对称数。#include<iostream>using namespace std;char *get_palindromic_num(char *num){//为了节省空间,可以只用一个数组tmp,这里我就不优化了 int len=strlen(num); char *tmp=new char[len*2]; char *ret=new char[2*len]; if(len==1) {//如果只有一个数字字符,<9,则最小对称数为num+1,>=9,则为11; if(num[0]-'0'<9) 阅读全文

posted @ 2011-03-16 15:50 绿豆芽33 阅读(839) 评论(2) 推荐(0) 编辑

2010年12月20日

摘要: 问题如题,比如已知今天是周一,那么判断历史上或未来是的任一天是周几?这个问题不难,但是写起代码来还是有点复杂的,好多人在笔试的时候都是放弃该题的。趁自己有空的时候写了一下,贴出来共享。程序写得比较简单,没有进行什么错误检查。执行例子:enter a date:year month day=======2010 12 20回车week ?1回车enter another date but don't know on which weekday======2009 12 1回车代码 阅读全文

posted @ 2010-12-20 16:48 绿豆芽33 阅读(1832) 评论(0) 推荐(0) 编辑

2010年9月25日

摘要: 阅读全文

posted @ 2010-09-25 17:29 绿豆芽33 阅读(857) 评论(2) 推荐(0) 编辑

2010年7月13日

摘要: 进程与信号这部分内容在linux 网络编程经常用到,如服务器守护进程,在此先概括一下基本知识。一、进程1.创建进程 #include<unistd.h> pid_t fork(void);父进程中,函数fork返回子进程的进程号,应该是一个正整数;子进程中,函数fork返回0,调用失败,返回-1。2.创建新进程的必要处 进程需要执行一个新的任务,而它自己同时执行另一个任务;例如,在网络... 阅读全文

posted @ 2010-07-13 19:39 绿豆芽33 阅读(502) 评论(0) 推荐(0) 编辑

2010年7月12日

摘要: 一、是什么我们学习C语言时最经常使用printf()函数,但我们很少了解其原型。其实printf()的参数就是可变参数,想想看,我们可以利用它打印出各种类型的数据。下面我们来看看它的原型:int printf( const char* format, ...);它的第一个参数是format,属于固定参数,后面跟的参数的个数和类型都是可变的(用三个点“…”做参数... 阅读全文

posted @ 2010-07-12 21:50 绿豆芽33 阅读(7415) 评论(3) 推荐(3) 编辑

2010年7月9日

摘要: 我在编程基础2中写的基本上都是tcp的内容,这一节是有关udp的。本节的主要内容——两个重要函数:recvfrom和sendto。函数的声明是这样的:int recvfrom(int sockfd, void *buf, int len, unsigned int flags, struct sockaddr *from, int *fromlen); int sendto... 阅读全文

posted @ 2010-07-09 22:28 绿豆芽33 阅读(633) 评论(0) 推荐(0) 编辑

摘要: 一、基本套接字函数socket,connect,bind,listen,accept,close函数socket创建的套接字是主动套接字,可以用来进行主动连接(调用connect),但是不能接收连接请求,而服务器的套接字必须能够接受客户机的请求,函数listen的作用就是将一个尚未连接的主动套接字转换成一个被动套接字(称之为倾听套接字):告诉TCP协议,可以接受连接请求。倾听套接字是专门用来接收客... 阅读全文

posted @ 2010-07-09 15:40 绿豆芽33 阅读(533) 评论(1) 推荐(0) 编辑

2010年7月8日

摘要: 套接字基础1套接字是网络编程的一个通用接口,支持很多协议,每种协议使用不同的套接字地址结构。linux系统定义了一种通用的套接字地址结构:#include<linux/socket.h>struct sockaddr{  unsigned short sa_family;  charsa_data[14];};其中的sa_family为套接字的协议簇地址类型,如TCP/IP的类型为AF... 阅读全文

posted @ 2010-07-08 23:30 绿豆芽33 阅读(440) 评论(0) 推荐(0) 编辑

摘要: 一直缠绕的两个问题:怎样标识的内核栈与用户栈?如何在内核态堆栈与用户态堆栈之间切换?用户态堆栈指针:ss和esp;内核态堆栈指针:ss0和esp0;二者均位于任务的tss结构中。这里的任务是指除任务0和1之外的普通任务。CPU进行用户态堆栈到内核态堆栈的切换操作时,CPU会从当前任务的任务状态段TSS中取得新堆栈的段选择符和偏移值,即从TSS的ss0和esp0字段中获取,在定位了新堆栈(内核态堆栈... 阅读全文

posted @ 2010-07-08 14:32 绿豆芽33 阅读(911) 评论(0) 推荐(0) 编辑

摘要: linux-0.11内核中关于信号处理这部分内容主要涉及四个文件system_call.s,signal.h,signal.c,exit.c。其中signal.h,signal.c中定义和实现了内核中所有有关信号处理的函数,当然exit.c中还有两个与信号相关的函数send_sig与tell_father。linux-0.11内核中定义了22种不同的信号,20种是posix.1中规定的,还有两个专... 阅读全文

posted @ 2010-07-08 10:26 绿豆芽33 阅读(1348) 评论(0) 推荐(0) 编辑