学习vc++的第一天--头文件+编译

因为c#有点很熟了...所以想再学习一下其他编程语言....

我用的是vs2019....

arx的设置环境实在太麻烦了,所以二次开发虽然想用cpp,但是挺困难的,所以我先从基础语法开始练习,已达我能够运用cpp先...

之前曾经想过能不能像c#一样强撸,但是后来尝试过之后发现不能......

果然强撸没有什么好下场.....

 

学习的最重要是练习,即使已经学会了c#,但是cpp还是初哥...

我看的是B站的视频  https://www.bilibili.com/video/av68697716?p=7

 

#include 相当于把头文件的东西复制粘贴到cpp文件里

例如: a.h

}

a.cpp

int Multiply(int a, int b)
{
    int result = a * b;
    return result;
#include "a.h"

这样会把大括号的}拷贝到a.cpp的后面...然后编译会成功;

验证方法就是 https://www.bilibili.com/video/av68697716?p=6

 

 

08:11里面所示的将工程属性里面的这个位置修改为"是",然后编译出.i文件,打开看就可以了

 

 

感觉起来c++的文字比较自由?不像c#那种不能合并的感觉....这个问题会一直带到我要学习到c++的动态编译上面....先挖个坑....

 

头文件的预处理  #pragma once 等价下面的

#ifndef STUDENT_H  //这里的名称和文件名一致,意思是如果不含有就
#define STUDENT_H  //定义一个新的宏
                   //然后运行这里的...(函数声明之类的....)
                   //这样就可以防止引用头文件,重复拷贝函数声明到其他的cpp上,防止函数重定义导致出错..
#endif
//qt喜欢用这样的形式

 

然后知道了如果发生常数折叠的判断语句,Debug模式编译器会扔掉判断肯定没用的代码...妙啊!!

 

ctrl+F7可以编译一个.cpp文件成为.obj文件,用来检测是否编译成功,

了解了obj文件是个过程文件,一堆obj文件编译成为.lib文件.

cpp->obj->lib->exe 以及dll.....

 

接触了,static作为本文件的修饰符,可以是变量的也可以是函数的.....用法上和c#有着天壤之别.....

static 和 extern 这两个关键字的用法和分析来自于:  

https://www.jianshu.com/p/9ad8d3e8d2aa

https://baike.baidu.com/item/extern/4443005?fr=aladdin 

posted @ 2020-03-21 00:30  惊惊  阅读(292)  评论(0编辑  收藏  举报