MOOC清华《面向对象程序设计》第1章:源文件的拆分与多文件的编译运行

建立一个工程,工程包含三个文件:main.cpp, func.h, func.cpp.

main.cpp:

//main.cpp
#include <iostream>
#include <cstdio>  // atoi()
#include "func.h"  // ADD()

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char** argv) {
	if(argc != 3){
		std::cout << "Usage: " << argv[0]
				<< " op1 op2" << std::endl;
		return 1;
	}
	int a, b;
	a = atoi(argv[1]);
	b = atoi(argv[2]);
	std::cout << ADD(a, b) << std::endl;
	return 0;
}

func.h:

//func.h
#ifndef FUNC_H
#define FUNC_H
int ADD(int a, int b);
#endif

//实验证明:预编译操作符后面跟FUNC_H或func.h都是可以编译通过的 
/* 
#ifndef func.h
#define func.h
int ADD(int a, int b);
#endif
*/

func.cpp:

//func.cpp
#include "func.h"
int ADD(int a, int b)
{
	return a + b;
}

Dev Cpp自动生成的Makefile文件内容为:

# Project: Project001
# Makefile created by Dev-C++ 5.11

CPP      = g++.exe
CC       = gcc.exe
WINDRES  = windres.exe
OBJ      = main.o func.o
LINKOBJ  = main.o func.o
LIBS     = -L"C:/Program Files/Dev-Cpp/MinGW64/lib32" -L"C:/Program Files/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib32" -static-libgcc -m32
INCS     = -I"C:/Program Files/Dev-Cpp/MinGW64/include" -I"C:/Program Files/Dev-Cpp/MinGW64/x86_64-w64-mingw32/include" -I"C:/Program Files/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include"
CXXINCS  = -I"C:/Program Files/Dev-Cpp/MinGW64/include" -I"C:/Program Files/Dev-Cpp/MinGW64/x86_64-w64-mingw32/include" -I"C:/Program Files/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include" -I"C:/Program Files/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include/c++"
BIN      = Project001.exe
CXXFLAGS = $(CXXINCS) -m32 -std=c++11
CFLAGS   = $(INCS) -m32 -std=c++11
RM       = rm.exe -f

.PHONY: all all-before all-after clean clean-custom

all: all-before $(BIN) all-after

clean: clean-custom
	${RM} $(OBJ) $(BIN)

$(BIN): $(OBJ)
	$(CPP) $(LINKOBJ) -o $(BIN) $(LIBS)

main.o: main.cpp
	$(CPP) -c main.cpp -o main.o $(CXXFLAGS)

func.o: func.cpp
	$(CPP) -c func.cpp -o func.o $(CXXFLAGS)

编译运行时需要在“参数”窗口输入命令行参数。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值