草庐IT

dynamic-sizing

全部标签

c++ - 为什么在 C++ 内存管理中,术语 "automatic"和 "dynamic"优于术语 "stack"和 "heap"?

关于SO的许多问题和答案,我了解到最好将其生命周期管理为驻留在自动存储而不是堆栈中的对象。此外,动态分配的对象不应被称为驻留在堆上,而是在动态存储中。我知道存在自动、动态和静态存储,但从未真正理解自动堆栈和动态堆之间的区别。为什么首选前者?我不是在问堆栈/堆是什么意思或内存管理是如何工作的。我在问为什么术语自动/动态存储优于术语堆栈/堆。 最佳答案 自动告诉我一些关于对象生命周期的信息:特别是它被自动绑定(bind)到封闭范围,并将被自动销毁>当该范围退出时。动态告诉我对象的生命周期不是由编译器自动控制的,而是在我的直接控制之下。S

c++ - 抛出异常后我可以信任 vector::size 吗?

我试图了解异常如何影响std::vector。更准确地说,我想在抛出内存不足异常时检查vector的大小。我的意思是这样的:std::vectorv;try{for(unsignedinti=0;i这是一个好方法还是我应该使用我的自变量来跟踪vector的大小? 最佳答案 来自thedocumentationforstd::vector::push_back:Ifanexceptionisthrown(whichcanbeduetoAllocator::allocate()orelementcopy/moveconstructor/

c++ - 抛出异常后我可以信任 vector::size 吗?

我试图了解异常如何影响std::vector。更准确地说,我想在抛出内存不足异常时检查vector的大小。我的意思是这样的:std::vectorv;try{for(unsignedinti=0;i这是一个好方法还是我应该使用我的自变量来跟踪vector的大小? 最佳答案 来自thedocumentationforstd::vector::push_back:Ifanexceptionisthrown(whichcanbeduetoAllocator::allocate()orelementcopy/moveconstructor/

c++ - 禁用 RTTI 的 dynamic_cast

我很想知道在禁用RTTI的情况下使用动态转换编译代码时会发生什么(在GCC上使用-fno-rtti或在VisualStudio上使用/GR-)。编译器是否“回退”到static_cast?由于(至少在VS上)它只会发出警告,所以编译后的代码会做什么?更具体地说,如果我在没有RTTI的情况下编译我确信dynamic_cast不会出错的代码(即dynamic_cast可以安全地替换为static_cast)喜欢这个:classA{/*...*/};classB:publicA{intfoo(){return42;}};//...A*myA=newB();intbar=(dynamic_ca

c++ - 禁用 RTTI 的 dynamic_cast

我很想知道在禁用RTTI的情况下使用动态转换编译代码时会发生什么(在GCC上使用-fno-rtti或在VisualStudio上使用/GR-)。编译器是否“回退”到static_cast?由于(至少在VS上)它只会发出警告,所以编译后的代码会做什么?更具体地说,如果我在没有RTTI的情况下编译我确信dynamic_cast不会出错的代码(即dynamic_cast可以安全地替换为static_cast)喜欢这个:classA{/*...*/};classB:publicA{intfoo(){return42;}};//...A*myA=newB();intbar=(dynamic_ca

Dynamics 365: 详解虚实体(Virtual Entity) 从0到1

从Dynamics365forCustomerEngagement9.0开始,虚实体通过在Dynamics365CustomerEngagement中无缝地将数据表示为实体,实现了外部系统中的数据集成。它无需数据复制,通常也无需自定义编码。虚实体有如下的限制,但除了下面的这些限制外,它和其它的那些自定义实体没有区别:数据是只读的。虚实体特性不支持在Dynamics365中CE所做的更改在推回到外部系统只支持实体的组织级权限。不支持字段级安全对于外部数据,需要抽象建模为D365的支持的那些字段,就比如说你想获取外部系统中一条记录的姓名,性别,年龄字段,那么在虚实体中,你需要创建与姓名,性别和年龄

node.js - 有没有人尝试使用 UV_THREADPOOL_SIZE 环境变量?

BenNoordhius在Nodev0.10.0中所做的更改之一是在Unix中“尊重UV_THREADPOOL_SIZE环境变量”。“threadpool.c”源文件似乎就是这样做的。如果我不设置这个env变量,我可以验证我被限制为4个线程的线程池,这是线程池的默认大小。但是我在我的Linux服务器上将此环境变量设置为64,然后重新启动Node,但我似乎仍然受到限制,似乎是大小为5的线程池?!这对任何人都有意义吗?谢谢! 最佳答案 看来您必须使用node命令或从node程序内部将其设置为var。像这样执行它:UV_THREADPOO

node.js - 有没有人尝试使用 UV_THREADPOOL_SIZE 环境变量?

BenNoordhius在Nodev0.10.0中所做的更改之一是在Unix中“尊重UV_THREADPOOL_SIZE环境变量”。“threadpool.c”源文件似乎就是这样做的。如果我不设置这个env变量,我可以验证我被限制为4个线程的线程池,这是线程池的默认大小。但是我在我的Linux服务器上将此环境变量设置为64,然后重新启动Node,但我似乎仍然受到限制,似乎是大小为5的线程池?!这对任何人都有意义吗?谢谢! 最佳答案 看来您必须使用node命令或从node程序内部将其设置为var。像这样执行它:UV_THREADPOO

javascript - Electron 未捕获错误 : A dynamic link library (DLL) initialization routine failed

我已经成功构建了node.js插件,它可以很好地与Windows上的Node配合使用。现在,我想使用Electron创建一个Windows应用程序。在HTML文件中加载模块时,出现错误:vardbr=require('./build/Release/dbr');ATOM_SHELL_ASAR.js有问题。该问题仅发生在Windows上。在Linux和Mac上,它运行良好。我该如何解决?谢谢! 最佳答案 您需要为Electron重建原生Node插件,thestepsareoutlinedinthedocs.

javascript - Electron 未捕获错误 : A dynamic link library (DLL) initialization routine failed

我已经成功构建了node.js插件,它可以很好地与Windows上的Node配合使用。现在,我想使用Electron创建一个Windows应用程序。在HTML文件中加载模块时,出现错误:vardbr=require('./build/Release/dbr');ATOM_SHELL_ASAR.js有问题。该问题仅发生在Windows上。在Linux和Mac上,它运行良好。我该如何解决?谢谢! 最佳答案 您需要为Electron重建原生Node插件,thestepsareoutlinedinthedocs.