本帖最后由 jackz007 于 2024-5-30 09:56 编辑
多个源代码文件对应多个 .h 文件,用于声明对应文件中的各个函数,在主程序中,需要首先包含这些 .h 文件,以便在编译的时候,不至于出现函数未定义的错误。#include <stdio.h>
int add(int a , int b)7
{
return a + b ;
}
int sub(int a , int b)
{
return a - b ;
}
int mul(int a , int b)
{
return a * b ;
}
int div(int a , int b)
{
return a / b ;
}
int main(void)
{
int a = 90 , b = 30 ;
printf("%d + %d = %d\n" , a , b , add(a , b)) ;
printf("%d - %d = %d\n" , a , b , sub(a , b)) ;
printf("%d x %d = %d\n" , a , b , mul(a , b)) ;
printf("%d / %d = %d\n" , a , b , div(a , b)) ;
}
现在,按每个源代码文件包含一个函数定义把上述代码划分为 5 个源代码文件:
【add.c】int add(int a , int b)
{
return a + b ;
}
【fadd.h】【sub.c】int sub(int a , int b)
{
return a - b ;
}
【fsub.h】【mul.c】int mul(int a , int b)
{
return a * b ;
}
【fmul.h】【div.c】int div(int a , int b)
{
return a / b ;
}
【fdiv.h】【calc.c】#include <stdio.h>
#include "fadd.h"
#include "fsub.h"
#include "fmul.h"
#include "fdiv.h"
int main(void)
{
int a = 90 , b = 30 ;
printf("%d + %d = %d\n" , a , b , add(a , b)) ;
printf("%d - %d = %d\n" , a , b , sub(a , b)) ;
printf("%d x %d = %d\n" , a , b , mul(a , b)) ;
printf("%d / %d = %d\n" , a , b , div(a , b)) ;
}
【编译】:g++ -o calc calc.c add.c sub.c mul.c div.c
编译好的可执行文件为 “calc.exe” |