【发布时间】:2021-09-30 20:34:42
【问题描述】:
LLVM C 编译器支持“块”,例如闭包
typedef returnType (^MyTypeName)(parameterTypes);
MyTypeName blockName = ^returnType(parameters) {puts("OK");};
这是 C 标准的一部分,还是只是他们发明来支持 Objective-C?
【问题讨论】:
标签: c objective-c llvm
LLVM C 编译器支持“块”,例如闭包
typedef returnType (^MyTypeName)(parameterTypes);
MyTypeName blockName = ^returnType(parameters) {puts("OK");};
这是 C 标准的一部分,还是只是他们发明来支持 Objective-C?
【问题讨论】:
标签: c objective-c llvm
C 标准中允许它的部分是 C 2018 4 第 6 段:
... 符合标准的实现可能有扩展(包括额外的库函数),前提是它们不会改变任何严格符合标准的程序的行为。
【讨论】: