将C ++代码从Windows移植到Mac

时间:2008-10-31 14:45:08

标签: c++ macos cross-platform

我是Windows开发人员的长期工作,看起来我将参与将Windows应用程序移植到Mac上。

我们决定使用Flex / Air作为双方的gui,看起来非常光滑BTW。

我的Windows应用程序有一个控制网络适配器(有线和无线)的C ++ DLL。这是使用标准库和Boost编写的,因此大多数应该跨平台工作。

在Mac上,如果想要编写C ++,大多数人会使用哪种IDE /编译器?此外,有人可以提供指向Mac的任何可以控制WiFi适配器(关联,扫描,断开连接等)的API的指针吗?

6 个答案:

答案 0 :(得分:8)

Xcode是Mac OS X的IDE,您可以通过加入Apple Developer Connection并免费获得在线会员资格来下载最新版本。

我不相信有任何支持的API用于控制无线网络适配器。最接近的是系统配置框架,但我不知道它是否会让你做你想做的一切。

另外,我强烈建议反对尝试使用Flex / Air来获取应用程序的用户体验。作为Windows开发人员,它在Windows上看起来很光滑,但是当提供完整的Macintosh用户体验时,这些技术并不总是一个很好的选择。

举个例子,我认为Air应用程序不支持全系列的Mac OS X文本编辑按键。虽然并非所有的Mac用户都会使用所有键击,但对于那些习惯于他们的人来说,他们试图输入一个不能处理的文本字段(例如)控制-A和控制-E来到字段的开头和结尾就像游泳一样通过糖浆。

对于需要跨平台的新应用程序,我强烈考虑在C ++中构建核心逻辑,同时在Mac上使用Cocoa,在Windows上使用WPF,以在每个平台上获得最佳用户体验。 Mac OS X和Windows都拥有各自用户习惯的现代本机用户体验技术,并且还有很好的方法使C ++代码能够与这些技术进行互操作。

答案 1 :(得分:3)

事实上的OS X IDE和编译器是Xcode。它随每台Mac一起提供,只需从OS X安装光盘安装即可。

Apple's developer site是获取有关OS X API的更多信息的地方

答案 2 :(得分:2)

对于不知情的人来说,它的“Xcode”不是“xCode”。抱歉迂腐:/

答案 3 :(得分:1)

Xcode和我相信的自定义GCC ......

答案 4 :(得分:0)

Xcode被大量使用,据我所知组合编辑器(例如Textmate),命令行gcc也被大量使用。 (这就是我在OS X上所做的事情)

对于所有API需求,请前往Apple's developer site,例如networking API的

答案 5 :(得分:0)

正如人们已经指出的那样,xcode是热门。

过去维护过windows / mac代码库,请查看MVC

只要您保持背景逻辑与UI和特定于平台的内容(如文件处理,网络,绘图到屏幕等)不同。这样,当您希望将来使用Linux时,您只需编写这些特定于平台的组件。

对于mac网络,您是否处于连接等级?为什么不让操作系统处理它,然后你只看到可用的连接?为什么要关心连接是有线连接还是无线连接?因为操作系统已经内置了很多这些工具,并且用户习惯于确保连接能够正常工作,所以有一个额外的程序想要操作网络似乎很奇怪。