📄 const-cfstring-1.m
字号:
/* APPLE LOCAL file constant cfstrings *//* Test the -fconstant-cfstrings option for constructing compile-time immutable CFStrings, and their interoperation with both Cocoa and CoreFoundation. This will only work on MacOS X 10.1.2 and later. *//* Developed by Ziemowit Laski <zlaski@apple.com>. *//* { dg-do run { target *-*-darwin* } } *//* { dg-options "-fconstant-cfstrings -framework Cocoa" } */#import <Foundation/NSString.h>#import <CoreFoundation/CFString.h>#include <stdlib.h>void printOut(NSString *str) { NSLog(@"The value of str is: %@", str);}CFStringRef s0a = CFSTR("Compile-time string literal");CFStringRef s0b = CFSTR("Compile-time string literal");void checkNSRange(NSRange r) { if (r.location != 6 || r.length != 5) { printOut(@"Range check failed"); abort(); }}void checkCFRange(CFRange r) { if (r.location != 6 || r.length != 5) { printOut(@"Range check failed"); abort(); }}int main(void) { const NSString *s1 = @"Compile-time string literal"; CFStringRef s2 = CFSTR("Compile-time string literal"); checkNSRange([@"Hello World" rangeOfString:@"World"]); checkNSRange([(id)CFSTR("Hello World") rangeOfString:@"World"]); checkNSRange([@"Hello World" rangeOfString:(id)CFSTR("World")]); checkNSRange([(id)CFSTR("Hello World") rangeOfString:(id)CFSTR("World")]); checkCFRange(CFStringFind((CFStringRef)@"Hello World", (CFStringRef)@"World", 0)); checkCFRange(CFStringFind(CFSTR("Hello World"), (CFStringRef)@"World", 0)); checkCFRange(CFStringFind((CFStringRef)@"Hello World", CFSTR("World"), 0)); checkCFRange(CFStringFind(CFSTR("Hello World"), CFSTR("World"), 0)); /* Check for string uniquing. */ if (s0a != s0b || s0a != s2 || s1 != (id)s2) { NSLog(@"String uniquing failed"); abort (); } return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -