The following are the VC ++ projects under vs2013:
Debug and release:
Debug is usually called a debug version. It contains debugging information without any optimization, so that programmers can debug programs easily. Release is called a release version. It is often optimized to optimize the code size and running speed, so that users can use it well.
There is no essential limit between debug and release. They are just a set of compilation options.
The directory structure of:
Vs adopts a solution + project structure. A solution can contain multiple projects.
Each solution (such as solution) has a directory of solution, which contains the solution configuration file (solution. sln and solution. SDF) and the output file (debug or release ).
If you create project pro1 under the solution, a pro1 folder is created under the solution directory. The pro1 folder contains the project configuration file (pro1.vcxproj) and intermediate file (debug or release ), all. CPP and. all hfiles are in this folder.
As described above, the Manager (solution or project) corresponds to a general folder, which stores the configuration files and sub-managers of the manager. In addition, by default, the directory starting point set for the project attribute is the location of the project configuration file, which is actually the location of the project header file and source file.
The default C # project created in vs is different from the directory structure generated by the default C ++ project. If it is a C # project, the total solution folder contains only the solution configuration file SLN and a total project folder (two items in total ), the total project folder contains the C # source file, project configuration file proj, A properties property folder, an OBJ folder, and a bin folder, the OBJ and bin folders both contain the debug and release folders. The OBJ folder stores intermediate compilation results (the extension is more project type but different), while the bin folder stores the final generated results (the extension is generally EXE or DLL ).
For a C ++ project, the total solution folder contains only the solution configuration file SLN, a project folder, a debug folder, and a release folder (four items in total, the debug and release folders store the final generated result EXE or DLL. Note that if you do not use release to generate the file, the release Folder does not exist ), the project's total folder contains the C ++ source file header file, the project configuration file, a debug folder, and a release folder (note, the debug and release folders here only store the intermediate compilation result OBJ, and do not store files such as EXE and DLL. If you do not use release compilation, there is no corresponding release folder ).
Project Properties of:
By default, the "output directory" in the "regular" column is $ (solutiondir) $ (configurationname ): during debugging, a debug (the value of configurationname is debug or release) folder is created in the solution folder. This option determines the macro $ (outdir) value and the output location of the file XX. ilk and XX. PDB generated in the link.
$ (Configurationname) indicates the macro of the project. You can view and modify (not recommended) the specific values of all macros in connector-input-attached dependencies, for example: $ (solutiondir) directory of the solution.
By default, the "output file" option under the "General" option in the "linker" column is $ (outdir) $ (targetname) $ (targetext ). $ (Outdir) is determined by the General-> output directory, $ (targetname) is determined by the General-> target file name, and $ (targetext) is determined by the General-> target file suffix. This selection determines the location of the final output EXE file.
If the General-"target file name and general-" target file suffix do not determine the value of $ (targetname) $ (targetext, then, the "General" in the "linker" column must display the file name and suffix of the output EXE file. After debugging is started to generate the EXE file, the reverse confirmation of the EXE file $ (targetname) $ (targetext) value.
Summary: by default, the "output directory" and "output file" attributes correspond to the same Directory, which is convenient (of course, the value of the output file also contains the EXE file name based on the value of the output directory ). The hosts file is in the directory set by the "output file" attribute.
The "working directory" item in the "debug" column, which is empty by default, indicates that the working directory is the project directory, that is, the directory where the ssyy. vcproj project configuration file is located. The "working directory" attribute is the default directory that is uniquely identified by the program after VS is run, that is, only this directory is known after work, and all operations such as file read/write are performed on this directory. Note: The working directory settings in vs are for debugging, that is, after you start the debugging, start a new process, the working directory of the new process is automatically set to the working directory in the vs project attribute, and then the new process starts the corresponding exe program. However, if you do not use vs debugging to start the EXE, but double-click the EXE file to start a new process, the working directory of the new process is automatically set to the directory where the EXE file is located, this is different from vs startup debugging. Therefore, if you do not copy the contents in the working directory to the directory where the EXE is located during release, an error will occur, because the working directory is no longer set in, the directory where the EXE file is located.
The "command" attribute in the "debug" column. [This attribute indicates the full name of the EXE file to be started by the debugger], including the path name. The default value is $ (targetpath ), targetpath indicates the full path name of the target output file. In general, the value is equal to the value represented by the "output file" attribute.
"Additional dependencies" under the "input" option under the "linker" column. This is the static library used to set the program Link. It is equivalent to the "code" that has been compiled by the link ". Therefore, we can simply think that these libraries are equivalent to the. cpp files we write, but these libraries are compiled. cpp.
In addition, the directory under the VC ++ option indicates the location and information of the C ++ library contained in.
Part reference: http://blog.csdn.net/yyhero1/article/details/19272637
Vs project property configuration Summary