有没有办法保护内存区域?保护内存不被改变
我有这样的结构:
#define BUFFER 4
struct
{
char s[BUFFER-1];
const char zc;
} str = {'\0'};
printf("'%s', zc=%d\n", str.s, str.zc);
它应该运行lenght BUFFER-1的字符串,garantee它在 '\ 0' 结束。
但是编译器只为给错误:
str.zc='e'; /*error */
若:
str.s[3]='e'; /*no error */
如果用gcc编译和一些标志可能会做,这是很好的为好。
感谢, 贝乔
http://en.wikipedia.org/wiki/Memory_protection – 2011-09-23 17:19:32
谢谢。我现在要看看。 –
@VladLazarenko我没有看到一种方法来保护结构中的单个字节,就像问题中指出的那样。只通过寄存器保护页面。 –