1程序编写
main.c文件
#include<stdio.h>
#include "add.h"
#include"chu.h"
#include"mul.h"
#include"sub.h"
int main()
{
int n, m;
char c;
printf("input number:");
scanf("%d%c%d", &n, &c, &m);
switch (c)
{
case '+':printf("%d+%d=%d\n", n, m, add(n,m));
break;
case '-':printf("%d-%d=%d\n", n, m, sub(n, m));
break;
case '*':printf("%d*%d=%d\n", n, m, mul(n, m));
break;
case '/':printf("%d/%d=%d\n", n, m, chu(n, m));
break;
}
return 0;
}
add.c文件
int sub(int a, int b)
{
return a - b;
}
add.h文件
int add(int, int);
其余分文件类似。
2创建makefile文件
文件内容
test.exe:main.o add.o sub.o mul.o chu.o
gcc main.o add.o sub.o mul.o chu.o -o test.exe
main.o:main.c
gcc -c main.c -o main.o
add.o:add.c
gcc -c add.c -o add.o
sub.o:sub.c
gcc -c sub.c -o sub.o
mul.o:mul.c
gcc -c mul.c -o mul.o
chu.o:chu.c
gcc -c chu.c -o chu.o
clean:
rm -f *.o test.exe
简化版本
test.exe:main.o add.o sub.o mul.o chu.o
gcc *.o -o $@
$.o:%.c
main.o:main.c
gcc -c $< -o $@
clean:
rm -f *.o test.exe
3运行结果
ls name
查看当前文件夹文件
make
编译文件(这里的错误是开始时在makefile文件中chu.o时多写了s)
makefile文件中添加clean: rm -f *.o test.exe
可删除之前生成的.o
文件,再次执行make
后生成新的.o
文件。
运行程序./test.exe
测试加法。
遇到的问题
共享文件夹无权访问时执行
sudo usermod -aG vboxsf $(whoami)