GCC与MAKEFILE的简单应用
作业一
用gcc编译c语言代码
·基础用法
1.将c语言原代码*.c编译为.o目标文件
gcc -c main.c
此段代码将把main.c编译为main.o的目标文件
2.链接目标文件
gcc -o main main.o
此代码将会生成一个名为main的可执行文件
3.运行可执行文件
./main
·直接编译成可执行文件
gcc main.c -o main.exe
示例:
编写一个主程序文件 main1.c 和一个子程序文件 sub1.c, 要求:子程序sub1.c 包含一个算术运算函数 float x2x(int a,int b),此函数功能为对两个输入整型参数做某个运算,将结果做浮点数返回;主程序main1.c,定义并赋值两整型变量,然后调用函数 x2x,将x2x的返回结果printf出来。1) 请在ubuntu系统用gcc 命令行方式编译主程序main1.c 并运行; 2) 请在windows系统下用你熟悉的编译工具编译主程序main1.c 并运行。
1.用gedit新建main1.c和sub1.c
2.编写c语言代码:
3.使用gcc编译两个代码
4.运行main1.exe
Makefile的使用
1.书写格式:
target...:prerequisites...
[Tab健] commands
注:“commands”之前必须是tab键,不能是回车或者空格
① target: 目标
通常为编译期的文件名, 以指定要建构的对象, 也可以是执行文件, 还可以是标签(操作名称, 伪目标)
可以为单一目标, 也可以为空格分隔的多个目标
每个目标都定义了一组处理规则, 和其相关规则构成规则链
②preprequisites: 先决条件
为生成该目标所需的先决文件或目标(前置条件)
一般为空格分隔的文件名, 指定目标是否重建的判断标准, 即只要有一个先决文件不存在或有过更新, 就重建目标
(若目标先决条件本身需要重建, 则匹配该先决条件的目标, 执行其对应的命令)
③commands:命令
指示如何构建目标, 一般为生成目标文件
每行命令都在单独的进程中执行, 彼此间没有继承关系, 不能简单传递数据
实际运用
通过Makefile完成main1.c与sub1.c的编译
1.创建Makefile文件并编译