打印

请问CCS是如何编译的,为什么代码出来占内存很大

[复制链接]
2632|29
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
火山LF|  楼主 | 2016-12-12 15:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问CCS是如何编译的,为什么代码出来占内存很大?
我大概就编了1000行左右的代码,占用内存12k
代码上已经能用1个字节的就没有用2个字节的变量来代替

请问各位大神:
1、有没有编译什么库进去?
2、这类型的资料在哪里可以查看?
3、如何可以优化代码,再压缩内存空间呢?



谢谢!

相关帖子

沙发
火山LF|  楼主 | 2016-12-12 16:10 | 只看该作者
发现一个情况:
功能:都用按键点亮LED灯
①直接配置寄存器实现功能的工程内存很小
②使用库函数实现功能的工程内存很大,是直接配置寄存器工程内存的5倍。。。。

如果内存很欠缺的话,是不是可以在代码中使用直接配置寄存器去写一部分的代码,这样就能省出内存来了,请问大神们,这样可以吗?
有没有什么优缺点?

使用特权

评论回复
板凳
dirtwillfly| | 2016-12-12 20:20 | 只看该作者
都可以的。
用库上手快,能够尽快开发出产品。
用寄存器上手慢,但是省资源。

使用特权

评论回复
地板
iamaiqiyi| | 2016-12-12 23:17 | 只看该作者
这个你用优化了吗?

使用特权

评论回复
5
iamaiqiyi| | 2016-12-12 23:19 | 只看该作者
内存空间优化试试。

使用特权

评论回复
6
shenmu2012| | 2016-12-13 21:30 | 只看该作者
这个是不是需要优化下算法的

使用特权

评论回复
7
htmlme| | 2016-12-13 22:47 | 只看该作者
是不是有优化程序?

使用特权

评论回复
8
htmlme| | 2016-12-13 22:48 | 只看该作者
编译的占用内存过大,变量也有原因。

使用特权

评论回复
9
火山LF|  楼主 | 2016-12-14 09:10 | 只看该作者
iamaiqiyi 发表于 2016-12-12 23:19
内存空间优化试试。

怎么使用内存空间优化?

使用特权

评论回复
10
火山LF|  楼主 | 2016-12-14 09:11 | 只看该作者
shenmu2012 发表于 2016-12-13 21:30
这个是不是需要优化下算法的

算法不多的,主要是逻辑控制

使用特权

评论回复
11
火山LF|  楼主 | 2016-12-14 09:11 | 只看该作者
htmlme 发表于 2016-12-13 22:48
编译的占用内存过大,变量也有原因。

变量就占了最多300个字节,看内存窗口的

使用特权

评论回复
12
dirtwillfly| | 2016-12-14 11:52 | 只看该作者
火山LF 发表于 2016-12-14 09:11
变量就占了最多300个字节,看内存窗口的

改变一下优化级别试试

使用特权

评论回复
13
火山LF|  楼主 | 2016-12-14 13:51 | 只看该作者
dirtwillfly 发表于 2016-12-14 11:52
改变一下优化级别试试

可以是可以改变优化级别,就怕优化的代码对功能实现有影响
还没找到思路

使用特权

评论回复
14
dirtwillfly| | 2016-12-14 16:40 | 只看该作者
火山LF 发表于 2016-12-14 13:51
可以是可以改变优化级别,就怕优化的代码对功能实现有影响
还没找到思路 ...

一般不会有影响的。如果功能不复杂可以试试。慎用最高级别的优化就行

使用特权

评论回复
15
wengh2016| | 2016-12-14 22:49 | 只看该作者
这个代码大跟你的函数有关系。

使用特权

评论回复
16
wengh2016| | 2016-12-14 22:49 | 只看该作者
楼主的变量是不是定义太多了?

使用特权

评论回复
17
火山LF|  楼主 | 2016-12-15 10:49 | 只看该作者
本帖最后由 火山LF 于 2016-12-15 10:50 编辑
dirtwillfly 发表于 2016-12-14 16:40
一般不会有影响的。如果功能不复杂可以试试。慎用最高级别的优化就行

群主,之前一直用的是debug模式,然后改用release模式之后,发现减少了6k,只是不明这两种模式的区别,因为在release模式下, 单步调试、打断点什么的基本调试都是可以,不知道两者区别在哪

之前感觉自己方向不定,在找占内存的库和怎么去优化,例如printf函数是没有用到,然后发现其实在CCS的properties设置里面,全部都有,但是我没找出来

使用特权

评论回复
18
dirtwillfly| | 2016-12-15 16:42 | 只看该作者
火山LF 发表于 2016-12-15 10:49
群主,之前一直用的是debug模式,然后改用release模式之后,发现减少了6k,只是不明这两种模式的区别,因 ...

淡定。等有经验了就好了,或者你提前在网上发帖问问

debug模式生成的文件比release模式生成的文件多一些调试信息

使用特权

评论回复
19
maninman1981| | 2016-12-18 16:12 | 只看该作者
看实际生成的.bin文件的大小,或者看map文件中的信息。再次进行优化。

使用特权

评论回复
20
Thorald| | 2016-12-21 20:32 | 只看该作者
430能改变优先级??

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

88

主题

816

帖子

16

粉丝