草庐IT

variable_heap_stack

全部标签

c++ - 这个 "if e is a pack, then get a template name, otherwise get a variable name"是否有效?

我尝试构建一个不需要typename或template的案例,但仍会根据给定名称t生成变量或模板是否为函数参数包templatestructA{templatestaticvoidf(int){}};templatestructA{staticconstintf=0;};templateusingtype=int;templatevoidf(Tt){A...)>::f(1);}intmain(){f(1);}以上将引用staticconstint,并进行比较。以下刚好有Tt变成了一个包并制作f引用模板,但GCC也不喜欢templatevoidf(T...t){A...)>::f(1);

c++ - 如何调试 'Stack smashing detected' ?

这个问题不太可能帮助任何future的访客;它仅与一个小地理区域、一个特定时刻或一个非常狭窄的情况相关,而这些情况通常不适用于互联网的全局受众。如需帮助使这个问题更广泛地适用,visitthehelpcenter.关闭10年前.我有一个复杂的C++代码。这是一个FastCGI程序,使用FastCGIC++Classlibrary.当我要求它提供一个非常长的网址时,我得到:***stacksmashingdetected***:./tileserveterminatedErreurdesegmentation对于现实生活中的应用程序,这不是问题,因为我从不使用这么长的URL,但这意味着任

c++ - 警告 C4316 : object allocated on the heap may not be aligned 16

重要信息:开发操作系统:Windows8.164位目标操作系统:Windows8.164位IDE:VisualStudio2013专业版语言:C++问题:通过IDE编译我的静态库项目时收到以下警告:warningC4316:...:objectallocatedontheheapmaynotbealigned16我可以简单地忽略此警告...但我假设它的存在是有原因的,并且希望至少了解它的含义以及它对future可能产生的影响。我认为这行代码与问题有关,在我的Win32窗口包装类中调用:m_direct3D=newDirect3D(this);m_direct3D是一个指向我的Direc

c++ - 警告 C4996 : This function or variable may be unsafe -- compared to GCC on POSIX

我注意到MS编译器会为cstdlib函数(如getenv)发出“已弃用”警告。MS发明了自己的标准,例如_dupenv_s。问题1AFAIK主要的“不安全”事情是关于重入*。既然MS的CRT被标记为“多线程”(/MT),他们为什么不直接将getenv替换为可重入的线程安全版本呢?是否有人会依赖不安全的行为?问题2我用GCCg++-Wall-Wextra-Weff++-pedanticfoo.cpp编译了相同的代码,它不会产生任何警告。所以我想这在POSIX上不是问题吗?这是如何解决的?(好吧,也许他们只是改变了getenv的行为,很高兴能得到确认。*说它只是关于可重入性是一种过度概括。

c++ - 编译时出现错误 "fopen' : This function or variable may be unsafe.

这个问题在这里已经有了答案:fopendeprecatedwarning(10个回答)关闭8年前。编译时收到此错误:'fopen':Thisfunctionorvariablemaybeunsafe.Considerusingfopen_sinstead.Todisabledeprecation,use_CRT_SECURE_NO_WARNINGS.我是C++新手并打开CV,因此请帮助我摆脱这个错误。谢谢void_setDestination(constchar*name){if(name==NULL){stream=stdout;}else{stream=fopen(name,"w"

c++ - 使用 C 字符串会给出警告 : "Address of stack memory associated with local variable returned"

我不是C程序员,所以我对C-string不是很熟悉,但是现在我必须使用C库,所以这里是我的代码的简化版本来演示我的问题:char**ReadLineImpl::my_completion(){char*matches[1];matches[0]="add";returnmatches;}我收到此警告:Warning-addressofstackmemoryassociatedwithlocalvariable'matches'returned而且我的程序似乎不能正常工作(可能是因为上面提到的警告)。警告意味着什么?会不会造成什么问题? 最佳答案

node.js - nodejs firebase 错误 RangeError : Maximum call stack size exceeded failure

我有一个来自firebase的错误:FIREBASEWARNING:Exceptionwasthrownbyusercallback.RangeError:Maximumcallstacksizeexceeded我没有发现我的错误。我很迷茫,请帮忙。我的代码如下所示:app.post('/updateCoords',(req,res)=>{varusrID=req.body.id;varusrCoords={lat:req.body.lat,long:req.body.long}console.log('userID:'+usrID+'lat:'+usrCoords.lat+'long

node.js - Node : Check if variable is readable stream

如何检查var在Nodejs中是否为可读流?例子:functionfoo(streamobj){if(streamobj!=readablestream){//Error:nowritablestream}else{//Sosomethingwithstreamobj}}我试过了if(!(streamobjinstanceofstream.Readable)){但是我得到一个ReferenceError:streamisnotdefined 最佳答案 你的问题肯定是你不需要stream。但。instanceof不是检查变量是否为可读

javascript - nodeJs大数组处理抛出RangeError : Maximum call stack size exceeded

这是处理大量条目的代码的一部分(最初它适用于文件系统并对文件进行一些操作)。有什么好的方法可以绕过限制并防止抛出RangeError:Maximumcallstacksizeexceeded(至于现在它允许我迭代大约3000个项目)varasync=require('async'),_u=require('underscore')vartifPreview=function(item,callback){console.log(item)returncallback();}vartifQueue=async.queue(tifPreview,2)tifQueue.push(_u.ran

node.js - 在 node.js 中使用 express undefined variable 不会引发错误

我正在使用express运行node.js。我写了一个带有方法的Node模块,所以当你去http://bla.com/module_name/method_name它将运行该方法。该方法遵循典型的风格exports.method_name(req,res,next);我的主应用程序是这样的:app.all("*",resSetup,controller,render);Controller是根据路径调用方法的东西。似乎如果方法中有undefinedvariable错误,express会卡在那里而不抛出任何错误。控制台日志中也不会出现任何内容。我可以在错误发生之前和之后放置一条控制台消息