我在.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()
等),但这很糟糕,几乎可以肯定不是您想要的。