【发布时间】:2020-09-04 03:50:12
【问题描述】:
我有 program_1.c
void foo(void);
int main(void)
{
foo();
}
program1_foo.c
void foo(void)
{
do_program1_things();
}
这通常被编译成它自己的程序。
现在我有第二个程序 程序_2.c
void foo(void)
int main(void)
{
foo();
program1_main();
}
program2_foo.c
void foo(void)
{
do_program2_things();
}
这显然是一个最小化的问题,但我想将 2 个单独的程序编译成一个程序,并调用第一个程序的主程序,而不会让程序 1 的函数和定义泄漏到程序 2 中。什么是最好的实现这一点的方法?
编辑:裸机嵌入式c,因此可以通过设置堆栈指针在程序之间跳转,但如果可能的话,我想避免这种情况。
构建一个静态库但只公开 prog1_main() 将是一个理想的解决方案,但似乎这对于 c 是不可能的。
【问题讨论】: