ImageVerifierCode 换一换
格式:DOCX , 页数:6 ,大小:15.44KB ,
资源ID:10551955      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-10551955.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(如何在CoIDE中使用C.docx)为本站会员(b****3)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

如何在CoIDE中使用C.docx

1、如何在CoIDE中使用C如何在CoIDE中使用C+ CooCox论坛上时不时有人问:CoIDE是否支持C+?CoIDE默认支持C语言,工程中的*.cpp或*.C(大写的C,会默认为cpp文件)不参与编译。这让不少惯用C+的用户觉得可惜。好在这个世界上解决问题的方法永远比问题多得多,感谢用户Yury Kuchura的贡献和分享,现在只需要几处改动,CoIDE中就能使用C+了。步骤如下:1. 修改build.xml文件,使*.cpp文件能被编译2. 修改link.ld文件,使连接时C+所需的段能被识别/* Section Definitions */SECTIONS .text : KEEP(*(

2、.isr_vector .isr_vector.*) *(.text .text.* .gnu.linkonce.t.*) *(.glue_7t) *(.glue_7) *(.rodata .rodata* .gnu.linkonce.r.*) /* C+ Static constructors/destructors (eabi) */ . = ALIGN(4); KEEP(*(.init) . = ALIGN(4); _preinit_array_start = .; KEEP (*(.preinit_array) _preinit_array_end = .; . = ALIGN(4);

3、 _init_array_start = .; KEEP (*(SORT(.init_array.*) KEEP (*(.init_array) _init_array_end = .; . = ALIGN(4); KEEP(*(.fini) . = ALIGN(4); _fini_array_start = .; KEEP (*(.fini_array) KEEP (*(SORT(.fini_array.*) _fini_array_end = .; /* C+ Static constructors/destructors (elf) */ . = ALIGN(4); _ctor_star

4、t = .; KEEP (*crtbegin.o(.ctors) KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors) KEEP (*(SORT(.ctors.*) KEEP (*crtend.o(.ctors) _ctor_end = .; . = ALIGN(4); KEEP (*crtbegin.o(.dtors) KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors) KEEP (*(SORT(.dtors.*) KEEP (*crtend.o(.dtors) > rom .ARM.extab : *(.ARM.extab*

5、.gnu.linkonce.armextab.*) > rom /* stack section */ .co_stack (NOLOAD): . = ALIGN(8); *(.co_stack .co_stack.*) > ram _exidx_start = .; .ARM.exidx : *(.ARM.exidx* .gnu.linkonce.armexidx.*) > rom _exidx_end = .; . = ALIGN(4); _end = . ;3. 修改启动代码,使构造和析构函数能被正确调用extern unsigned long _preinit_arr

6、ay_start;extern unsigned long _preinit_array_end;extern unsigned long _init_array_start;extern unsigned long _init_array_end;extern unsigned long _ctor_start;extern unsigned long _ctor_end;static void call_constructors(unsigned long *start, unsigned long *end) _attribute_(noinline);static void call_

7、constructors(unsigned long *start, unsigned long *end) unsigned long *i; void (*funcptr)(); for ( i = start; i < end; i+) funcptr=(void (*)()(*i); funcptr(); void Default_Reset_Handler(void) /* Setup the microcontroller system. */ SystemInit(); /Initialize CoOS (in order the new/delete operators

8、to work properly /prior to calling constructors). Comment it out if you dont use CoOS! CoInitOS(); /Call C+ global constructors call_constructors(&_preinit_array_start, &_preinit_array_end); call_constructors(&_init_array_start, &_init_array_end); call_constructors(&_ctor_start,

9、&_ctor_end); /* Call the applications entry point.*/ main();4. 在组件页勾选C Library和Retarget printf,之后注释掉printf.c文件中的如下语句,以避免重定义_impure_ptrstruct _reent *_impure_ptr = &r;5. 在工程配置(Project configuration)中添加Linked Libraries libstdc+和libsupc+,它们可以从GCC tool chain的库中找到http:/www.coocox.org/Forum/topic.php?id=730http:/www.coocox.org/Forum/topic.php?id=873例程:103vb_cpp.zipSTM32103vb + CoIDE 1.3.1 + 闪灯说明因CoIDE 1.4.0存在bug“修改build.xml文件后无法保存”,故使用CoIDE 1.3.1版本。此bug在新版CoIDE中将被修复。欢迎大家常来CooCox论坛交流讨论

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2