- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我想在不调用预处理器的情况下运行 Microsoft Visual Studio 编译器 cl.exe
。这可能吗?我认为简单地编译预处理的源代码(使用 /c
标志)会使预处理器运行为空操作,但显然情况并非如此。我做了一些基准测试。这是一个小源文件 (main.cpp
),其中仅包含一些代码:
#include <iostream>
#include <string>
#include <windows.h>
以下是一些不同的编译器调用及其时间:
1: cl /c main.cpp ~1.02s2: cl /EP main.cpp > main-preprocessed.cpp ~0.5s3: cl /c main-preprocessed.cpp ~0.75s
编译预处理后的源代码似乎已经快了一点(预处理程序不需要做任何事情)。然而,1 和 2 之间的差异表明实际的编译器和汇编器只需要多一点 0.5s。因此编译预处理后的源代码(如步骤 3 中所做的那样)比我希望的要慢一些。
有没有办法只运行编译器和汇编器,而不调用预处理器?我对 MSVC6 到 MSVC10 的解决方案很感兴趣。
最佳答案
据我所知,没有预处理器就无法运行编译器(不管它什么都不做。
然而,当您添加写入文件然后读回该文件时,将这 2 个阶段分开显然会更慢。如果它不需要执行这些写入,它可以将其保存在内存中,这样您就可以节省大量等待磁盘写入和读取的时间。
即即使您可以禁用预处理器,它仍然比同时运行两个阶段要慢。
关于c++ - 如何分两步运行 MSVC 预处理器和编译器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4757231/
我在这里阅读了几个关于 SO 的问题,但我的 Makefile 仍然无法执行我想要的操作。与其他问题相反,我这里有一个两步编译。步骤如下: 使用预处理器工具(称为 ppx)生成 .cpp 和 .h 文
我想要一个从左侧滑入然后垂直滑动打开的菜单,然后通过反转这些步骤关闭,滑动关闭然后向左滑动。 我正尝试为此使用 css 转换。我可以让菜单出现两步过渡,但反转不起作用。根据其他问题,颠倒步骤应该可行,
我正在编写一个非常简单的两步 SQL 查询。 我有一个名为“Users”的表,另一个名为“ProfileCharacteristics”的表。 **Users Table:** UserId [PK]
马丁福勒的 PoEAA catalog就像 Ruby gems 和 Rails 模块的存储库,例如 Rails 的 ActiveRecord ORM 基于 Fowler 的 ActiveRecord
我是 zendframework 的新手。我正在尝试实现两步 View 布局: Bootstrap.php( View /Bootstrap.php) 'layout', 'layoutPa
我打算实现 Martin Fowler 的 Two-Step View Pattern 用于在我正在编写的 Web 应用程序中呈现 HTML。一般的想法是,它不是让应用程序输出原始 HTML,而是输出
您好,感谢您阅读此问题: 我正在研究企业架构模式,并且我已经实现了转换 View 之一: Java: Implementing Transform View pattern, to convert X
我是一名优秀的程序员,十分优秀!