永发信息网

怎么在stack overflow提问时插入大段代码

答案:2  悬赏:20  手机版
解决时间 2021-11-11 07:33
怎么在stack overflow提问时插入大段代码
最佳答案
你把编辑器里的代码先复制到StackOverFlow的文本框里,然后全选复制过去的代码,点上方 {}这个按钮,网站会自动帮你转换格式的。这就和你在知乎编辑器上方点 <> 这个按钮的效果一样。
全部回答
stackoverflow(堆栈溢出)就是不顾堆栈中分配的局部数据块大小,向该数据块写入了过多的数据,导致数据越界,结果覆盖了老的堆栈数据。或者解释为在长字符串中嵌入一段代码,并将过程的返回地址覆盖为这段代码的地址,这样当过程返回时,程序就转而开始执行这段自编的代码了。比如如下这段程序:#includeintmain(){charname[8];printf("Pleasetypeyourname:");gets(name);printf("Hello.%s!",name);return0;}编译并且执行,输入ipxodiAAAAAAAAAAAAAAAA,执行完gets(name)之后,堆栈如下:内存底部内存顶部nameEBPret<-------[ipxodiAA][AAAA][AAAA]^&name堆栈顶部堆栈顶部由于我们输入的name字符串太长,name数组容纳不下,只好向内存顶部继续写'A'。由于堆栈的生长方向与内存的生长方向相反,这些'A’覆盖了堆栈的老的元素。'EBPret’都被'A'覆盖了。在main返回的时候,就会把'AAAA'的ASCII码:0x41414141作为返回地址,CPU会试图执行0x41414141处的指令,结果出现错误。这就是一次堆栈溢出!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
上海浦东新区东方艺术培训中心地址在什么地方
江苏省职工养老保险停了以后还能个人续交吗?
蔡界村地址好找么,我有些事要过去,
0到9的英文
对珍稀和濒危动物的保护,实际上就是要保护它
八字所说的五年夫妻是什么意思?
朋友说我最近很惆怅我应该怎样回答呢
运程蹇滞什么意思
求助!!!win8玩轩辕剑云之遥出了些状况
快递能不能 投投诉淘宝
太匆匆讲的什么
梦见自己被人欺负,但有人力挺帮我
石家庄市体校有专业练篮球的吗?本人96年的,
刹车片,选哪种材料和品牌的为好
A舞艺术培训中心地址有知道的么?有点事想过
推荐资讯
互联网金融服务公司主要做什么的?
这双詹12全明星耐磨吗?水晶底还是XDR(不太懂
HTC ONE X有没有蓝色的?
蒋晖视频教程谁有,求蒋晖视频教程全集
新运驾校(克拉玛依克拉玛依区)地址在什么地方
300英雄进去后怎么样调频
BM爵士舞培训俱乐部地址好找么,我有些事要过
镁都家电商场地址在哪,我要去那里办事,
欧曼ETX怎样?想了解一下
海杆串勾主线一般用多大
广州有做传奇的不,我想在随州开个sf不知道咋
一元的三次方与十角的三次方结果为啥不一样
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?