1.项目和解决方案的关系
解决方案可以有一个或多个项目。
通常来讲创建一个项目的时候都会创建一个解决方案,然后因为解决方案名称和项目名称又一样,就会看起来文件夹结构比较乱。
梳理一下 各个文件夹下面生成的各种文件。
2.测试
1.新建一个项目。同时创建一个解决方案,为了清晰一点,把解决方案的名称换成不一样的,解决方案–sln_test。项目1–project1。t同时再创建一个项目2—project2。同时给每个项目新建一个源文件–源.cpp。文件结构如下:
D:\CODE_CPP\SLN_TEST
│ sln_test.sln 解决方案文件
│
├─Project1
│ Project1.vcxproj 项目文件**
│ Project1.vcxproj.filters 筛选器文件
│ Project1.vcxproj.user 是本地化用户配置
│ 源.cpp
│
└─Project2
Project2.vcxproj
Project2.vcxproj.filters
Project2.vcxproj.user
源.cpp
2.对源文件运行后再看一下文件目录。
运行有四种选项
- debug x86
- release x86
- debug x64
- release x64
先在选项 1 2情况下运行,看到生成了两个文件夹debug和release,分别放着两个项目生成 exe文件。
值得注意的是,在解决方案文件夹下有debug和release文件夹;在项目文件夹也有debug和release文件夹
对于解决方案有debug和release文件夹
D:\CODE_CPP\SLN_TEST\DEBUG
Project1.exe 执行文件 如果要链接dll文件,要放在解决方案的debug目录下,和exe同级
Project1.ilk 一种链接临时文件
Project1.pdb 一种 3Com PalmPilot 数据库文件
Project2.exe
Project2.ilk
Project2.pdb
D:\CODE_CPP\SLN_TEST\RELEASE
Project1.exe
Project1.iobj
Project1.ipdb
Project1.pdb
Project2.exe
Project2.iobj
Project2.ipdb
Project2.pdb
对于项目也有debug和release文件夹
├─Debug
│ │ Project1.log 日志文件
│ │ vc141.idb 一种 MSDev 中间层文件
│ │ vc141.pdb 一种 3Com PalmPilot 数据库文件
│ │ vcpkg.applocal.log 和vcpkg相关的log文件,vcpkg是一种c++安装包管理器
│ │ 源.obj 一种对象文件 汇编生成.obj文件
│ │
│ └─Project1.tlog
│
└─Release
│ Project1.log
│ vc141.pdb
│ vcpkg.applocal.log
│ 源.obj
│
└─Project1.tlog
源文件(cpp)—>预处理后(.i)—>编译后(.s)文件 -->汇编后(.obj文件)—>链接器(链接.dll和.lib)—>可执行文件(.exe)