Tag: objective c

alloca(n)和char x 之间有什么区别?

有什么区别 void *bytes = alloca(size); 和 char bytes[size]; //Or to be more precise, char x[size]; void *bytes = x; …其中size是一个在编译时值未知的变量。

是否有可能从Objective-C获得中间C代码?

正如我所理解的那样,除了Objective-C语言是“干净”C的严格超集之外,添加的OOP范例是通过Objective-C Runtime Reference中部分描述的一组函数来模拟的。 因此,我希望有可能以某种方式在中间C / C ++文件中编译Objective-C代码(可能有一些asm插入)。 一般可能吗?

Objective-C:unichar与char

我在unichar和char之间有点困惑。 我可以将unichar与char相似吗? 例如,我可以这样做: -(BOOL)isNewLine:(unichar)c { if(c == ‘\n’) return YES; else return NO; }

如何写一个’clamp’/’clip’/’bound’宏来返回给定范围内的值?

我经常发现自己在写类似的东西 int computedValue = …; return MAX(0, MIN(5, computedValue)); 我希望能够将其写为单个单行宏。 它必须没有副作用,就像现有的系统宏MIN和MAX一样,并且应该适用于与MIN和MAX相同的数据类型。 任何人都可以告诉我如何将其变成一个宏吗?

Swift:使用strftime和localtime进行NSDate格式化

如何将以下Objective-C代码转换为Swift代码? #define MAX_SIZE 11 char buffer[MAX_SIZE]; time_t time = [[NSDate date] timeIntervalSince1970]; strftime(buffer, MAX_SIZE, “%-l:%M\u2008%p”, localtime(&time)); NSString *dateString = [NSString stringWithUTF8String:buffer]; NSLog(@”dateString: %@”, dateString); // dateString: 11:56 PM 我正在格式化date 。

如何在Mac上检测耳机插孔中的某些东西?

有没有办法检测是否有东西插入Mac的耳机插孔使用c或objective-c ? 谢谢

在Objective-C / C中生成随机高斯双精度

我正在尝试在Objective-C中生成随机高斯双random.nextGaussian (与Java中的random.nextGaussian相同)。 但是rand_gauss()似乎不起作用。 有人知道实现这一目标的方法吗?

2 ^ n指数计算是否真的比位移效率低?

如果我做: int x = 4; pow(2, x); 那真的那么低效吗: 1 << 4 ?

你如何在obj-c中定义一个简单的“min”方法

我想在Utils类中定义min和max方法。 @interface Utils int min(int a, int b); int max(int a, int b); @end 但我不想要命名参数。 这将是一个太沉重的表示法。 我想使用C风格的定义。 但是[Utils min(a, b)]作为通话不起作用。 我的问题是什么? 在此先感谢您的帮助

如何模拟os x上的低级按键?

我试图以编程方式生成键盘keydown和keyup事件。 我目前正在使用CGPostKeyboardEvent来执行此操作,但我正在寻找一种在较低级别执行此操作的方法。 我看过DDHidLib,但无法找到创建假事件的方法。 有人可以帮忙吗? 更新 :感谢weichsel的建议,我现在正在创建一个关键事件,其中包含以下内容: CGEventRef e = CGEventCreateKeyboardEvent (NULL, (CGKeyCode)52, true); CGEventPost(kCGSessionEventTap, e); CFRelease(e); 我在这里找到了 。 但是 ,我的问题仍然存在,所以我会详细说明一下。 我希望发送按键的应用程序(第三方)实现DDHidLib的键捕获function: – (void) ddhidKeyboard: (DDHidKeyboard *) keyboard keyDown: (unsigned) usageId; 并且永远不会使用当前方法调用它。 我的猜测是,使用CGEventCreateKeyboardEvent模拟的键值太高,无法通过ddhidKeyboard捕获:keyDown。 所以我要做的是在足够低的级别创建keydown事件,以便ddhidKeyboard:keyDown识别它。