现在的位置: 首页 > 综合 > 正文

“0x004016e7”指令引用的“0×00970007”内存。该内存不能为“written”

2013年01月01日 ⁄ 综合 ⁄ 共 2399字 ⁄ 字号 评论关闭

 多是指指针或数组访问越界

 

 

 

 

 

 

 

大毛的解答:

1 编译(build),运行(run),调试(debug&release)

 

(1)编译错表示语法不对,因为编译只检查语法

(2)运行出错(run time error),就是你的代码调用系统的错。

(3)调试:debug能力是程序员的核心能力,不止和编程语言有关,还和对操作系统的熟悉程度有关。

debug & release:

release和debug是指编译的不同版本(同一个编译器compiler可以链接link不同的runtime library运行库,而把程序compiler【编译】为不同的version【版本】
),一般认为debug是测试版,release为发布版。debug由于要检查错误,所以代码运行的时候做了很多合法性检查;而release没有,release运行速度一般有debug的10倍左右。因为debug的东西link的库有调试信息,便于发现错误。
2 关于codeblocks:

(1)F8为debug,Build target 可以选择“debug”和“release”两种version。
(2)调试相关的按钮:

第一个是start,第二个是代码运行到指针处,第三个 下一行,第4个下一个代码块,一般认为是一个方法,第5个step into一个方法,第6个step out,第7个  结束
(3)相关链接:

codeblocks的wiki   http://wiki.codeblocks.org/index.php?title=Main_Page
debug 程序的地方   http://wiki.codeblocks.org/index.php?title=Debugging_with_Code::Blocks

debug 和Fortran   http://wiki.codeblocks.org/index.php?title=Installing_Fortran_Compiler

 

zz:Debug通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。Debug 和 Release 的真正秘密,在于一组编译选项。

抱歉!评论已关闭.