虽然我的静态库运行正常,但我注意到以下文件附带了默认设置:
我不希望这个库很大。我希望尽量减少。是否需要stdafx.h / .cpp?
它们在我的项目中的显示方式:
stdafx.h
// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but
// are changed infrequently
//
#pragma once
#include "targetver.h"
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
// TODO: reference additional headers your program requires here
#include "mathlib.h" // My main library
stdafx.cpp
// stdafx.cpp : source file that includes just the standard includes
// MathLib.pch will be the pre-compiled header
// stdafx.obj will contain the pre-compiled type information
#include "stdafx.h"
// TODO: reference any additional headers you need in STDAFX.H
// and not in this file
targetver.h
#pragma once
// Including SDKDDKVer.h defines the highest available Windows platform.
// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.
#include <SDKDDKVer.h>
答案 0 :(得分:1)
如果不使用预编译头,则可以删除文件,并从代码中删除相关的包含文件。只有在实际使用该功能的情况下,才需要预编译的头文件。
也在项目属性-> C / C ++->预编译头下,在“预编译头”字段中选择不使用预编译头。
答案 1 :(得分:1)
在没有预编译头的情况下,即使编译一个小项目也可能会花费大量时间,因为任何项目都间接包含许多SDK和标准库头。因此,是的,您需要这些文件,不,删除它们不会得到任何有用的信息。没有它们,您的项目将非常缓慢地进行编译,这是您将获得的唯一结果。
如果您还不知道这一点-标准头文件(如“ windows.h”或“ stdlib.h”)的所有内容都必须位于“ stdafx.h”中。这样,就不会在每个项目构建(以及每个项目文件)中重新编译标准头文件。