![]() |
1
8
如果记录大小有合理的上限,则分配一个包含零的全局只读变量(因为它是一个静态的duration对象,所以它会自动初始化为零。)
如果写函数是C
在典型的托管实现中,这样的变量将占用可执行文件中的零空间。
补充
:请注意,就C标准而言,上述声明完全等同于
具有虚拟内存的系统上的智能程序加载器可以利用虚拟内存系统为所有这些对象使用一个共享的只读零填充物理RAM页;我不知道在实践中有没有。 补充 :例如,Linux(Debian lenny amd64)没有。
另一种POSIX方法是
|
![]() |
2
3
看到了吗 calloc .
或者(我没有试过这个),如果你不想
任何
你完全可以
|
![]() |
3
2
|
![]() |
4
1
是的,只要分配一个足够大的块来容纳这些记录,然后将其归零一次。每次都将该块的地址传递给write函数,并将实际要归零的记录大小传递给write函数。传递缓冲区进行写入并不会使其过期或发生任何事情。记住,写也不会释放你传递的缓冲区;那由你决定。 |
![]() |
5
1
然后,无论何时需要将指针传递给已归零的内存,都可以将指针传递给所分配的块内的内存。 |
![]() |
6
1
在大多数实现中,地址空间中没有一部分没有映射到RAM,但是当读取时,它将无害地读取零。有这样的东西也许不错,但我不知道。
|
![]() |
7
0
使用系统信息API获取系统页面大小(我只是记不清确切的名称),分配1页内存,将其设置为零,反复按顺序写入。 |
![]() |
8
0
轮廓! *即使使用闪存驱动器 |
![]() |
9
0
这里有一个保证工作,运行时的可能性(编译时使用
赞成的意见
欺骗
|
![]() |
9-Pin · 释放具有内部空字节的动态分配字符串 8 月前 |
![]() |
Viewed · 如何从popen中获得结果? 1 年前 |
|
dhutturi · malloc()没有分配我期望它[复制]的内容 1 年前 |
|
vansergh · 如何为malloc分配的数组释放内存? 1 年前 |
![]() |
EagleStar · 显示错误的值:C指针还是malloc问题? 1 年前 |