在 Visual Studio 2012 的新 C++ 项目中自动创建的 stdafx.cpp 文件是什么

2024-02-17

据我了解,stdafx.h 是一个预编译头文件,用于使 Visual Studio 中的编译时间更快。当我在 Visual Studio 2012 中创建 C++ 项目时,还有一个 stdafx.cpp。有人可以解释 stdafx.h 和 stdafx.cpp 之间的关系吗?


预编译头可以大大加快项目中 .cpp 文件的编译速度。按照惯例,#include 是 stdafx.h,其中包含您想要预编译的所有 .h 文件。您可以将其命名为任何您想要的名称,但项目模板只选择 stdafx.h

但在此之前,必须有one#include stdafx.h 并首先编译的 .cpp 文件。在项目中的所有其他 .cpp 文件之前。完成后,编译器可以使用创建的 .pch 文件并快速编译所有其他 .cpp 文件,而不再需要实际 #include 标头。

Stdafx.cpp 就是那个 .cpp 文件。它有一个与所有其他 .cpp 文件不同的设置,它是构建的with /Yc http://msdn.microsoft.com/en-us/library/7zc28563.aspx。 “创建预编译头文件”选项。


更新:28 年后,微软在 VS2019 上打破了“曾经有一个 std 框架,但没人见过它”的做法。项目模板现在将这些文件命名为 pch.h 和 pch.cpp,而不是 stdafx.h 和 stdafx.cpp。当然是为了更明显的缩写。只是名称改变,机制仍然相同。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Visual Studio 2012 的新 C++ 项目中自动创建的 stdafx.cpp 文件是什么 的相关文章

  • ASP.NET 会员电子邮件验证

    尝试基于 C 创建电子邮件验证本文 https web archive org web 20211020153319 https www 4guysfromrolla com articles 062508 1 aspx 我创建了一个 ja
  • 将列表数组中的值绑定到列表框

    任何机构都可以给出一个简短的示例 用于将列表数组中的值绑定到 c net 中的列表框 这取决于您的列表数组的情况 让我们从一个简单的示例开始 List
  • 如何将异常对象序列化为 xml 字符串

    我想要类似的东西 try code here catch Exception ex stringXML Exception toXML 这样 stringXML 的值就是
  • C/C++ 程序是在 CPU 上运行还是在内核上运行?

    我已经编程很多年了 但有一件事我一直不明白 有两种类型的编程语言 编译型语言和解释型语言 编译型语言首先需要编译成解释型语言 然后才能执行 例如 C C 需要先编译为机器语言 然后才能执行 我的问题来了 谁真正运行已编译的 C C Wind
  • 函数的不明确的引用/值版本

    考虑以下函数原型 void Remove SomeContainer Vec const std size t Index SomeContainer Remove SomeContainer Vec const std size t In
  • 如何在Qt中更快地读取数据?

    Qt读取数据库比C 慢吗 我想我错过了一些东西 为了比较阅读速度 我在 Qt 中编写了以下内容 QElapsedTimer t t start int count 0 QString cs Driver SQL Server Server
  • 我可以将特定警告视为错误吗?

    以下是我有时在学生代码中看到的模式的简化版本 bool foobar int a int b if a lt b return true 当然 真正的代码要复杂得多 Visual Studio 报告警告 C4715 并非所有控制路径都会返回
  • Math.Sin、Math.Cos 和 Math.Tan 精度以及正确显示它们的方法

    我正在用 C 编写一个计算器 textBoxResult是一个文本框 我在其中显示数字 recount是以度为单位获取角度并以弧度为单位返回的函数 我的角度是从texBoxInput public double recount int nu
  • 使用 C# 和 .NET Core 在 AWS Cognito 用户池中进行用户管理

    如何使用 C 和 NET Core 3 x 管理 AWS Cognito 用户池中的用户 在文档中找不到有关它的任何内容 Attilio Gelosa 的原创文章 我写这篇文章是希望对其他人有帮助 我必须阅读一页又一页的文档 并从 AWS
  • 在 OpenGL 中使用不同的着色器程序?

    我必须在 OpenGL 中针对不同的对象使用两个不同的着色器程序 我发现我必须使用glUseProgram 在不同的着色器程序之间切换 但对此没有太多信息 鉴于我有两个用于不同对象的不同着色器程序 如何为每个着色器程序生成和绑定 VAO 和
  • 如何将对 System.Data.DataSetExtensions 的引用添加到网站 ascx.cs 文件?

    我们正在处理一个网站项目并尝试参考System Data DataSetExtensions 使用 Web 应用程序会更好 不过 技术主管有她的理由 这是我们尝试过的 找到装配路径 打开 Visual Studio 命令提示符并运行sn e
  • 不可能的事情发生了!这是什么意思?

    我遇到了一个有趣的运行时错误 我认为这是某种内存泄漏 我写了以下程序 C Code include
  • 如何在 C 预处理器中可靠地检测 Mac OS X、iOS、Linux、Windows? [复制]

    这个问题在这里已经有答案了 如果有一些跨平台 C C 代码需要在 Mac OS X iOS Linux Windows 上编译 我如何在预处理器过程中可靠地检测到它们 大多数编译器都使用预定义的宏 您可以找到列表here http sour
  • 更改成员资格、角色等的默认连接字符串

    默认情况下 我的网络应用程序似乎正在使用LocalSqlServer作为用于任何应用程序服务 例如成员资格 角色 身份验证 等 的连接字符串 有什么方法可以更改默认连接字符串应该是什么 默认值是 LocalSqlServer 似乎很随意 我
  • 不兼容的指针到字符转换

    我正在编写一个程序 将卡片值写入 52 个点字符的多维数组中 该程序是一个测试数组 稍后我将其作为函数写入主程序中 在程序中 我通过以下方式初始化 for 循环计数0通过51 我用一个switch语句调制13将卡牌值分配给数组点 但是 我收
  • C++ 项目编译为静态库,编译为动态库失败(链接器错误)。为什么?

    我有一个 VS2008 本机 C 项目 我希望将其编译为 DLL 它仅引用一个外部库 log4cplus lib 并使用其功能 当然也使用 log4cplus 的 h 文件 当我尝试将我的项目编译为静态库时 它成功了 当我尝试作为 DLL
  • 如何在您的网站中连接两个人

    有一款名为 Verbosity 的游戏 这是一款有目的的游戏 位于此链接上www gwap com 在游戏中 他们随机连接两个玩家互相玩 游戏是玩家1应该向他的搭档 玩家2 描述一个单词 而玩家2应该猜测这个单词 我正在尝试建立一个网站来执
  • C# 中的快速字符串解析

    在 C 中解析字符串最快的方法是什么 目前我只是使用字符串索引 string index 并且代码运行合理 但我忍不住认为索引访问器所做的连续范围检查必须添加一些东西 所以 我想知道我应该考虑哪些技术来增强它 这些是我最初的想法 问题 使用
  • 使用 Crypto++ 和 .NET 的 CFB 模式下的 TripleDES

    我正在尝试使用 TripleDES 使用 C 应用程序获得相同的结果 该应用程序具有Crypto https www cryptopp com 和 NET应用程序使用三重DESCryptoServiceProvider https msdn
  • 频繁插入已排序的集合

    我已经对集合 列表 进行了排序 并且我需要始终保持其排序 我目前在我的集合上使用 List BinarySearch 然后在正确的位置插入元素 我也尝试过在每次插入后对列表进行排序 但性能不可接受 有没有一种解决方案可以提供更好的性能 也许

随机推荐

  • Qprocess 搞乱了我的 linux 命令(我认为)。怎么修? [复制]

    这个问题在这里已经有答案了 我需要强制我的 C QT4 应用程序从 Linux 命令读取结果 我正在尝试使用 Qpr ocess 但是一旦我的命令变得复杂 它就会以某种方式变得混乱 只是猜测 并且不起作用 这里我试着给大家举一个小例子 QP
  • Java打印四字节十六进制数

    我有一个小问题 我有 5421 1 和 1 等数字 我需要以四个字节打印它们 例如 5421 gt 0x0000152D 1 gt 0xFFFFFFFF 1 gt 0x00000001 另外 我有浮点数 如 1 2 58 654 8 25f
  • Jest.js 强制窗口未定义

    我正在使用笑话 酶设置进行测试 如果定义了窗口 我有一个有条件地渲染某些内容的函数 在我的测试套件中 我试图达到第二种情况 即未定义窗口 但我无法强制它 it makes something when window is not defin
  • 如何移除后退堆栈片段的焦点?

    我在我的应用程序中使用片段 我有一个片段包含EditText还有一些Dialogfragment 当我单击一个特定的小部件时 它将移动到下一个片段 我需要后台堆栈中的第一个片段 因此我还添加了 addToBackStack 方法 第二个片段
  • 以图形方式显示 IntelliJ 中 git log --follow 的等效项

    IntelliJ 14 有没有办法显示特定文件的完整日志 我的意思是 执行一种git log follow以图形方式查看旧版本 在这些文件可能被重命名之前 目前 当我这样做时Git gt 显示历史记录在文件上 它仅显示相当于git log
  • 不带任何操作的 asp.net 路由语法

    我正在尝试建立一条没有任何操作而只有一个参数的路线 domain com 不带任何参数 应转到一个控制器 however 域名 com somestring 域名 com anotherstring 域名 com anythingreall
  • 将 uint16_t 转换为 char[2] 以通过套接字发送(unix)

    我知道大致上有关于这方面的事情 但是我的大脑受伤了 我找不到任何东西可以让这项工作发挥作用 我正在尝试通过 unix 套接字发送一个 16 位无符号整数 为此 我需要将 uint16 t 转换为两个字符 然后我需要在连接的另一端读入它们并将
  • 系统设置意图后无法返回活动

    在我的应用程序中 我需要进入手机的设置活动来激活 GPS 并希望使用以下代码返回我的应用程序 Intent intent new Intent Settings ACTION LOCATION SOURCE SETTINGS startAc
  • 仅包含标准库的 Golang 中间件

    我的第一个 stackoverflow 问题 所以请不要介意我对 stackoverflow 的天真和所问的问题 golang 的初学者 我想知道这两个调用之间的区别以及简单的理解Handle Handler HandleFunc Hand
  • 将列名添加到 dplyr 函数内的 vars()

    我有一个函数 可用于根据一些用户定义的组来汇总变量 利用dplyr library tidyverse get var summary lt function data target var group vars vars target v
  • ggplot2 分类x轴的不同面宽度[重复]

    这个问题在这里已经有答案了 我正在绘制分类数据的不同方面 df lt as data frame as factor c A B C D E F names df lt Xvar df Yvar lt c 2 1 4 5 3 7 df fa
  • 我可以使用什么方法来代替 python 中的 __file__ ?

    我通过 cython 将 python 代码转换为 c 然后编译 c 文件并在我的项目中使用 so 我的问题 我用 file 在我的 python 代码和 gcc 编译时 它不会出现错误 但是当我运行程序并在其他 python 文件中导入
  • 将 R闪亮应用程序部署为独立应用程序[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我开发了一个 RShiny 应用程序 我想与我的同事在内部共享 现阶段无法在服务器上托管该应用程序 我正
  • Webkit 伪元素文档

    我实际上完成了我想做的事情 当我想打印页面时隐藏一些 webkit 伪元素 代码如下所示 问题是我没有从我的研究中学到任何东西来做到这一点 而且我找不到任何关于它的文档 而且我看到的关于这个主题的每个答案都只显示了代码 没有任何进一步的解释
  • 优雅关闭失败

    我有一个带有 server shutdown graceful 的 spring boot 2 3 应用程序 当关闭时会抛出 2020 11 30 11 07 35 485 WARN 3038 SpringContextShutdownHo
  • SQL 存储过程 - 请帮我写这个! (第2部分)

    我有下表 其中值为 501 CREATE TABLE Numbers Number numeric 20 0 NOT NULL PRIMARY KEY INSERT INTO Numbers VALUES 501 我如何在此上编写一个存储过
  • 在 Java/Swing 的全屏程序中停止使用 Tab/Alt-F4

    我需要一种方法来阻止人们在我的 Java 程序运行时使用其他程序 即阻止人们切换选项卡并按 Alt F4 使程序全屏使用 window setExtendedState Frame MAXIMIZED BOTH maximise windo
  • C# ASCII 或 Unicode

    您好 我是编程和网络开发的初学者 我有一个关于 ASCII 和 Unicode 编码的问题 在 msdn 和其他 Web 示例中执行以下操作 byte byteData Encoding ASCII GetBytes data 这是因为这些
  • 如何将 Google Cloud AI Platform Jupyter Lab 升级到 Python 3.7+

    Google Cloud Platform的AI Platform可以方便地部署Jupyter Lab 但仅适用于Python 2和Python 3 5 3 如何升级我的实例才能运行 Python 3 7 或更高版本 笔记本 该解决方案是基
  • 在 Visual Studio 2012 的新 C++ 项目中自动创建的 stdafx.cpp 文件是什么

    据我了解 stdafx h 是一个预编译头文件 用于使 Visual Studio 中的编译时间更快 当我在 Visual Studio 2012 中创建 C 项目时 还有一个 stdafx cpp 有人可以解释 stdafx h 和 st