草庐IT

预编译

全部标签

鸿蒙系统研究之五:替换 AOSP 预编译库,关闭 SELinux

这是我的鸿蒙系统研究系列文章的第五篇,有兴趣还可以看看前面的文章:鸿蒙系统研究第一步:从源码构建系统镜像鸿蒙系统研究之二:内核编译鸿蒙系统研究之三:迈出平台移植第一步鸿蒙系统研究之四:根文件系统另外,还有关于鸿蒙系统的看法:我看鸿蒙系统这就是鸿蒙系统?吐槽一下开源鸿蒙系统言归正传,在我的上一篇文章吐槽一下开源鸿蒙系统中,我提到过,开源鸿蒙标准系统的系统文件主要来自AOSP的预编译文件,这对于追踪启动过程中的问题非常不友好。我在SeLinux的问题上就卡壳了很久。前几天在gitee上咨询鸿蒙系统的软件工程师,得知OpenHarmony2.0的AOSP的预编译文件来自Android10.0.0_r

node.js - 有没有办法预编译 node.js 脚本?

有没有办法预编译node.js脚本并分发二进制文件而不是源文件? 最佳答案 Node已经这样做了.“这个”是指创建机器可执行的二进制代码。它使用JITpattern来做到这一点尽管。在我介绍了其他谷歌搜索可能正在搜索的内容之后,更多关于这一点的内容......操作系统原生二进制可执行文件...如果通过二进制文件而不是源文件,您的意思是native操作系统可执行文件,是的。NW.JS和Electron两者都做得很好。在node.js脚本中使用二进制文件...如果通过二进制文件而不是源文件,您的意思是能够将部分脚本编译为二进制文件,因此

ruby-on-rails - "git push heroku master"资源预编译失败

当我运行命令“gitpushherokumaster”时,出现以下问题:远程:rake中止!远程:JSON::GeneratorError:源序列是非法的/格式错误的utf-8remote:Bundlecomplete!17Gemfiledependencies,57gemsnowinstalled.remote:Gemsinthegroupsdevelopmentandtestwerenotinstalled.remote:Bundledgemsareinstalledinto./vendor/bundle.remote:Post-installmessagefromrdoc:rem

c++ - Visual Studio 的预编译 header 包含什么?

问题涉及VisualStudio编译器创建的.pch二进制文件的内容。它包含什么?它只是头文件的解析树,还是目标代码?考虑这个例子://myheader.h#includeclassA{public:voidadd(inti){v.push_back(i);}private:std::vectorv;};将此header包含在要预编译的集合中会导致vector的完整模板实例被编译并添加到.pch中吗?提供更多背景信息;如果只有解析树被预编译,这意味着实例化模板的目标代码仍将在每个编译单元创建一次,从而导致编译和链接时间增加。因此,即使启用了预编译header,“统一构建”/减少编译单元

c++ - 关于Visual C++中预编译头文件的问题

如果我将一个header(a.h)放入stdafx.h并且该header包含另一个header(b.h),但在stdafx.h中未提及,那么每次有人包含a.h时都会访问b.h或者它是否作为啊?如果编译成a.h,有人直接包含b.h会怎样?这是否会被预编译?我问这个问题的动机是,我正在尝试为我使用的软件优化stdafx.h文件的内容。重建和增量构建时间对我们都很重要。我想知道我是否可以简单地在所有.cpp文件中搜索#include指令并计算每个文件被包含的次数。通常包含的文件可能是stdafx.h文件的良好候选者。当然,如果我不仅要考虑包含哪些文件,还要考虑包含的文件包含哪些文件,这种策略

c++ - 使用 Boost + GCC + 预编译 header 的编译时间变慢

运行:gcc版本4.2.1(AppleInc.build5664)我创建了一个带有默认预编译header的苹果XCode项目。它看起来很慢,一个没有主要功能的琐碎主文件不包含没有代码编译需要6秒,这是在我升级到新的SSD驱动器之后。我在笔记本电脑上,但我对升级到工作站会缓解我的问题有所保留。如果我关闭预编译头,那么主文件会在一秒钟内完成编译。似乎使用预编译头会对所有文件造成不利影响。这种延迟让我想避免编译和试验不好的代码。这是我在预编译header中包含的内容:#pragmaonce#include#include#include#include#include#include#inc

c++ - #ifdef 无法按预期使用预编译 header

我有如下部分代码:#defineFEATURE_A1voidfunction(){//somecode#ifdefFEATURE_A//codetobeexecutedwhenthisfeatureisdefined#endif//somecode}程序不执行#ifdef-#endif中的代码。但是当我将#ifdef更改为#ifndef并删除#define宏时,代码就会执行。下面的代码按预期工作。//#defineFEATURE_A1voidfunction(){//somecode#ifndefFEATURE_A//codetobeexecutedwhenthisfeatureisd

c++ - Qt项目中如何使用预编译头文件

我的IDE:VisualStudio2010,我使用Qt插件用于VS,Qt版本。4.8.1我在我的Qt项目中尝试创建预编译头文件(pch)时遇到了问题。我在非Qt项目中创建pch的常用方法是:创建标题;包含将在头文件中预编译的文件;对于项目中的每个源文件,如果它将使用pch,请在其属性中说明;对于pch项目状态创建中的一个源文件;在所有源文件中包含pch。由于Qt项目的这些操作失败,我决定它会发生什么,因为pch应该包含在MOC生成的所有文件中。我阅读了QtAssistant中关于预编译头文件的文章并执行了以下操作:创建头文件;对于项目设置选项中的所有.cpp文件,使用pch并创建一个

c++ - 如何有效地使用预编译头文件(使用/Yc 和 Yu 选项)?

我们使用VisualStudio2003(VC71)进行编译。为了减少编译时间,我们更改了构建脚本,使其为每个CPP文件生成预编译头(.pch)文件。makefile中使用的选项:/Yc"StdAfx.h"/Fp"StdAfx.pch"这样目标的编译时间减少了30%。但是任何人都可以帮助我理解它是如何减少编译时间的,即使每次编译每个CPP文件时都会生成pch文件。此外,这是正确的方法吗?我们应该使用Yc和Yu组合吗?我不能使用/Yu选项,因为pch文件应该至少生成一次。 最佳答案 问题假设您有一个您知道不会更改的header列表。例

c++ - 高效共享预编译头文件

我有一个被多个项目使用的框架(其中包括几个示例来展示框架的工作原理)。该框架具有核心、图形、物理、图形用户界面等组件。每个组件都是一个单独的库。还有几种配置。主解决方案文件使用所有可能的配置编译整个项目,以便项目可以使用这些库。由于框架很少被重新编译,尤其是那些从事使用该框架的项目的人(包括我),预编译许多头文件是有意义的。最初我让每个项目/样本都有自己的预编译头文件用于整个项目。每次我都必须重建相同的pch(例如,Debug),所以我决定共享PCH会减少冗余的PCH编译。到目前为止,一切都很好。我有一个编译PCH和库的项目。所有后续项目/示例现在都使用相同的PCH。这非常有效。唯一的