学习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 这两个关键字的用法和分析来自于: