共2条
1/1 1 跳转至页
debug,release debug和release的区别

问
IAR 编译器的debug和release的两种默认优化方式,对程序的正确性有无影响?
答 1:
我也很想知道。感觉上在调试的时候没有区别。
答 2:
本人拙见:
debug 和 release本质上没有什么区别,只是为了方便开发者对数据的组织而划分的两个项目(工程)域。
正在开发的源代码,库,头等在debug下组织。
已经开发完毕的目标代码(.d43,.r43,.txt等)release下组织,便于发布和传递 答 3: 引用: 答 4: ,debug是在调试阶段用的了,便于查错,程序完全正确后可以用release发布,其代码小。 答 5: 没错! 答 6: 请问版主,那如何把Release文件下载到Flash中? 答 7: debug和release是有区别的,debug是在调试阶段用的了,便于查错,程序完全正确后可以用release发布,在debug下调试好的程序在release还可能出错。下面即是一例
Rebuilding configuration: RQ - Release
E:\msp\rqli\Release\Obj\Temp8.r43
1 file(s) deleted.
Temp8.c
icc430.exe -I C:\IAR\ew23\430\INC\ -I C:\IAR\ew23\430\INC\CLIB\ -o E:\msp\rqli\Release\Obj\ -z9 -e E:\msp\rqli\Temp8.c
IAR MSP430 C/EC++ Compiler V2.10A/W32
Copyright 1996-2003 IAR Systems. All rights reserved.
2 100 bytes of CODE memory
12 bytes of CONST memory
132 bytes of DATA memory (+ 55 bytes shared)
Errors: none
Warnings: none
Linking
xlink.exe E:\msp\rqli\Release\Obj\Temp8.r43 -o E:\msp\rqli\Release\Exe\RQ.txt -FMSP430_txt -IC:\IAR\ew23\430\LIB\ -f C:\IAR\ew23\430\
config\lnk430C111.xcl C:\IAR\ew23\430\lib\cl430f.r43 -e_small_write=_formatted_write -e_medium_read=_formatted_read -f C:\IAR\ew23\430\
config\compactmath.xcl
IAR Universal Linker V4.55D/386
Copyright 1987-2003 IAR Systems. All rights reserved.
Error[e16]: Segment CSTACK (size: 0x50 align: 0x1) is too long for segment definition. At least 0x46 more bytes needed. The problem occurred
while processing the segment placement command "-Z(DATA)CSTACK+_STACK_SIZE#", where at the moment of placement the available
memory ranges were "CODE:276-280"
Reserved ranges relevant to this placement:
CODE:200-275 DATA16_Z
Total number of errors: 1
Total number of warnings: 0 答 8: 没有试过,可以一试 答 9: [QUOTE=cao456]debug和release是有区别的,debug是在调试阶段用的了,便于查错,程序完全正确后可以用release发布,在debug下调试好的程序在release还可能出错。
那如何解决该问题呢?
debug 和 release本质上没有什么区别,只是为了方便开发者对数据的组织而划分的两个项目(工程)域。
正在开发的源代码,库,头等在debug下组织。
已经开发完毕的目标代码(.d43,.r43,.txt等)release下组织,便于发布和传递 答 3: 引用: 答 4: ,debug是在调试阶段用的了,便于查错,程序完全正确后可以用release发布,其代码小。 答 5: 没错! 答 6: 请问版主,那如何把Release文件下载到Flash中? 答 7: debug和release是有区别的,debug是在调试阶段用的了,便于查错,程序完全正确后可以用release发布,在debug下调试好的程序在release还可能出错。下面即是一例
Rebuilding configuration: RQ - Release
E:\msp\rqli\Release\Obj\Temp8.r43
1 file(s) deleted.
Temp8.c
icc430.exe -I C:\IAR\ew23\430\INC\ -I C:\IAR\ew23\430\INC\CLIB\ -o E:\msp\rqli\Release\Obj\ -z9 -e E:\msp\rqli\Temp8.c
IAR MSP430 C/EC++ Compiler V2.10A/W32
Copyright 1996-2003 IAR Systems. All rights reserved.
2 100 bytes of CODE memory
12 bytes of CONST memory
132 bytes of DATA memory (+ 55 bytes shared)
Errors: none
Warnings: none
Linking
xlink.exe E:\msp\rqli\Release\Obj\Temp8.r43 -o E:\msp\rqli\Release\Exe\RQ.txt -FMSP430_txt -IC:\IAR\ew23\430\LIB\ -f C:\IAR\ew23\430\
config\lnk430C111.xcl C:\IAR\ew23\430\lib\cl430f.r43 -e_small_write=_formatted_write -e_medium_read=_formatted_read -f C:\IAR\ew23\430\
config\compactmath.xcl
IAR Universal Linker V4.55D/386
Copyright 1987-2003 IAR Systems. All rights reserved.
Error[e16]: Segment CSTACK (size: 0x50 align: 0x1) is too long for segment definition. At least 0x46 more bytes needed. The problem occurred
while processing the segment placement command "-Z(DATA)CSTACK+_STACK_SIZE#", where at the moment of placement the available
memory ranges were "CODE:276-280"
Reserved ranges relevant to this placement:
CODE:200-275 DATA16_Z
Total number of errors: 1
Total number of warnings: 0 答 8: 没有试过,可以一试 答 9: [QUOTE=cao456]debug和release是有区别的,debug是在调试阶段用的了,便于查错,程序完全正确后可以用release发布,在debug下调试好的程序在release还可能出错。
那如何解决该问题呢?
共2条
1/1 1 跳转至页
回复
打赏帖 | |
---|---|
【Zephyr】MCXN947 Zephyr 开发入门适配shell被打赏20分 | |
【我要开发板】6.联合MATLAB记录数据被打赏50分 | |
【瑞萨RA2E1开发板】:使用ADC功能实现位移传感器采集方案被打赏20分 | |
【nRF7002DK】基于sht30的温湿度计被打赏20分 | |
【nRF7002DK】日志打印被打赏20分 | |
【换取手持示波器】RGB屏幕移植ARM-2D库被打赏35分 | |
【分享开发笔记,赚取电动螺丝刀】分享一下如何解决瑞萨RA2E1使用printf编译报错问题被打赏27分 | |
rtthread硬件加密-5hash加密分析被打赏10分 | |
【换取手持示波器】Mongoose 零代码创建网页仪表盘被打赏33分 | |
【分享开发笔记,赚取电动螺丝刀】基于.Net6.0 WPF简单做一个MQTT收发小工具被打赏24分 |