我在.mm文件中有以下代码:

NSRect mainDisplayRect;// = [[NSScreen mainScreen] frame];
    mainDisplayRect.origin.x = x;
    mainDisplayRect.origin.y = y;
    mainDisplayRect.size.width = width;
    mainDisplayRect.size.height = height;
    NSWindow *fullScreenWindow = [[NSWindow alloc] initWithContentRect: mainDisplayRect styleMask: NSBorderlessWindowMask backing:NSBackingStoreBuffered defer:YES];


有人可以提供帮助,特别是关于如何根据c ++语法初始化fullScreenWindow指针,只需要简单地使用C ++语法进行转换即可。或者即使使用C ++编译器也可以成功编译(即,以.cpp文件的形式编写时,无需进行任何修改)。我对目标C代码语法不太了解。请帮忙。

最佳答案

您不能将其转换为C ++。 Cocoa框架没有与C ++的绑定。

您可以使用Objective-C ++,它是C ++的超集。因此,您显示的代码可以像Objective-C ++一样编译。调用编译器时,可以使用.mm文件扩展名或使用命令行选项指定语言。但这不是您真正要求的。

从理论上讲,您可以将Objective-C代码解构为对Objective-C运行时库的调用(例如objc_msgSend()等),但这很糟糕,几乎可以肯定不是您想要的。

10-06 00:38