高通吧 关注:175,443贴子:4,365,189
  • 41回复贴,共1

理性分析,macos带动arm软件生态,确实能带动arm win10吃到红利

只看楼主收藏回复

楼主自己是个sdlc工程师,平时主要负责软件安全威胁建模,源代码安全审计,模拟黑客渗透测试,之前也干过python,c/c++,golang,javaweb开发,下面结合各个语言说下现在软件移植现状,先说结论,目前各种语言想跨平台很简单开发,前提是不涉及到调用的一些c语言库。当macos去推动arm生态完善时,这些第三方c语言库会被移植到arm平台,因此win10 on arm确实能吃到mac的红利。
对于java,绝大多数的web服务端都使用java开发,并且我们手机上的app也使用java开发,java属于半编译半解释型语言,java天生就是考虑了跨平台型的,java执行过程中,java的代码被编译成jvm(java虚拟机)认识的class中间代码,代码都在jvm执行,因此无论是arm还是x86,如果是纯java实现的程序,只要运行着jvm就能跨平台。但问题是许多Java的包是调用C语言代码的,这时候就要考虑 .so 的动态库移植及内联的汇编语言。
对于python,目前用于爬虫,人工智能,网络安全中开发漏洞利用程序,python属于纯解释型语言,python运行这一个解释器,这个解释器你可以简单理解为近似jvm的东西,不过少了java的中间层静态编译过程,python的性能很差,但是python解释器也是可以跨平台的。但日常我们使用的python都是cpython(jpython和pypy都属于异类),许多python的库底层都是c语言写的,因此只要那些库被移植,python跨平台还是简单的。
c/c++算是最经典的编译型语言了,c语言先被编译成汇编语言,之后汇编语言再被翻译成操作系统直接能执行的机器码,在windows中最终出来的是exe,linux是elf文件,这个过程由gcc来实现,gcc版本繁多,同一套代码在不同版本gcc上可能编译错误,且针对arm和x86都有对应平台下的gcc,x86 c代码用arm版本编译还可能出问题,还需要解决解决x86下值溢出,x86平台SSE、SSE2指令集的迁移问题,XCHGL的迁移问题等问题


IP属地:浙江1楼2022-08-04 10:41回复
    macos推动软件arm化,会推动那些第三方库推出对于arm版本


    IP属地:浙江2楼2022-08-04 10:44
    收起回复
      这个板鸭画的有点不像


      IP属地:江苏来自Android客户端3楼2022-08-04 10:52
      收起回复
        确实如此


        IP属地:浙江来自手机贴吧4楼2022-08-04 11:02
        回复
          我也不是太懂
          问题来了,适配编译器的活是apple做还是编译器维护者呢
          纯移植的话性能可能比较差,兼容性和稳定性比较难优化的吧


          IP属地:广东来自手机贴吧5楼2022-08-04 11:12
          收起回复
            还是优先完善c c++在arm平台的编译器,完善c c++基础库。不过感觉c++相关的并不好做,太复杂了这个语言


            IP属地:北京来自iPhone客户端6楼2022-08-04 11:26
            回复
              并不是这么简单。
              我们考虑基础库的时候,首先其中大量的库都是闭源且无法在arm mac下得到支持的,比如cuda的数学库和图形库,在mac下就只能用metal进行重写开发,而metal开发的结果对于woa完全无用
              假设某个库是开源的,我们仅在arm mac下进行重新编译就还需要考虑toolchain支持的问题。一部分经典的计算库是fortran编写的,而mac下缺乏对应的编译器。c/c++编写的库也要考虑常见编译器在不同平台下的不同代码生成和不同的代码标准支持。
              这些东西嘴上说说很容易,实际上短期内根本看不到迅速移植到mac的希望


              IP属地:美国来自Android客户端7楼2022-08-04 11:32
              收起回复
                虽然我不懂编程,但是我只知道,8cx这个性能和价钱是没人买的


                IP属地:浙江来自iPhone客户端8楼2022-08-04 13:18
                收起回复
                  这图哪来的?我也想看


                  IP属地:广东来自手机贴吧9楼2022-08-04 13:32
                  收起回复
                    现在不是hw行动吗你居然还有空


                    来自Android客户端10楼2022-08-04 14:06
                    收起回复
                      arm现在在win下,别的软件驱动都没有能用个jb毛,845都能带动win10,没有什么用的,有X86现成成熟的各方面,用arm没有一点什么用


                      IP属地:陕西来自Android客户端11楼2022-08-04 14:08
                      回复
                        大佬聊聊安全行业呗,我也是这个专业的


                        IP属地:湖北来自Android客户端12楼2022-08-04 15:20
                        回复
                          跨平台和兼容指令集是两码事 之前mac用X86的时候也没见什么win平台的软件迁移过来 开发者熟悉了一套工具链就基本不会跳去其他平台开发了 而且你看win-arm现在这半死不活的样子可能搞好吗?


                          IP属地:马来西亚15楼2022-08-05 17:59
                          收起回复
                            吃不到吧,ARM win市场份额太小了


                            IP属地:湖北来自Android客户端16楼2022-08-05 23:14
                            回复