加入收藏 | 设为首页 | 会员中心 | 我要投稿 平顶山站长网 (https://www.0375zz.cn/)- 分布式云、数据处理、媒体处理、图像分析、基础存储!
当前位置: 首页 > 站长资讯 > 动态 > 正文

微软和谷歌分别开源分布式深度学习框架

发布时间:2021-02-05 11:25:00 所属栏目:动态 来源:互联网
导读:根据苹果的说法,开发者可以用较为简单的代码,利用SwiftUI一次开发出适配多个平台的UI。实际上,SwiftUI在早前已经开始实装,打通了不少iPhone App和iPad App的隔阂最近在App Store上,已经越来越少看到iPad专属的App,这就是SwiftUI在发挥作用。 通过Mac C

根据苹果的说法,开发者可以用较为简单的代码,利用SwiftUI一次开发出适配多个平台的UI。实际上,SwiftUI在早前已经开始实装,打通了不少iPhone App和iPad App的隔阂——最近在App Store上,已经越来越少看到iPad专属的App,这就是SwiftUI在发挥作用。

通过Mac Catalyst和SwiftUI,苹果为App开发解决了内在和外表的兼容问题。Mac电脑兼容iPhone和iPad上的App,得以有了强有力的技术支撑。但这还不够,作为一个在营销方面颇有建树的巨头,苹果还打通了不同平台之间的购买渠道。
 

手机平板上的App能够兼容电脑,这应该会是苹果发布会上着重介绍的黑科技之一。苹果到底是怎么做到的?这对苹果生态的构建又起着怎样的作用?这就来简单谈谈吧。

iOS App兼容macOS:一步酝酿已久的大棋

对于普通消费者来说,苹果手机平板上的App兼容Mac电脑,似乎是一件新鲜事。然而如果你长期关注苹果的动态,不难发现这早有端倪。在这两年,苹果已经多次通过WWDC开发者大会等途径,透露出将移动和桌面的开发生态合二为一的大战略。

在去年的WWDC大会上,苹果隆重介绍了了SwiftUI和Mac Catalyst,这就是iPhone和iPad App能在Mac上运行的秘密。

先来说说Mac Catalyst。简单来说,这就是一个iOS、iPadOS和macOS通用的开发套件,开发者利用Mac Catalyst开发App,可以让App同时兼容这三个平台。要注意,这是不区分ARM和X86的!也就是说,Mac Catalyst是苹果生态开发的新基准,此后为苹果开发App,很大程度上不再会区分手机、平板和电脑三大类不同的硬件。App Store上之所以出现App兼容Mac的提示,应该就是得益于开发者使用Mac Catalyst进行了开发。
 

1 前言

最近在公司维护的项目中碰到一个解决了定位很久的 bug , bug 找到的时候发现犯了很低级的错误——在中断处理函数中调用了 printf 函数,因为中断处理函数的调用了不可重入函数,导致中断丢失和系统位置错误,这里直接导致嵌入式 linux 系统应用进程中的所有线程停掉,进而导致看门狗进程得不到喂狗,设备重启。

  • 那什么是不可重入函数呢?
  • 为什么中断处理函数不能直接调用不可重入函数?
  • 怎样写可重入函数?

就以上三个问题展开小短文:

2 什么是不可重入函数?

可重入函数主要用于多任务环境中,一个可重入的函数简单来说就是可以被中断的函数,也就是说,可以在这个函数执行的任何时刻中断它,转入 OS 调度下去执行另外一段代码,而返回控制时不会出现什么错误;而不可重入的函数由于使用了一些系统资源,比如全局变量区,中断向量表等,所以它如果被中断的话,可能会出现问题,这类函数是不能运行在多任务环境下的。

满足下列条件的函数多数是不可重入的:

  • 函数体内使用了静态(static)的数据结构;
  • 函数体内调用了 malloc() 或者 free() 函数;
  • 函数体内调用了标准 I/O 函数;

A. 可重入函数

(编辑:平顶山站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读