您的位置:首页 > 编程语言 > C语言/C++

makefile---单个源文件,单个可执行文件(C/C++)

2015-09-18 08:27 543 查看
作用:这是一个makefile文件,作用就是编译一个源文件,生成一个可执行程序。
环境:Vmware Workstation;CentOS-6.4-x86_64
下面代码直接保存成makefile:
.SUFFIXES:.c .o

CC=gcc

SRCS=main.c
OBJS=$(SRCS:.c=.o)
EXEC=main

start: $(OBJS)
$(CC) -o $(EXEC) $(OBJS)
@echo "-----------------------------OK-----------------------"

.c.o:
$(CC) -Wall -o $@ -c $<

clean:
rm -rf $(EXEC) $(OBJS)

效果:将main.c文件编译链接生成一个可执行文件main。

使用:
1、使用vi创建文件main.c,vi main.c,代码如下:
#include <stdio.h>

int main(int argc, char *args[])
{
printf("hello world\n");
return 0;
}

(注:main.c和makefile在相同的目录下)
2、使用make命令,通过makefile文件编译链接并生成可执行文件main:
[negivup@negivup mycode]$ <span style="background-color: rgb(255, 255, 153);">make</span>
gcc -Wall -g -o main.o -c main.c
gcc -o main main.o
-----------------------------OK-----------------------
3、执行可执行文件main:

[negivup@negivup mycode]$ <span style="background-color: rgb(255, 255, 153);">./main</span>
hello world

经过上面的三步,就可以使用一个makefile文件编译生成一个可执行文件了。

说明:将makefile中的.c改成.cpp,gcc改成g++,就可以编译C++程序了,步骤和上面的相同。
C++程序如下:
#include <iostream>

int main(int argc, char *args[])
{
std::cout << "hello world" << std::endl;
return 0;
}


PS:根据传智播客视频学习整理得出。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: