代码示例
main.cpp
#include "test1.h"
int main() {
test1();
return 0;
}
test1.h
#ifndef __TEST1_H
#define __TEST1_H
const int kVar = 1; // 测试不使用extern
void test1();
#endif
test1.cpp
#include <iostream>
#include "test1.h"
using namespace std;
void test1() {
cout << "in test1: " << kVar << endl;
}
编译
g++ -c main.cpp test1.cpp
// -c Compile and assemble, but do not link.
// g++ -c 将为每个.cpp文件生成对应的目标文件,如下所示的main.o, test1.o
// $ ls
// main.cpp main.o test1.cpp test1.h test1.o
链接
g++ -o main main.o test1.o
// -o <file> Place the output into <file>.
// g++ -o 对多个.o文件进行链接,生成.exe文件
// $ ls
// main.cpp main.exe main.o test1.cpp test1.h test1.o
执行
// $ ./main