如何用 C++ 语法编写 Cocoa NSWindow 代码?
How to write Cocoa NSWindow code in C++ syntax?
我在 .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 文件,无需任何修改。)。我不太了解 objective-C 代码语法。请帮忙
您无法将其转换为 C++。 Cocoa 框架没有绑定到 C++。
您可以使用 Objective-C++,它是 C++ 的超集。因此,您显示的代码可以像 Objective-C++ 那样编译得很好。调用编译器时,您可以使用 .mm 文件扩展名或使用命令行选项指定语言。但这不是你真正问的。
理论上,您可以将 Objective-C 代码解构为对 Objective-C 运行 时间库的调用(例如 objc_msgSend()
等),但那将是太糟糕了,几乎肯定不是你想要的。
我在 .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 文件,无需任何修改。)。我不太了解 objective-C 代码语法。请帮忙
您无法将其转换为 C++。 Cocoa 框架没有绑定到 C++。
您可以使用 Objective-C++,它是 C++ 的超集。因此,您显示的代码可以像 Objective-C++ 那样编译得很好。调用编译器时,您可以使用 .mm 文件扩展名或使用命令行选项指定语言。但这不是你真正问的。
理论上,您可以将 Objective-C 代码解构为对 Objective-C 运行 时间库的调用(例如 objc_msgSend()
等),但那将是太糟糕了,几乎肯定不是你想要的。