g++编译链接多个文件

December 09, 2023
测试
测试
测试
测试
2 分钟阅读

代码示例

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

继续阅读

更多来自我们博客的帖子

如何安装 BuddyPress
由 测试 December 17, 2023
经过差不多一年的开发,BuddyPress 这个基于 WordPress Mu 的 SNS 插件正式版终于发布了。BuddyPress...
阅读更多
Filter如何工作
由 测试 December 17, 2023
在 web.xml...
阅读更多
如何理解CGAffineTransform
由 测试 December 17, 2023
CGAffineTransform A structure for holding an affine transformation matrix. ...
阅读更多