问题标签 [stdafx.h]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
7193 浏览

c++ - 如何正确使用 stdafx.h?

就分离依赖项而言,正确的使用方法是什么?stdafx.h

如果我把所有东西都放在那里,那么我的编译速度很快,我需要在任何文件中说的是

需要注意的是:

  1. 我不再知道哪些文件取决于哪些标题。
  2. 它降低了模块化,降低了我的代码可重用性。
  3. 我再也无法将 C#include与 C++ 分开(例如cstringvs string.h)而没有很大的痛苦。(说起来,这还重要吗?)

如果我什么都不放在那里,我可以很好地组织一切——但是我的编译速度会大大减慢。

如果我将所有内容都放在那里,并且在我的单个文件中包含每个标题,那么我将获得两全其美的效果,但需要注意的是,现在我必须跟踪同步问题。

这个问题是否有众所周知/广为接受的解决方案?

0 投票
2 回答
1633 浏览

c++ - 声明错误在 stdafx.h 中

我正在尝试使用 CDatabase,为此我已<afxdb.h>在 stdafx.h 文件中声明。当我编译此代码时,我收到错误“WINDOWS.H 已包含。MFC 应用程序不得#include <windows.h>”。为什么会这样?这不是使用 CDatabase 的正确头文件吗?这是默认生成的代码...

如果我在 >#include <afxdb.h>之后添加,#include <tchar.h我会得到指定的错误。

谢谢你

0 投票
1 回答
832 浏览

c++ - 如果我使用 /Yc,Visual C++ 是否会检查是否需要重新生成其 pch

似乎当我将选项设置为 /Yu 时,它只使用任何 pch,而不检查它是否需要更新,这意味着它将保留它预编译的标头列表并检查自上次以来这些文件是否已更新它们被预编译的时间。

但是当我 /Yc 时,它只是在我每次构建我的项目时重新预编译。

我不太确定 Visual C++ 是否能像我想象的那样处理这些行为,或者我是否犯了编辑 .h 文件的错误或其他错误。

那么我是否应该在每次更新标头时设置 /Yc、构建、重置为 /Yu、继续迭代,但重置为 /Yc、重建,然后重置为 /YU?

0 投票
0 回答
198 浏览

c++ - 如何测量使用预编译头文件节省的时间

我有一个 Visual C++ 解决方案,其中包含大约 15 个项目,构建时间超过 30 分钟。这是一个很大的解决方案,我们正在做各种各样的坏事,例如在所有地方都包含 windows api 标头,而不是将它们放在 stdafx.h 中

在我进入并将这些标题移动到 stdafx.hi 之前,我想测量一下我的努力会节省多少时间。我正在考虑在更改之前和更改之后进行重建,但我预编译的标头开始在第二次增量构建中得到回报,而不是重建,因为它也会清理 pch 文件。

有什么方法可以衡量这个吗?

0 投票
4 回答
3780 浏览

c++ - 在 Xcode 4 中编写 C++

我正在尝试学习 C++,但我不是 Windows 的粉丝,因此使用Visual Studio并不理想。不过,我的 Mac 上有Xcode

我在 Visual Studio 中用 C++ 编写了一个程序,它运行良好。当我将代码传输到 Xcode(使用 c++ 工具环境)时,它仍然可以正常工作,但它不喜欢顶部的 #include 语句。为什么?

<...>此外,如果我使用它而不是它仍然不喜欢它"..." 不会影响我可以看到的当前程序。

基本上我想知道它的重要性是什么?我是否或将来需要它?

0 投票
0 回答
253 浏览

static-libraries - 我应该在我的静态库中包含 stdafx.h 吗?我的图书馆应该是什么格式?

我正在创建一个静态库。我已经浏览了 win32 应用程序,静态库,没有预编译头文件。该文件是 .cpp 我假设我可以将其导出到实际的 .lib 文件,还是从一开始就假设为 .lib?

此外,我不断收到无法打开的源文件 stdafx.h,该文件已包含在我的主静态库 .cpp 文件中。告诉我,我应该这样做吗?

谢谢

0 投票
1 回答
1856 浏览

matlab - 在 matlab 中使用 mex 编译 C++ 时,如何摆脱 stdafx.h 错误?

我正在尝试使用 mex 编译 C++ 代码,但无法成功编译。阅读一些相关博客,我安装了 Microsoft Visual C++ 2010 Express 和 Windows 软件开发工具包 (SDK) 7.1,但仍然出现此错误:

facePart.cpp(5):致命错误 C1083:无法打开包含文件:'stdafx.h':没有这样的文件或目录

任何人都可以帮助我找出问题...?

我正在使用带有 matlab 版本 2011a 的 64 位 Windows 平台...

顺便说一句,在输入 mex -setup 后,它给了我这样的信息:

0 投票
0 回答
948 浏览

visual-studio-2012 - Visual Studio 2012 中的 MFC - 找不到 afx.h 文件

我在 VS 2012 中创建了一个新的静态库项目,并选择了 MFC 选项。它在项目中创建了几个文件,stdafx.h、targetver.h、stdafx.cpp。但是在 stdafx.h 中包含 afx.h、afxwin.h 等,它们被标记为错误。我无法编译开箱即用的解决方案。它说 afx.h 文件未找到。这是什么意思?

0 投票
1 回答
244 浏览

c++ - 使用第 3 方源代码时的预编译标头

我收到以下错误:

错误 C1010:查找预编译头时文件意外结束。您是否忘记将 '#include "stdafx.h"' 添加到您的源代码中?

这当然是一个公平的错误,我之前已经处理过它。但是,处理来自第 3 方的源文件的标准程序是什么?我应该检查第 3 方代码的每一个 cpp 并将其放入吗?

另一种选择是坚持自己的项目并正确处理链接。我特别喜欢不这样做。

0 投票
1 回答
2111 浏览

c++ - 系统范围的热键快捷键(Windows/Qt):防止窗口锁定?

我试图想办法在我的 Qt 应用程序中使用系统范围的热键。要与您一起检查消息,GetMessage 需要一个while()循环。这会导致窗口锁定并被禁用,但仍会为每个热键处理功能。

如何以允许我ui响应的方式同时运行 while 循环?


例子