c++中 为什么 函数头写一个 然后用一个cpp去写函数主体 而且在另一个cpp中只要调用.h就可以了

他是用什么 东西把cpp 跟.h联系起来的

为什么 我在 源里面只需要 库就可以
我的库只写了函数头 函数体在cpp里面
他是怎么把三个cpp搞在一起的
源cpp里为什么可以用 X_add.cpp里写的函数头

这是跟编译相关的
比如 java c# 就没有头文件 为什么java c#就没有头文件而c++有呢
因为java c#编译成字节码 那么什么是字节码呢 简单的比喻就是把代码用zip压缩了一下然后加密 所以从java c#程序包里面拥有所有代码信息 甚至可以轻松反译出源代码
而c++就和c是一样的 翻译成机器码 翻译的成品里面只剩下了函数地址之类的东西 那么怎么调用编译出来的东东呢 这时候头文件就有用了

比如 一个cpp文件
int foo(int a){return a;}
在另一个文件里引用就要
extern int foo(int);
而头文件里面就存着这些声明追问

那我把cpp里的东西直接写到.h里有什么不同没

追答

如果你写过makefile 就知道了 编译器编译的是 cpp 而h文件是作为txt复制黏贴到cpp文件里的

追问

那vs 是怎么把好几个cpp 集合成一个exe的
我一个cpp是给.h写的一个直接调用这个 .h
那是先编译给.h写的cpp,之后在编译main
还是一块编译 在连接?

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答