美文网首页
VS与VC++6.0项目与工程新手入门

VS与VC++6.0项目与工程新手入门

作者: 忘川_王富贵 | 来源:发表于2018-09-30 00:21 被阅读0次

    Question:


    VS或者VC里的那些工程是怎么回事?怎么使用它们创建并编译C语言或C++代码?还有那些以“#”开头的东西有什么作用?

    Answer:


    至于安装:

    如何在Win10安装VC++6.0 ,如何用VC++6.0新建项目并写代码,以及如何安装VS2017并写代码,参考链接。

    至于多文件编译以及为何每次写代码要重建项目:

    这里以VC++6.0为例,从新建工程到多文件编译,可以跟着一起动手做一下:

    点击文件(F)->新建,或者Ctrl + N

    选择工程选项卡,从上到下分别是:ATL COM AppWizardCluster Resource Type WizardCustom AppWizardDatabase ProjectDevStudio Add-in WizardExtended Stored Proc WizardISAPI Extension WizardMakefileMFC ActiveX ControlWizardMFC AppWizard(dll)MFC AppWizard(exe)Utility ProjectWin32 ApplicationWin32 Console ApplicationWin32 Dynamic-Link LibraryWin32 Static Library,(以官方文档为主)简单介绍参考https://zhidao.baidu.com/question/981441449787893859.html

    (中途发现一个资源网http://www.icodeguru.com/,嘿嘿嘿)

    我们这里选择Win32 Console Application(Win32控制台应用程序),也就是程序后运行的那个黑框框,另外提一句,如果选Win32 Application(Win32应用程序),就是非MFC框架Windows程序,可以参考《Windows程序设计》。

    在工程名称里填工程的名字,例如Test,在位置选择想要把代码存储到的位置,默认在C:\Program Files (x86)\Microsoft Visual Studio\MyProjects里

    选择空工程即可,然后点完成,再点确定 然后点左侧FileView,再点上面Test files旁边的+号浏览文件

    这就是一个项目的骨架了,在VC++6.0里为Source Files(源文件,以后缀名.c或.cpp结尾),Header Files(头文件,以.h结尾),Resource Files(资源文件,初期用不到,不做过多介绍)。

    然后Ctrl+N新建,选择文件

    这里选择C/C++Header File,程序的头文件,右边选中添加到工程,文件名填以.h结尾的头文件名,位置一般默认本工程目录下即可,如果有需要可以更改到其它位置。

    然后Ctrl+N新建,还是选择文件

    这里选择C++ Source File,C++源文件(C语言也选这个),然后选上添加到工程,因为是C语言程序,所以文件名以.c结尾,如果是C++程序,以.cpp结尾即可。

    创建完后长这样

    然后在头文件Test.h里写上程序所需要的头文件即可,每次需要添加的头文件都可以写进这个文件里,例如这样:

    头文件一般结构

    然后在源程序里写上以下测试代码,只需在源文件里用#include用双引号把刚才的头文件名包含进来即可,如果编译报错,找不到头文件,那么文件名正确后在引号里加入完整路径即可。

    比较大小测试程序

    然后编译,调试,若没有错误运行这个程序。假设这次代码写完了,需要关闭,

    Ctrl+S保存后点击文件->关闭工作空间

    然后正常关闭即可,等到再次使用时,打开VC++6.0

    Ctrl+O或者点击文件->打开

    再查找范围栏里选择之前使用的工程保存的目录,然后文件类型选择工程(.dsp),再选择上次的工程如Test.dsp并双击,(名称就是上次新建的工程名,以.dps结尾),之后文件名栏里就会变成Test,接着打开就好了

    条件编译

    如果不想使用上次代码,可以在代码开头加上#if 0,在结尾加上#endif,如图中所示,在#if 0 和 #endif 中间的代码,编译器在预编译阶段将会忽略,不会被编译。

    测试

    接着就可以在#if 0 和#endif 以外的区域编写代码了,例如#if 0以上区域,#endif以下区域,之后在编译运行即可。每次需要丢弃的代码,既可以注释掉,也可以用一对#if 0和#endif 条件编译忽略掉,也可以全选,删掉(虽然不建议这么做,毕竟现在写的代码以后可能还会用到),当然以上可以都不选,而是在现有的代码基础上再添加内容。

    至于多文件联合编译

    以下Test.c与Test.h中的无关内容都与上面那些图一样注释掉了,没有大改动。

    自定义头文件max.h

    一般在这里定义一些自定义函数需要用到的宏,以及自定义函数的定义,例如本例中的Max()函数的定义,函数的定义形参一般不用给出形参名,只需指明类型即可,当然指定了形参名也没错。

    函数定义源文件max.c

    在max.c里写入函数的定义,同时引入自己的头文件max.h,同时由于max.h里引入了Test.h,所以这里也就相当于引入了max.h和Test.h中的内容。

    测试源文件main.c

    可以在一个单独的源文件里指定程序的入口main()函数,例如本例中的main.c,同时也要包含进用到的头文件,例如本例中的max.h中定义的Max()函数,然后编译,调试,运行即可。(在VC++6.0里把max.h中的函数声明注释掉也可运行,但在VS里跨文件,必须给出函数声明)

    至于以#开头的东西,一些常用的#开头

    #define   宏名   宏内容  

    宏定义,在编译阶段,程序中除双引号中外,出现的宏名都被宏内容所替换

    #pragma once              

    保证文件只被编译器编译一次

    #ifdef  宏名

    #else

    #endif

    在这里解释为如果宏名被定义,则编译#ifdef 到#else中的内容,如果未定义,则编译#else到#endif中的内容。也可以不使用#else。

    #if 条件

    #endif

    和if-else结构一样,如果条件为真,则编译之间的内容

    #if ,#ifdef ,#ifndef等更详细说明与示例

    VC++6.0环境配置

    工具->选项 目录

    这里包含可执行文件、Include files、Library files、Source files四个内容,对我们有用的一般是Include files和Library files

    第一个红框里的内容分别是新建、删除、上移、下移 与上图一样

    Include files目录为用#include<>包含进的头文件目录,Library files目录为库文件目录,一般在预编译阶段,编译器就会按这两个目录路径栏里指定的目录从上到下依次查找,直到找到引入的头文件或库文件,否则就会报找不到头文件或缺失符号错误。

    如果下载安装了最新的SDK,或者其它头文件或库文件,就需要在这里指明安装路径。

    写在最后

    VC++6.0的入门到这里就告一段落,如果你觉得这个IDE界面太丑,那么可以试试VS2017之类更强大,界面更加友好的,但也特别臃肿的IDE。

    下一步

    如果这些都掌握了,并且对开发出自己的安全工具很有兴趣,可以试试《C++黑客编程揭秘与防范》,这里能够带你入门,密码是协会名缩写

    如果想更进一步,那么推荐这本书《彻底研究 黑客编程技术揭秘与攻防实战》密码链接,同样,密码还是协会名缩写。加密的目的不是为了阻止下载,而是给协会内部一些便利与宣传

    至于想写出更加强大的程序,可以试试《大话数据结构》,这里面的多种数据结构经常会用到

    如果还好奇的话,国内外各大论坛总有一个,是你想要的菜

    什么?你说Linux啊,布星布星,作为新手,要有新手的觉悟,知道这么多干嘛(*Φ皿Φ*),想挂科啊,还是闲得没事干啊

    emmmmm,如果实在好奇的紧,可以试试《鸟哥的Linux私房菜》,然后想干嘛干嘛去

    什么?觉得还不够,满足不了你的胃口?那么“Linux网络编程大礼包”送给你

    然后看完了还不知道干什么?那来和我交流交流经验,分享分享心得,顺便争得面红耳赤,然后一起写出个什么好玩且有趣的东西来

    不知道怎么联系我?可以在评论区里留下联系方式,说不定我会过来看。当然了,最大的可能是一段时间后我忘了这里的密码还有链接QAQ

    相关文章

      网友评论

          本文标题:VS与VC++6.0项目与工程新手入门

          本文链接:https://www.haomeiwen.com/subject/crmboftx.html