如题 代码如下
#include
by ckf513728912 - C/C++ - 2012-03-09 13:46:10 阅读(5754) 回复(4)
int sys_waitpid(pid_t pid,unsigned long * stat_addr, int options)//挂起当前进程,直到pid指定的子进程退出终止或者收到要求终止该进程 的信号 ,或者需要调用 一个信号处理函数 { int flag, code; struct task_struct ** p; verify_area(stat_addr,4);//验证区域大小是否可用 repeat: flag=0; for(p = &LAST_TASK ; p > &FIRST_TASK ; --p) { if (!*p || *p == current)//空项,本进程项跳过 ...
下面代码为要这样写,两种情况有什么不同?[code] #ifdef __ASSEMBLY__ #define __PAGE_OFFSET (0xC0000000) #else #define __PAGE_OFFSET (0xC0000000UL) #endif [/code]
我认为: int数据类型是平台相关的,针对32 bit CPU平台的Compiler会分配32 bit存储空间,针对64 bit CPU平台的Compiler会分配64 bit存储空间。 long类型是平台无关的,无符号的,固定分配4字节,32 bit。 long long类型则是long的2倍,也是无符号的,64 bit,8字节。 不知道理解对不对。 另外,我不清楚long int与long和int是什么关系,请知道的指教,谢谢。
unsigned long的最大上限是:4294967296,但我又不想用unsigned long long的类型 unsigned i=4294967296; 要令 i+1后输出 = 4294967297应该怎样做? 如果直接 i+=1的话,那i 就会溢出成为0, 记得有种方法是用sprintf的写进char类型的数组里面,然后在进行 %s的输出即可达到,但忘记怎样做了,望资深老大指教。
题目:将n转换为k(2<= k <=36)进制,int NumConvert(int n, int k)
代码如下:[code]
#include