- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
下面的代码没有给出任何分配错误,但是计数在大约 16970 时结束,内存分配错误并且系统停止,我使用 Turbo C++ 3.0 IDE,Windows XP sp3, 所有分区:NTFS,PC:Dell 1545,安装了 2 GB 内存。
#include <stdio.h>
#include <stdlib.h>
long counter=0;
int main(int argc, char *argv[])
{
char* array=(char*) malloc (1024*1024*10);
if (array==NULL)
{
/* allocation error */
return 1;
}
for (counter=0 ; counter<10000000;counter++)
array[counter] = 1; // trying to fill the array with one's
free (array);
return 0;
}
最佳答案
Turbo C++ 在 DOS 环境中以实模式运行,除非您特别启用保护模式。在实模式下,内存空间被分成 64kbyte 的段,size_t(malloc 的参数)很容易就是 16 位。 1024*1024*10 mod 65536 = 0,因此上面对 malloc 的调用结果为 malloc(0)
。
malloc(0) 的返回值是实现定义的,可能是非零值。 ( what does malloc(0) return? ) 使用返回的指针不是一个好主意,Windows XP 可能会干预内存分配错误。
关于C无法分配足够的内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38926554/
对于我的问题,我找不到更好的措辞。 在我的应用程序中的某个时刻,我设置了一些非常密集的动画。问题是,在高端设备上,动画运行流畅且赏心悦目。另一方面,我测试过的一台低端设备在制作动画时表现非常糟糕。 试
我正在修补 OTP 模块 ( yubico_pam ),并尝试访问管理员选择的控制标志(例如必需,足够, ETC)。 有什么想法吗?这是否可行(无需解析文件)? 最佳答案 无法在 API 中查询此信息
我有一些为 Linux 编写的 C 代码,依赖于套接字和 arpa/inet.h 以及 libusb.h,我想在 MinGW 下为 Windows 编译它。 (请注意,当前项目只有一个非常简单的 Ma
我是一名优秀的程序员,十分优秀!