XSF

Results 4 comments of XSF

> 请使用阳间的方式沟通,总这么发真的没意思, > 你说的这种方式无异于 > > ```c > int a; > int b; > int c; > int d(int){ /* do something */ return 0; } > inf e(int){ /*...

> 硬件场合下决定是否使用某语言的关键因素并不是性能因素,而是这个语言是否是实时性的,而不是使用了何种编程范式。 > > 对于C语言和C++语言来说,所有内存资源的申请与释放都是手动进行的,所有的指令都是以程序员期望的顺序以相同的指令周期顺序执行。 > > 对于Java语言和Golang语言等带自动垃圾回收语言来说,程序会在不适当的时机暂停线程来执行垃圾回收。对于某些任务来说可能期望在几个指令周期内接受所有外部信号并处理完成,在这种情况下暂停线程并执行垃圾回收就会导致信号的丢失。 > > 至于说面向对象与面向过程的性能差异,我上面给出了使用C语言实现面向对象的示例了,而在Linux内核中也大量使用OOP范式来实现对硬件资源的抽象,所以说性能差异是来自于这个语言的执行机制,而不是这个语言采用的 > 硬件场合下决定是否使用某语言的关键因素并不是性能因素,而是这个语言是否是实时性的,而不是使用了何种编程范式。 > > 对于C语言和C++语言来说,所有内存资源的申请与释放都是手动进行的,所有的指令都是以程序员期望的顺序以相同的指令周期顺序执行。 > > 对于Java语言和Golang语言等带自动垃圾回收语言来说,程序会在不适当的时机暂停线程来执行垃圾回收。对于某些任务来说可能期望在几个指令周期内接受所有外部信号并处理完成,在这种情况下暂停线程并执行垃圾回收就会导致信号的丢失。 > > 至于说面向对象与面向过程的性能差异,我上面给出了使用C语言实现面向对象的示例了,而在Linux内核中也大量使用OOP范式来实现对硬件资源的抽象,所以说性能差异是来自于这个语言的执行机制,而不是这个语言采用的编程范式。 //========================================================= 我之前两条确实刚写完就删了,因为发完之后觉得自己这半吊子把内存占用多些说得肯定不好。 因为不名原因删除了你还能看见,所以干脆向你请教,纯学习讨论目的 我之前说的话也是结合自己用c去仿写面向对象类,然后我自己使用的过程中的疑惑。但是我并不是很确定以自己的结论(所以删了)。如果你有好的解决方法,还希望告知,我给项目中的单片机专门写了类库,写的还挺全面的,实际使用的时候才发现声明结构体的时候一些我并不打算用的功能也被一起声明了。但是确确实实这样以对象的形式写,很方便,用的时候一个声明,一个构造函数就可以随便用了。我要是面向对象的搞法,做成功能函数,形参会特别长,还要我自己去定义各种专门的数据搭配功能 纯粹学习请教,如何解决这类问题呢?

------------------ 原始邮件 ------------------ 发件人: "Snailclimb/JavaGuide"

感谢回复,我终于明白为什么删掉了你还会看到了,居然会直接发送到邮箱里啊。 看来这个对象的生命周期中有所浪费是不可避免的,只能酌情使用了,目前使用的芯片20k的ram,比较吃紧,因为怕内存碎片化,所以我也没用动态内存。