使Java使用起来如此舒适的一个因素在于,它是一门安全的语言。这意味着,它对于缓冲区溢出,数组越界,非法指针以及其他的内存破坏 都自动免疫,而这些错误却困扰着诸如C和C++这样的不安全语言。在一门安全的语言中,在设计类的时候,可以确切的知道,无论系统的 其他部分发生什么事情,这些类的约束都可以保持为...
分类:
其他好文 时间:
2015-05-07 16:09:19
阅读次数:
110
一个变量作为函数参数按值传入,但是函数调用完之后,变量的值竟然改变了,不知所以然。原来是函数里面有个地址越界问题,导致变量的值被改变了,有点不可思议吧!比如,下面这个程序,就由于数组下标越界导致死循环:
#include
int main()
{
int i;
int a[5];
for(i = 0; i <= 5; i++) {
a[i]...
分类:
编程语言 时间:
2015-05-05 16:27:28
阅读次数:
144
1.VS将变量拖到内存中查看失败的原因: 只有将地址拖到内存中才有用,可在监视的变量前加&再拖2.VS更改结构体成员对齐方式: C/C++ ---> 代码生成 ---> 结构体成员对齐, 默认为8字节对齐4.关闭VS数组越界检查: C/C++---->代码生成----->安全检查5.VS如何直接拖变...
分类:
其他好文 时间:
2015-05-03 20:14:40
阅读次数:
160
1.VS将变量拖到内存中查看失败的原因: 只有将地址拖到内存中才有用,可在监视的变量前加&再拖2.VS更改结构体成员对齐方式: C/C++ ---> 代码生成 ---> 结构体成员对齐, 默认为8字节对齐4.关闭VS数组越界检查: C/C++---->代码生成----->安全检查5.VS如何直接拖变...
分类:
其他好文 时间:
2015-05-02 22:01:55
阅读次数:
917
耗时三节课 充分体现出粗心酿成大错这个道理 一开始一直不知道为什么数组越界 原来是minn和ninj写反了 后来又因为杜如函数出为题 反复调试 今后一定要注意
题目还是放上吧:
题目描述 Description
年轻的探险家来到了一个印第安部落里。在那里他和酋长的女儿相爱了,于是便向酋长去求亲。酋长要他用10000个金币作为聘礼才答应把女儿嫁给他。探险家拿不出这么多金...
分类:
其他好文 时间:
2015-04-30 18:18:07
阅读次数:
158
程序崩溃是每一个c++程序员都十分头疼的问题。你可能使用了空指针,可能数组越界。总之在一些乱七八糟的情况下,程序会出现闪退,或者弹出类似如下的对话框等让人难以接受的情况。
为了让我们的程序死的不那么难看,windows提供了一个如下函数:
LPTOP_LEVEL_EXCEPTION_FILTER
WINAPI
SetUnhandledExceptionFilter(...
分类:
编程语言 时间:
2015-04-30 16:12:04
阅读次数:
321
1. 找出下列代码的错误void test(){ char string[10]; char *str="0123456789"; strcpy(string,str);}字符串str需要11个字节才能存放下(包括末尾的'\0'),而string只有10个字节的空间;strcpy会导致数组越界...
分类:
编程语言 时间:
2015-04-22 22:07:37
阅读次数:
133
linux应用开发-Core Dump
一 coredump
Core Dump又叫核心转存。当程序在运行 过程中发生异常, 这时Linux系统
可以把程序出错时的内存内容存储在一个core文件中, 这种过程叫Core Dump
二 产生段错误的原因
1 数组越界
2 栈溢出
3 访问空指针
4 修改只读内存
三 开启core dump
linux默认关闭了此项功能
开启 u...
分类:
系统相关 时间:
2015-04-22 18:22:35
阅读次数:
260
从这个图中就可以看出运行时异常是数组越界、空指针、类转换错误之类的异常,解决方法是修改代码而其他异常,也就是已检查异常,则是需要抛出或者捕捉
分类:
其他好文 时间:
2015-04-22 01:54:56
阅读次数:
171
一 01背包:一件物品只能放一次二维动态转移方程 dp[i][j] = max(dp[i-1][j],dp[i-1][j-w[i]]+v[i])降低空间复杂度用一维: dp[j] = max(dp[j],dp[j-w[i]]+v[i]), j 从V到0(为了防止数组越界,到w[i])代码实现:#in...
分类:
其他好文 时间:
2015-04-21 20:07:33
阅读次数:
144