VisualStudio工程组织_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > VisualStudio工程组织

VisualStudio工程组织

 2017/8/6 3:31:26  EphoneChan  程序员俱乐部  我要评论(0)
  • 摘要:VisualStudio工程组织近日,由于新公司使用VisualStudio这款大杀器来开发C++,闲余之际抽空学了一下VS这个IDE的使用,记下这篇博客来巩固一下所学的知识,也希望这篇文章能帮到初学VS的新童鞋。前言本文以最简单的HelloWorld程序作为引子,讲解如何在VS中组织代码,期间也会穿插一些Unix-like环境下的C开发知识,毕竟C语言起源于Unix系统,其在VS中的许多用法或多或少都带有老前辈的身影。一、C/C++开发的基本概念编译:将.c/.cpp文件编译成中间文件
  • 标签:Visua Visual Studio

VisualStudio 工程组织

  近日,由于新公司使用 Visual Studio 这款大杀器来开发 C++,闲余之际抽空学了一下 VS 这个 IDE 的使用,记下这篇博客来巩固一下所学的知识,也希望这篇文章能帮到初学VS的新童鞋。

 

前言

  本文以最简单的 HelloWorld 程序作为引子,讲解如何在 VS 中组织代码,期间也会穿插一些 Unix-like 环境下的 C 开发知识,毕竟 C 语言起源于 Unix 系统,其在 VS 中的许多用法或多或少都带有老前辈的身影。

 

一、C / C++ 开发的基本概念

  • 编译:将 .c / .cpp 文件编译成中间文件;
    • 在 Unix-like 系统中,中间文件的后缀名是 .o(object 文件) ,称作对象文件或者目标文件;
    • 在 Windows 系统中,中间文件的后缀名是 .obj,在这里称作对象文件会比较好,因为 VS 中的目标文件表示项目最后输出的文件;
  • 链接:将多个中间文件(即 .o 或 .obj)链接起来,组成一个可执行文件、动态链接库、静态链接库 ;
    • 可执行文件:Windows 下的 .exe 文件、Unix-like 下具有 x 权限位的的文件;
    • 动态链接库:Windows 下的 .dll 文件、Unix-like 下的 .so 文件(注意,.so 文件也是具有 x 权限的,但是由于没有入口函数 main,故无法直接执行);
    • 静态链接库:Windows 下的 .lib 文件、Unix-like 下的 .a 文件;

 

二、编译,链接的常见问题

  • 编译阶段:只检查源文件中所调用的函数是否有声明、以及函数的入参类型是否正确,而不理会函数是否有定义。函数的声明一般放在头文件中,即 .h 文件。由此可推断,编译阶段最常见的问题就是找不到头文件的所在路径,此时,编译器一般会提示找不到标识符;
  • 链接阶段:查找源文件中所调用的函数定义,上面提及到链接是将多个中间文件组合成一个新的文件。由此可推断,链接阶段最常见的问题就是找不到中间文件,此时,链接器一般会提示遇到无法解析的命令;
    • 静态链接:和静态库链接,把整个库包含到最终输出的文件中,输出的文件不再依赖该静态库;
    • 动态链接:和动态库链接,在程序执行的时候再链接,输出的文件必须依赖该动态库才能正常运作

 

三、VS 基本概念

  • Solution:解决方案,这是 VS 中最大的组织单位,在 VS 中组织任何工程都要有一个解决方案,解决方案表示的是整个系统。解决方案的描述文件是 .sln 文件,可以使用文本编辑器查看;
  • Project:项目,VS 的中层组织单位,一个解决方案下有多个项目。在构建大型系统时,一般都会将系统划分成多个模块,而每个模块就可以组织成一个项目。项目的描述文件是 .vcxprj 文件,同样也是文本文件,伴随一个项目的另一个描述文件是 .vcxprj.filters,这个是筛选器文件,用来描述 Project 中建立的筛选器(后面会提到);
  • Item:项,VS 的最小单位,即源码文件,可以是头文件(.h)或者源文件(.cpp);

 

。。。。。。(待续)

上一篇: 手机有新短信了,通过电脑提醒我 下一篇: 没有下一篇了!
发表评论
用户名: 匿名