在Mac机器上创建32对64的hello world有什么区别? 它看起来怎么样?我确实安装了Xcode和gcc但是在终端中运行时gcc给我64位错误!?没试过Xcode IDE,因为不知道从哪里开始你好世界! 感谢。
答案 0 :(得分:3)
在Mac机器上创建32对比64的hello world有什么区别?
无。编写良好,符合标准的代码无论是针对32位还是64位架构,都不应该有任何不同。这对于简单和复杂的程序都是如此,并且非常有用,因为它允许您维护用于编译两种类型的可执行文件的单个代码库。在目标体系结构之间切换应该像翻转编译器开关一样简单。
只有当你做一些特别深奥的事情时,你才需要为不同的“比特”维护不同的代码。在这种情况下,你会看到这样的丑陋:
#ifdef __LP64__
// 64-bit code
#else
// 32-bit code
#endif
gcc在终端中运行时给出了64位错误!?
既然你没有发布1)你实际尝试的代码,也没有发布2)你的编译器产生的确切错误,我们所能做的就是猜测。
假设您的代码在编译为32位时有效,我的猜测是两件事之一是真的:
您已经做出了一个非可移植的假设,这种假设在32位体系结构上是正确的,但在64位体系结构上是错误的。不知道它是什么,但编译器应该告诉你。注意它的警告并修复你的代码(如果绝对必要的话,如上所示有条件地保护它)。
您的Mac是较旧型号,具有32位处理器,不支持64位。如果您具有正确版本的编译器,则可以在32位处理器上编译64位代码,但不能执行该代码。它只能在64位处理器上执行。
没有尝试过Xcode IDE,因为不知道从哪里开始hello world!
这是完全合理的。 Xcode不会在这里帮助你。您专注于两件事:1)您编写的代码,以及2)编译器生成的错误。通过终端,您可以轻松访问这两种内容。
但是,如果您在命令行中工作感到不舒服,那么安装和使用IDE并不会有什么坏处。你的目标是学习如何编程计算机,而不是在能够使用终端时炫耀你的极客。如果GUI使您更容易阅读和理解正在发生的事情,那么使用它。