完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好,对于PIC18F46K22和XC8,如果我选择“有利于优化速度”,那么编译器将使用最大代码空间来获得最大速度优化吗?例如循环展开。它会打开所有的()循环,还是有任何程度的控制?我的意思是,如果我有许多For()循环通过串行端口发送字符串数据,那么编译器是否会解开所有的循环?如果我确定编译器会展开所有的for()循环,那么我就不想为for()循环编写优化的C代码。非常感谢你的帮助。
|
|
相关推荐
6个回答
|
|
我的意思是,我有许多常量字符串,超过50个,我使用for()循环在项目的不同点发送它们。
|
|
|
|
…我问你,为什么要使用for循环,如果只是将for循环放入从所有这些地方调用的函数中会更有效率。即使优化器也不能避免编写糟糕的代码……
|
|
|
|
好,那么如果我有一个用于发送数据的函数,并且它是从项目中的50个地方调用的,那么在编译代码时,它的for()循环会在所有50个地方展开吗?
|
|
|
|
不,如果您事先不知道for循环将循环多少次,或者像函数中一样,循环的数量是一个变量,则不能展开for循环。对于输出字符串,使用while循环和指针通常比使用for循环和数组索引更有效。当然,我猜你正在做什么,因为你没有张贴任何代码到这个话题。
|
|
|
|
好的,谢谢。顺便问一下,如何从IDE内部看到特定代码块的汇编代码?
|
|
|
|
在编译后打开XC8输出的.LST文件。它包含整个程序。你必须搜索函数名或一个不同的变量名。
|
|
|
|
只有小组成员才能发言,加入小组>>
5163 浏览 9 评论
2000 浏览 8 评论
1928 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3174 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2226 浏览 5 评论
732浏览 1评论
615浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
504浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
631浏览 0评论
528浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 17:41 , Processed in 1.322739 second(s), Total 59, Slave 52 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号