百科问答小站 logo
百科问答小站 font logo



C语言开发单片机为什么大多数都采用全局变量的形式? 第1页

  

user avatar   zhang-hao-72 网友的相关建议: 
      

水平太差呗。。。

好好写规范点,上层逻辑和底层硬件分开,可复用性做好,多花点工夫,值得的。

别说几千行,几百行也应该严格要求自己。


user avatar   haozhi-yang-41 网友的相关建议: 
      

1:这些程序的最早版本可能改写自汇编,后来就形成自己的风格和习惯了。

2:有些时候,这些全局变量是和一些寄存器、外部io等绑定的。它们本身就是全局的,而且在读这些数据时,也需要直接读最新数据而不是在内存的某个地方的某个副本。

3:某些场景下,全局的状态数量可能会很多。在单片机寄存器数量较小,或者在调用层级很深的函数自然需要访问它们的时候,如果传参那就要层层压栈传。反复的压栈对于性能不太好的单片机来说也是个压力。


user avatar   pansz 网友的相关建议: 
      

其实有个恰当的比喻解释这个,就好像问以前99平的房子是二房,为什么现在会有人把99平的房子做成三房,买大点不行吗?

答案:因为大了,比较费钱。


user avatar   gnadil 网友的相关建议: 
      

这两个游戏都有自己的问题。但严重程度完全不一样。

赛博朋克最大的问题是人力不够,没有人手把愿景在限期内做出来,导致后期狂砍。但从已有的成品来看,CDPR是完全有人才有能力把东西做出来的,只不过没时间做。光影效果,已有的垂直城市设计,以及主线和很多支线任务的演出都有毫不输巫师3的气质,尤其是日本城浮空平台那关,无论是游戏流程还是画面还是音乐,都把类似银翼杀手2047的那种气氛和感受做到了极致。有人说CDPR的人才都跑了,或者CDPR傲娇了开始放水,这并不客观。2077确实是个半成品,主机优化的问题尤其严重,但你关注已经完成的部分,用高配置PC玩,其质量并未令人失望,依然是巫师3的水准。

2077就像是一个优等生忘了做背后的几题的考卷,开天窗导致不及格,但已经做了的题目还是正确率极高的。

谈到E3的demo,单从画面上讲你很难说它缩水了。只不过CDPR没告诉你想要E3画面,就得上3080+光线追踪。。。

我猜想没有光追的话,游戏在大多数情况下也是可以达到光追的效果的,只不过人工工作量会很大,有些地方需要离线烘培,而有些地方需要人工设置虚拟光源。CDPR可能发现项目后期工作量太大搂不住了,就上了光追这个大杀器。。。


至于无人深空,现在口碑很好,但我要不客气地讲,这个游戏到了今天依然是垃圾,只配卖$19.95,打折的时候卖2.95的那种。

Hello工作室自始自终都没有把初始愿景实现的技术能力。

你可以看无人深空进入大气层的技术实现。先是一段飞船进入大气层摩擦发红的特效,然后可以看见地形通过一种非常粗糙、视距很近的情况下刷新出来,并且刷出来的地貌和太空中看到的地貌完全不同。所以从头到尾,hello工作室都没有类似精英危险和星际公民的无缝行星登陆技术。

无人深空更新了十几次,并没有触动这个游戏除了机械刷就没有任何深度的本质。这是一个极其无聊的游戏。但它刷了两年的DLC,玩家也就给他点面子,没功劳有苦劳。它每次更新我都会进游戏看看,但玩不了半小时就会放弃。一是实在无聊,二是它美术设计和渲染水平有限,色彩及其刺眼。比如在母船机库里,到处都是亮瞎狗眼的点状光源,但这些光源不会照亮周围的任何东西,看的时间长了有种不带护目镜看焊接的流泪效果。你说更新了那么久,这么简单的问题都不解决,有什么用呢。游戏中随处可见低级设计的痕迹,比如说有很多行星上有一种可以卖钱的球,这种球没有任何贴图,只有亮瞎眼的纯白色材质,在HDR效果下极其刺眼,但它又不是个光源,放在地上不会照亮周围任何东西。这种打开Blender就存盘的建模初手垃圾素材居然也能放在游戏里,真是活久见。

所以无人深空就像是一个学渣冒充学霸,把期望提得无限高,却每题都答错结果接近0分,被骂,然后花了漫长的时间在那里订正,一题一题的改,最后终于接近30分了,然后获得了大家的赞赏,全然忘记了它改了那么久依然是不及格。

无人深空的贴图我就不贴了,首发的时候真是纯垃圾,基本上是2008年魔兽世界首发的那个水准。现在也依然是垃圾,开个HDR看着眼睛都疼。




  

相关话题

  人工「神经网络」技术在信息处理上有何特点,工作原理是什么? 
  C# 语言和 .NET 框架相比 Java、PHP、Python 等 web 开发技术有哪些优劣? 
  从事嵌入式行业的你,现在年薪多少,有什么经历想和大家分享? 
  南京大学LAMDA(周志华)组的实力如何? 
  C/C++中的数组为什么必须定义之后在一行内立刻赋值,而不能定义数组之后换一行再赋值? 
  下一个革命性的人机交互方式会是什么? 
  用c#开发桌面应用,如何做出漂亮的界面? 
  自学编程的难度如何? 
  有没有介绍C#这门语言的设计思想的书? 
  如何看待2016.6.2百度显卡吧两位大吧主被百度下台? 

前一个讨论
编译器是如何实现C/C++中的const的功能?
下一个讨论
如何看待美国无人机空袭导致阿富汗平民死亡?





© 2024-05-09 - tinynew.org. All Rights Reserved.
© 2024-05-09 - tinynew.org. 保留所有权利