本帖最后由 Susake_ 于 2013-11-10 14:13 编辑
在另外一个论坛看见一个题目觉得挺有意思的....
简单点说就是
输入 add(min(1,1000),add(100,99))
输出 200
我有一个不用栈操作的想法是直接写3个函数min,max,add函数如下[code]
#include
by Susake_ - C/C++ - 2013-11-08 21:34:31 阅读(2263) 回复(5)
1:怎么ZONE_DMA,ZONE_NORMAL区的物理内存小于896MB呢,不是说内核地址空间在高3G-4G之间吗? 2:ZONE_HIGHMEM这个区的页怎么不能映射到内核地址空间呢? 3:如果在内核kmalloc申请内存,是在哪个区申请呢,如果按照书上说的,ZONE_HIGHMEM这个区不能映射到内核地址空间,那能分配的内存不是很小?小于896MB。 4:如果用户空间申请内存,又是在哪个区申请呢?
小弟是初学者,我现在有一台服务器,有3块硬盘,我想在第一块硬盘上装操作系统RH9,然后把第一块剩下的空间和后2块一起分成一个逻辑区,各位大侠有解决办法或什么建议吗? 我查了一下,linux好像没有unix的卷的概念,这样的话,我应该怎么办?
小弟是初学者,我现在有一台服务器,有3块硬盘,我想在第一块硬盘上装操作系统RH9,然后把第一块剩下的空间和后2块一起分成一个逻辑区,各位大侠有解决办法或什么建议吗? 我查了一下,linux好像没有unix的卷的概念,这样的话,我应该怎么办?
内存区描述符结构中有如下域: struct zone{ ...... unsigned long lowmem_reserve[MAX_NR_ZONES]; unsigned long spanned_pages; /* total size, including holes */ unsigned long present_pages; /* amount of memory (excluding holes) */ ...... }; 1. 内核在空闲页框很少的情况下,为了能够在不睡眠当前进程的情况下仍然能够成功地分配内存,保留了一部分页框用于紧急情况。似乎zone里...
使用共享内存的步骤还是相当简单的: 1、获得唯一的key值,书上提到ftok不一定能得到唯一的键值; 2、使用shmget创建或着获得共享内存区; 3、使用shmat将共享内存区附加到进程中; 4、使用共享内存区,。。。 5、与共享内存区脱离,但是记住这时共享内存区依然存在,必须等到内核重启。 6、申请的共享内存区的大小是有限制的。 #include #include #include #include #include #include #include typedef struct{ char nam...