【发布时间】:2017-04-22 00:19:00
【问题描述】:
我有两个用 C 代码编写的程序,它们都有主函数(没有主函数我无法运行程序)现在我想创建一个主文件,比如 main.c调用这两个函数。我怎样才能做到这一点 ?请建议..我对c编程比较陌生。
Rk4solution.c
#define beginrk4 main
int func (double t, const double y[], double f[], void *params)
{}
int beginrk4 () /*** main function ***/
Rk8pdsolution.c
#define beginrk8pd main
int func (double t, const double y[], double f[], void *params)
{}
int beginrk8pd () /*** main function ****/
如何创建一个主函数来调用这两个?
【问题讨论】:
-
顺序是什么?您希望如何调用这些函数?
-
2. SO 不能代替倾向于编程
-
@SouravGhosh : 序列并不重要。我创建这些是为了使用 GSL lib 求解二阶微分方程。
-
您似乎在每个源文件中有一个名为
func()的全局函数,还有一对函数名称beginrk4和beginrk8pd映射到main()。这是两个冲突——两个func()和两个main()。您需要为每个func()赋予其自己的名称,并在各个文件中禁止main()函数。您最终会得到两个源文件,一个用于rk4,一个用于rk8pd,以及两个(或可能一个)用于声明函数的标头。然后在第三个源文件中编写一个main()函数,该函数调用其他函数,包括用于声明函数的标头。 -
是的;如果您有三个源文件:
main.c、rk4.c和rk8pd.c,那么您有多种选择,但gcc -o rk main.c rk4.c rk8pd.c -lm可能会为您生成一个可运行的程序,只要main()和func()不重复.并在源文件和/或目标文件之后列出库。总是!