大神,关于.h中定义函数,多种实现有关问题

求助大神,关于.h中定义函数,多种实现问题
各大神请看:
//a.h定义一函数
int func(int)

//b.c实现
#include "a.h"
int func(int a)
{
  return a+1;
}


//c.c实现
#include "a.h"
int func(int a)
{
  return a+2;
}




//main.c
#include "a.h"
int main()
{
  func(5);//调用func函数
}

此时编译通过,运行链接不通过。请问有没有办法指定main调用的来自b.c(或者c.c)func()函数??????????

------解决方案--------------------
探讨

引用:

引用:

引用:

同一个工程下,这样不行的,因为你的函数前面没有加static,那么他们的作用范围就是整个工程,所以,编译器会认为,你在两处定义了同样名字的函数func()。

C++中名字相同的函数,入参列表不同,是允许的,叫函数重载——不过入参列表也一样还是不行
至于C,函数名相同的两个全局函数,肯定不行
……

------解决方案--------------------
不要然lz吧func函数放到两个不同的dll中吧,C中动态载入不同的dll