今天学了点unix的命令, 前天学了点gdb的调试, 昨天学了点makefile的知识, 贴个makefile的笔记:
/* hello.h */
#ifndef __HELLO_WORLD__
#define __HELLO_WORLD__
void hello();
#endif
/* hello.cpp */
#include <iostream>
#include "hello.h"
void hello()
{
std::cout << "Hello World!" << std::endl;
}/* main.cpp */
#include "hello.h"
int main()
{
hello();
return 0;
}objects=main.o hello.o
hello.exe:$(objects)
g++ -o hello.exe $(objects)
main.o:main.cpp hello.h
g++ -c main.cpp
hello.o:hello.cpp hello.h
g++ -c hello.cpp
rebuild:clean hello.exe
clean:
-rm hello.exe $(objects)
make # 如果hello.h hello.cpp main.cpp比hello.exe更新(或者hello.exe不存在), 则编译出hello.exe
make clean # 删除hello.exe hello.o main.o
make rebuild # 重编译出hello.exe
@cmd # make时不打印这条命令
cmd1 ; cmd2 # 在同一行中写两条命令时, 可用;间隔开

本文介绍了一个简单的Makefile实例,通过创建hello世界程序来演示如何使用Makefile进行项目的编译管理和依赖处理。文中详细展示了Makefile的基本语法及常用指令,包括目标文件、依赖文件和命令规则等。
1175

被折叠的 条评论
为什么被折叠?



