Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone GCC/XCode加速建议?_Iphone_Xcode_Gcc - Fatal编程技术网

Iphone GCC/XCode加速建议?

Iphone GCC/XCode加速建议?,iphone,xcode,gcc,Iphone,Xcode,Gcc,我有一个备用的mac迷你服务器(2.53GHz,4GB,5400RPM驱动器),我用它来开发iphone。我正在开发一个小型应用程序。编译时间似乎越来越长(现在大约20分钟)。这个应用程序大约有20个小文件,总共4000行。它链接到C++/Boost 你有什么建议来加快编译过程?越便宜越好。在项目的预编译标题中包含所有的boost标题。在项目的预编译标题中包含所有boost标题。有些地方出错了。我们在很短的时间内完成了更大的项目。有些事情搞砸了。我们正在用很短的时间编写更大的项目。我同意Eiko

我有一个备用的mac迷你服务器(2.53GHz,4GB,5400RPM驱动器),我用它来开发iphone。我正在开发一个小型应用程序。编译时间似乎越来越长(现在大约20分钟)。这个应用程序大约有20个小文件,总共4000行。它链接到C++/Boost


你有什么建议来加快编译过程?越便宜越好。

在项目的预编译标题中包含所有的boost标题。

在项目的预编译标题中包含所有boost标题。

有些地方出错了。我们在很短的时间内完成了更大的项目。

有些事情搞砸了。我们正在用很短的时间编写更大的项目。

我同意Eiko的观点。我们正在以更短的时间编译更大的项目(包括boost库)


我先检查一下日志。您还可以在构建窗口(Shift+CMD+B或在构建菜单->构建结果)中查看原始编译器输出。Xcode只是直接进行gcc或llvm调用,因此这可能会让您更好地了解构建过程中实际发生的情况。

我同意Eiko的观点。我们正在以更短的时间编译更大的项目(包括boost库)


我先检查一下日志。您还可以在构建窗口(Shift+CMD+B或在构建菜单->构建结果)中查看原始编译器输出。Xcode只是直接进行gcc或llvm调用,因此这可能会让您更好地了解构建过程中实际发生的情况。

正如其他人所指出的,这超出了您的预期,因此它暗示了某个地方的问题。尝试切换分布式构建——根据您的设置,它可能会改进或降低速度(有一段时间,我们遇到了一种情况,一台机器为其他所有人的构建提供服务,而不是自己的构建)。如果您有1Gb的网络,那么您可能会从分布式构建中获得一些额外的性能(特别是如果您有两个备用MacMini)。还可以启用预编译头,并将boost和cocoa头放在其中

如果事情仍然很慢,那么运行ActivityMonitor以确保您没有其他进程干扰,或者甚至没有获取更详细信息的工具是值得的。例如,您可能会发现您正在尝试在网络驱动器上编译文件,这肯定会减慢速度。另外,在Xcode中,尝试运行预处理文件的选项,并查看文件内容中的内容(可通过右键单击获得),以检查您是否编译了大量额外的代码


同样使用boost,尝试减肥,只找到你需要的部位。发行版中的bcp工具将只复制您要求它复制的包,以及所有依赖项,因此您不会构建您不使用的内容。

正如其他人所指出的,这超出了您的预期,因此它表明了某个地方存在问题。尝试切换分布式构建——根据您的设置,它可能会改进或降低速度(有一段时间,我们遇到了一种情况,一台机器为其他所有人的构建提供服务,而不是自己的构建)。如果您有1Gb的网络,那么您可能会从分布式构建中获得一些额外的性能(特别是如果您有两个备用MacMini)。还可以启用预编译头,并将boost和cocoa头放在其中

如果事情仍然很慢,那么运行ActivityMonitor以确保您没有其他进程干扰,或者甚至没有获取更详细信息的工具是值得的。例如,您可能会发现您正在尝试在网络驱动器上编译文件,这肯定会减慢速度。另外,在Xcode中,尝试运行预处理文件的选项,并查看文件内容中的内容(可通过右键单击获得),以检查您是否编译了大量额外的代码


同样使用boost,尝试减肥,只找到你需要的部位。在分发中出现的BCP工具将只复制您请求的包,加上所有依赖项,因此您不会构建您不使用的东西。

听起来像系统正在交换,这是编译C++时的一个常见问题,即STL重。在这种情况下,GCC可以是一个完整的内存清管器,同时两个GCC可以轻松地消耗所有内存

尝试:

默认写入com.apple.Xcode PBXNumberOfParallelBuildSubtasks 1

看看这是否有帮助


如果不是,那么其他的答案可能会有帮助。

听起来像系统是交换的,这是编译C++时的一个常见问题,即STL重。在这种情况下,GCC可以是一个完整的内存清管器,同时两个GCC可以轻松地消耗所有内存

尝试:

默认写入com.apple.Xcode PBXNumberOfParallelBuildSubtasks 1

看看这是否有帮助


如果没有,那么其他答案可能会有所帮助。

预编译头大大提高了使用寿命。如果您发现这有帮助,那么也可以尝试预处理技巧:这将显示每次编译的系统头数。同样值得尝试在您自己的头文件中尽量减少系统头的使用预编译头大大改善了您的生活。如果您发现这有帮助,那么也可以尝试预处理技巧:这将显示每次编译的系统头数量。同样值得尝试在您自己的头文件中尽量减少系统头的使用