不同版本Vxworks上,利用配置文件动态调用不同函数

不同版本Vxworks下,利用配置文件动态调用不同函数
        我开发的一应用程序要在两个不同的vxworks版本下都能运行。

        但是此应用程序在这两个Vxworks下要调用不同的系统函数。

        如何通过应用程序加载配置文件中的选项,让应用程序调用相应系统函数。

        例如

         Vxorks1中有func1(),无func2()
         Vxworks2中有func2(),无func1()

         如何通过读取config.ini中某一个字段,实现Vxworks1中调用的是func1(),Vxworks2中调用的是func2()

         哪位达人指点一下,不胜感激。
------解决方案--------------------
引用:
        我开发的一应用程序要在两个不同的vxworks版本下都能运行。

        但是此应用程序在这两个Vxworks下要调用不同的系统函数。

        如何通过应用程序加载配置文件中的选项,让应用程序调用相应系统函数。

        例如

         Vxorks1中有func1(),无func2()
         Vxworks2中有f……

可以通过配置文件 设置具体调用的函数

或者if
else 选择平台
------解决方案--------------------
试一下弱引用技术,不需要配置文件,直接在代码中搞定。大意如下:

/*弱引用链接时即使找不到也不会报错*/
func1() __attribute((weak));
func2() __attribute((weak));

funcxxx()
{
    if(func1) /*有func1*/
    {
       func1();
    }
    else if(func2) /*有func2*/
    {
       func2();
    }
    ......

------解决方案--------------------
由于需要在不同的平台下运行,应该也需要进行不同的编译,因此可以使用条件编译来实现这个目的。

#if 平台1
    func1();
#else  /* 平台2 */
    func2();
#endif