怎么样把两个程序合为一个?

怎么样把两个程序合为一个?,第1张

问的问题好大,要合并两份独立的c语言代码,

第一,要把两份代码里的main入口合并为一个,

如何合并要看你期望合并后的main函数实现什么样的功能,

例如,A程序是实现计算一个数组里的所有数相加后的和的值的功能;

B程序是实现输出任意数字到一个txt文件的功能。那么合并A和B程序后,

一般就是将B程序里的main函数里的实现内容追加到A程序里的main函数的实现内容之后,

就算是合并后的main函数的内容了。

希望你具体问题具体分析。

第二,合并过程中要确认两份代码有没有标识符命名上的重复的问题。

例如两份代码里的公开函数名有没有相同的,如果相同的话肯定要改成不同的。

第三,在确认了前两点后,接着确认编译链接不出错。

第四,链接成功后,确认运行动作是否符合期望。

当然,实际项目中合并两份代码,往往不是上面这样做了就可以了。还涉及到两个程序中的功能的合并之类的比较复杂的工作。实践出真知,希望你多做项目来收获心得。

1, 使用 if-else 语句 或者 switch 语句

#include <stdio.h>

void func1(void)

{

printf(__func__)

}

void func2(void)

{

printf(__func__)

}

int main(void)

{

int choice

printf("select one func: 1->func1, 2->func2:")

scanf("%d", &choice)

if (choice == 1)

func1()

else if (choice == 2)

func2()

else

printf("err")

printf("\n")

return 0

}

2, 使用函数指针 的数组:

#include <stdio.h>

void func1(void)

{

printf(__func__)

}

void func2(void)

{

printf(__func__)

}

int main(void)

{

int choice

void (*p[2])(void) = {func1, func2} /* 这个比较难懂,其实就是定义了一个数组指针的 数组*/

printf("select one func: 1->func1, 2->func2:")

scanf("%d", &choice)

p[choice - 1]()

printf("\n")

return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11757483.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存