这是可能的,因为苹果公司开源代码(libdispatch?)我有点困惑,如何可以利用这一点.这是一个具有任何应用程序可以使用的API的库,还是Mac OS X内置的操作系统功能?可以单独使用“for”Macs和iPhone(与iOS 4)一起使用这个库吗?
我假设一个人必须运行端口,使gcc也兼容苹果公司引入的新语义.
解决方法
阅读
Ars Technica overview后,看来有几个挑战
> GCD广泛使用块(对C近似于闭包的Apple扩展),这意味着您的编译器需要支持块. gcc的标准版本不支持块,因此您必须将Apple的更改移植到Linux gcc或使用clang / llvm.
> Mac OS X版本的GCD涉及内核中的一些代码.显然,如果Linux需要内核更改来支持GCD,那么这是一项重要的工作.但是,似乎只有用户空间的端口是可能的.
> GCD根据Apache许可证许可.显然,此许可证与GPL v2不兼容.因此,您无法在GPL v2下分发的任何应用程序中使用GCD. GPL v3是OK的,所以在GPL v2或更高版本下许可的应用程序可以.
说完这一切,FreeBSD port已经完成了,所以一定是可能的.