草庐IT

register-allocation

全部标签

c - alloc、malloc 和 alloca — 有什么区别?

我的印象是Objective-C中的alloc(当我们调用[anyObjectalloc]实际上是在实现C函数malloc和内存在堆中分配,但在任何地方都找不到答案。另外,在搜索alloc时,我发现alloc在堆栈中分配内存。如果我没记错的话,alloc在堆中分配内存来创建对象。那么,alloc和malloc(以及alloc)有什么区别呢?谁能总结一下? 最佳答案 alloc()不是标准C库函数。一些较旧的编译器和库包含提供一些内存分配功能的库,但这不是标准的。MicrosoftVisualC++运行时包括Alloc()函数有点类似

c - alloc、malloc 和 alloca — 有什么区别?

我的印象是Objective-C中的alloc(当我们调用[anyObjectalloc]实际上是在实现C函数malloc和内存在堆中分配,但在任何地方都找不到答案。另外,在搜索alloc时,我发现alloc在堆栈中分配内存。如果我没记错的话,alloc在堆中分配内存来创建对象。那么,alloc和malloc(以及alloc)有什么区别呢?谁能总结一下? 最佳答案 alloc()不是标准C库函数。一些较旧的编译器和库包含提供一些内存分配功能的库,但这不是标准的。MicrosoftVisualC++运行时包括Alloc()函数有点类似

memory - 编译 Phalcon - 虚拟内存耗尽 : Cannot allocate memory

当我尝试编译Phalcon时,我得到一个错误:virtualmemoryexhausted:Cannotallocatememory我正在运行以下命令gitclone--depth=1git://github.com/phalcon/cphalcon.gitcdcphalcon/buildsudo./install我有一个1GB内存的VPS 最佳答案 添加更多交换文件可能会有所帮助。我在为vim编译YouCompleteMe时遇到了这个问题,通过添加swapfile解决了。https://www.digitalocean.com/c

memory - 编译 Phalcon - 虚拟内存耗尽 : Cannot allocate memory

当我尝试编译Phalcon时,我得到一个错误:virtualmemoryexhausted:Cannotallocatememory我正在运行以下命令gitclone--depth=1git://github.com/phalcon/cphalcon.gitcdcphalcon/buildsudo./install我有一个1GB内存的VPS 最佳答案 添加更多交换文件可能会有所帮助。我在为vim编译YouCompleteMe时遇到了这个问题,通过添加swapfile解决了。https://www.digitalocean.com/c

c - C语言中的"register"关键字?

register关键字在C语言中的作用是什么?我读过它用于优化,但在任何标准中都没有明确定义。它仍然相关吗?如果是,您什么时候使用? 最佳答案 这是对编译器的一个提示,即该变量将被大量使用,并且您建议尽可能将其保存在处理器寄存器中。大多数现代编译器会自动执行此操作,并且比我们人类更擅长挑选它们。 关于c-C语言中的"register"关键字?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/quest

c - C语言中的"register"关键字?

register关键字在C语言中的作用是什么?我读过它用于优化,但在任何标准中都没有明确定义。它仍然相关吗?如果是,您什么时候使用? 最佳答案 这是对编译器的一个提示,即该变量将被大量使用,并且您建议尽可能将其保存在处理器寄存器中。大多数现代编译器会自动执行此操作,并且比我们人类更擅长挑选它们。 关于c-C语言中的"register"关键字?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/quest

c++ - 为什么 std::exception 在 std::bad_alloc 之前捕获我的异常?

问题:我同时使用std::exception和std::bad_alloc来捕获异常。我正在使用的trycatch的顺序有问题。我附上了示例代码以供引用。预期:如果我的错误是bad_alloc,则抛出bad_alloc异常。观察到:我的错误是bad_alloc,但抛出了异常。示例代码:#include"stdafx.h"#include#includeusingnamespacestd;voidgoesWrong(){boolerror1Detected=true;boolerror2Detected=false;if(error1Detected){throwbad_alloc();

c++ - 为什么 std::exception 在 std::bad_alloc 之前捕获我的异常?

问题:我同时使用std::exception和std::bad_alloc来捕获异常。我正在使用的trycatch的顺序有问题。我附上了示例代码以供引用。预期:如果我的错误是bad_alloc,则抛出bad_alloc异常。观察到:我的错误是bad_alloc,但抛出了异常。示例代码:#include"stdafx.h"#include#includeusingnamespacestd;voidgoesWrong(){boolerror1Detected=true;boolerror2Detected=false;if(error1Detected){throwbad_alloc();

c++ - std::vector 构造函数中的 bad_alloc

std::vector有一个构造函数,其中传递size_typecount的单个参数应该使用count默认构造的元素来调整vector的大小。但以下代码在错误转换后失败并出现bad_alloc异常:#includestructInner{intfoo;charbuf[256];};templatestructOuter{typedefstd::vectorBufContainer;typedeftypenameBufContainer::size_typeBufIndex;BufContainerbufs1;BufContainerbufs2;constBufIndexBUFCOUNT

c++ - std::vector 构造函数中的 bad_alloc

std::vector有一个构造函数,其中传递size_typecount的单个参数应该使用count默认构造的元素来调整vector的大小。但以下代码在错误转换后失败并出现bad_alloc异常:#includestructInner{intfoo;charbuf[256];};templatestructOuter{typedefstd::vectorBufContainer;typedeftypenameBufContainer::size_typeBufIndex;BufContainerbufs1;BufContainerbufs2;constBufIndexBUFCOUNT