monthday = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] weekname = ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"] # 计算某年某月某日是星期几 # 基姆拉尔森计算公式 defweek(y, m, d): if m == 1or m == 2: m = m + 12 y = y - 1 w = ((d + 2 * m + 3 * (m+1) / 5 + y + y/4 - y/100 + y/400) + 1) % 7 returnint(w)
year, month = input("输入日期,如:2012,4:") if year%4 == 0: monthday[1] = 29 w = week(year, month, 1)
print("%d年%d月" % (year, month)) print weekname[0], weekname[1], weekname[2], weekname[3], weekname[4], weekname[5], weekname[6] i = 0 while i < w: print(" "), i = i + 1 i = 1 while i <= monthday[month-1]: print("%3d " % i), i = i + 1 w = w + 1 if w == 7: print("") w = 0
设置方法: 打开开发板电源后进入u-boot,然后选择“[0] Set the boot parameters”。 再选择“[1] Set NFS boot parameter ”。 然后依次输入PC的IP、开发板的IP、子网掩码、NFS目录。 例子如下: Enter the PC IP address:(xxx.xxx.xxx.xxx) 10.10.10.2 Enter the SKY2440/TQ2440 IP address:(xxx.xxx.xxx.xxx) 10.10.10.3 Enter the Mask IP address:(xxx.xxx.xxx.xxx) 255.255.255.0 Enter NFS directory:(eg: /opt/EmbedSky/root_nfs) /opt/EmbedSky/root bootargs: console=ttySAC0 root=/dev/nfs nfsroot=10.10.10.2:/opt/EmbedSky/root ip=10.10.10.3:10.10.10.2:10.10.10.3:255.255.255.0:SKY2440.embedsky.net:eth0:off
输入好后再选择“[s] Save the parameters to Nand Flash”保存设置即可。
函数: key_t ftok(const char *filename, int proj_id); 通过文件名和项目号获得System V IPC键值(用于创建消息队列、共享内存所用) proj_id:项目号,不为0即可 返回:成功则返回键值,失败则返回-1
函数: int semget(key_t key, int nsems, int msgflg); key:键值,当为IPC_PRIVATE时新建。 nsems:信号个数。 msgflg:标志。 IPC_CREAT:不存在则新建,否则打开; IPC_EXCL:与IPC_CREAT一同使用时,只有在不存在时才创建,否则出错。 返回:成功则返回IPC标识符,出错返回-1
函数: int semop(int semid, struct sembuf *sops, unsigned nsops); semid:通过semget获取 sops:指向待操作的信号灯结构体,原型如下: struct sembuf{ unsigned short sem_num; //信号灯编号,从0开始 short sem_op; //为正数代表释放信号;为负代表获取信号 Short sem_flg; //操作的标识;IPC_NOWAIT:不阻塞;IPC_UNDO:程序结束时释放信号量 } nsops:要操作的信号量数 返回:成功则返回共享内存起始地址,失败返回-1
函数: void semctl(int semid, int semnum, int cmd, union semun arg); semid:通过semget获取 semnum:操作的信号灯编号 cmd:控制命令,如下: GETPID:获取sempid GETVAL:获取semval SETVAL:设置semval IPC_RMID:删除信号灯 arg:各个量使用与cmd设置有关 返回:成功返回与cmd相关的正数,错误返回-1