打印

第一次发帖 请教高手 关于使用结构体效率的疑惑

[复制链接]
2457|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
datreexia|  楼主 | 2008-12-18 14:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    小弟入行刚一年,菜鸟一个。一直边自学单片机编程边使用,直到前些日子才误入21论坛(相见恨晚)。不小心拜读了论坛上几位大虾的心得和热心讲解,顿时感觉眼前一亮,受益匪浅,体会了程序封装、模块化的好处,这些天又找了本c++的书读了读,了解一些相关概念和理念。现在非常想在把自己的程序也改造成为面向对象的程序,最起码封装性要好一些。
    但是,听说(没有概念,只好用‘听说’这个词)这样会加重单片机的负担,(我当前的程序对执行时间有一定要求),但不知道是怎样加重的,加重多少。
    比如,我定义了一个结构体(模仿‘类’),结构体中有数据也有成员函数。我想知道引用一个成员数据或者成员函数和引用普通的数据或函数有无区别?是通过一个指针(结构体变量指针)加上一个偏移量来寻址,还是在编译过程中就已经把这个地址算好了,直接寻址?如果是程序运行过程中每次都要计算指针,会增大开销,增加多少?
    另外,使用C语言,怎样才能更好的实现模块化呢。现在我尝试在创建多个C文件,独立的功能放到一个c文件中,部分变量和函数使用static限定(模仿私有)。这样做可行吗?多个文件的源程序影响整体效率吗?
    望高人指点迷津,不吝赐教!!!

相关帖子

沙发
datreexia|  楼主 | 2008-12-18 15:34 | 只看该作者

没人回答

使用特权

评论回复
板凳
古道热肠| | 2008-12-18 15:40 | 只看该作者

运行效率不及汇编,但开发效率远远高于汇编

总之用C语言开发结构复杂功能繁多的程序时利大于弊.

使用特权

评论回复
地板
datreexia|  楼主 | 2008-12-18 15:50 | 只看该作者

寻址

谢谢版主,
那寻址是怎样进行的呢,是编译器先算好的,程序执行过程中直接访问么?谢谢

使用特权

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

本版积分规则

12

主题

91

帖子

0

粉丝