C++ 编程和最终的移动

Posted

技术标签:

【中文标题】C++ 编程和最终的移动【英文标题】:C++ programming and eventually Mobile 【发布时间】:2012-04-13 19:47:40 【问题描述】:

我想最终构建完全原生的 android C++ 应用程序,可以转移到 ios,我应该从哪里开始

首先,为了更容易回答这个问题,我认为我自己几乎是一个中级 C++ 程序员,我还没有脱离命令行程序,但我了解向量、数组、指针、OOP 和我的基础知识还没有达到 100%,这就是我问这个问题的原因。

我已经用 java 中的 sdk 编写了一些 android 应用程序,但我的老板现在想要 iOS 应用程序,他不想给我买 mac,(这就是为什么我坚持使用 c++ 中的完全原生 android 而不是去iOS)

1) 首先,我很困惑买什么书可以让我从初级 C++ 编程到下一步,...如果是的话,我应该专注于学习 windows API,我应该买什么书和教程,因为我厌倦了购买既高级又具有我已经理解的东西的kindle书籍(我在中间找不到一本挑战我继续使用我的c ++)所以,你们建议我应该直接进入在 C++ 中学习 android,或者我应该尝试去其他地方,先在 C++ 上做得更好

2)如果我应该进入 android 或 ndk,除了一本名为“ANDROID NDK”的 kindle 书(大声笑)之外,是否还有其他真正支持 android ndk 的好书。那本书我能够理解,但整个设置 Eclipse 令人困惑,因为它告诉我需要设置 cygwin,但后来它告诉我不必设置 cygwin,因为 ndk r7 支持命令行,所以我对 eclipse 的设置感到困惑,我使用 eclipse for java,但从来没有使用过 C++,我必须在项目菜单中将我的代码转换为 C++,所以有没有比那本书更好的 android ndk 教程。

如果你们能回答这两个问题,我将不胜感激,是的,我知道我可能应该从 iOS 而不是 android 开始,但我没有 Mac,因此我不会从 iOS 开始,(如果我在这里错了,请纠正我!))我想如果我可以编写 android 本机 C++ 代码,那么如果我使用 Xcode 4 在 iOS 上用 C++ 编写代码,那么过渡到 iOS 就不会那么难了。

我应该再看一些我应该去的教程,这将非常有帮助,非常感谢。

【问题讨论】:

我认为这是一个很好的问题,但它并不真正符合 Stack Overflow 问题的要求。首先,您应该在每个帖子中提出 1 个问题,其次,您应该提出有明确答案的问题。就个人而言,我认为这个足以让我们站起来,但我指出它可以帮助您(和我们其他人)充分利用 SO。 (***.com/faq) 对于我的错误,我深表歉意,但谢谢你让它站起来,我真的很困惑 【参考方案1】:

我不确定您是否仍要构建 iOS 应用程序。我不明白学习 android C++ 对 iOS 应用程序有什么帮助。你仍然需要一个 mac 来编译和提交你的应用程序到应用商店(至少你可能需要借一个 mac 来构建和提交)。

另外,我建议使用不同的方法来解决您的问题(又名与 c++ 解决方案无关,但仍可能对您有所帮助)。

您可以使用 phonegap(将 html、css、javascript 转换为原生 iOS/Android/等应用程序的库)。您可以在 html、css 和 javascript(也包括 jquerymobile)中编写简单的代码,并且可以轻松地将您的应用程序转移到不同的平台。

注意:Phonegap 的新名称是 Cordova。

您可以在这里找到更多信息:http://www.phonegap.com

希望这会有所帮助! -c0d3

【讨论】:

我知道我需要一个 mac 来处理所有事情,但事实是我只有 21 岁,我的老板认为我没有能力做 ios 应用程序,所以如果我可以用 c++ 编写一个完整的 android 应用程序我希望然后他会给我买一个mac来做ios应用程序(基本上他不想在我证明我能做什么之前投资我......所以这就是为什么我需要在android中证明它 我明白了。如果您使用 phonegap 以 html、css 和 javascript 开发您的应用程序,则很容易将此应用程序转移到 iOS 或其他流行的手机平台,包括 windows mobile。它旨在帮助开发人员节省时间。使用 phonegap 构建应用程序后,将 html、css、javascript 文件包含在您正在开发的任何平台中,连接 phonegap 插件,它就可以像原生应用程序一样运行。节省大量开发时间! 您可以通过 Phonegap javascript 访问手机(无论是什么手机)本机功能,例如相机、GPS 等。 对于 phonegap 是否适合类似软件开发,我不会开发任何游戏,至少不应该。 docs.phonegap.com/en/1.6.0/index.html 这就是你可以用PhoneGap做的。不,它不是用于游戏开发的。就像我说的,它是 html、css、javascript。这些不一定是游戏开发脚本/语言...【参考方案2】:

好吧,我该怎么说呢?

1) 关于 C++ 的书籍:您是否尝试过参考书?

http://www.amazon.com/Programming-Principles-Practice-Using-C/dp/0321543726/ref=sr_1_2?s=books&ie=UTF8&qid=1334347108&sr=1-2

你也可以得到这个。它涵盖了基础知识并介绍了该语言的更多实际用法:

http://www.amazon.com/Programming-Principles-Practice-Using-C/dp/0321543726/ref=sr_1_2?s=books&ie=UTF8&qid=1334347108&sr=1-2

Herbert Shildt 有一本很棒的 C++ 书籍:

http://www.amazon.com/Beginners-Guide-Second-Edition/dp/0072232153/ref=sr_1_3?s=books&ie=UTF8&qid=1334347407&sr=1-3

请记住,所有这些书籍不涵盖 C++ 新标准 C++0x(或 C++11)。

2) 由于您计划进行多平台开发,我建议您使用移动框架。为两个系统(iOS 和 Android)编写多平台 C++ 代码并非易事。此外,iOS 的主要语言是 Objective C,顺便说一句,寻找 C++(甚至 Java)开发人员可能会很尴尬。 不幸的是,大多数移动框架都是基于 Web 的。如果您的应用程序需要低级别的访问权限,那么您可能就不走运了。

【讨论】:

是的,这就是我建议phonegap的原因。你不能做非常低级的事情,但你可以使用非常多的功能。它们最近也被 adobe 收购并正在积极开发中。希望对您有所帮助。【参考方案3】:

最好的办法是将所有特定于平台的代码隐藏在实现公共接口的本机库中。您的代码将仅通过公开的接口使用该库,并且实现在编译时通过平台特定标志绑定到该接口

我不知道任何android-iOS原生跨平台开发库,也许应该有一个?

【讨论】:

【参考方案4】:

我以果酱发誓。我已经将它用于视频游戏开发。您可以在 Visual Studio 中完成整个 ios 开发、android 开发。

您将需要 iTunes 来为 ios 部署,但仅此而已。

【讨论】:

以上是关于C++ 编程和最终的移动的主要内容,如果未能解决你的问题,请参考以下文章

C++链表移动赋值和移动构造函数

Visual C++编程技巧之三

如何在控制台中移动坐标 x-y 上的点对象 - C++ OOP

结对编程项目作业4

坦克大战游戏设计(C++)

腾讯暑期实习生线上(软件开发 移动开发)笔试涉及的知识点