首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 驱动开发 >

Linux嵌入式程序会生成一个不需要带头文件,只需交付so文件的动态链接库吗

2012-06-21 
Linux嵌入式程序能生成一个不需要带头文件,只需交付so文件的动态链接库吗?嵌入式程序调用这个动态库就像Wi

Linux嵌入式程序能生成一个不需要带头文件,只需交付so文件的动态链接库吗?

嵌入式程序调用这个动态库就像Windows下LoadLibrary(“。。。dll”)一样,而不用带它的头文件。
这个动态链接库是做一些基本的运算,不包含任何设备相关的东西

[解决办法]
可以。
#include <stdio.h>
#ifdef __cplusplus
extern "C"
{
#endif
  
void foo ( void )
{
printf("test");
}
  
#ifdef __cplusplus
}
#endif

#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include <dlfcn.h>
typedef void (*foo)(void);

int main(int argc, char * argv[]) 
{
void *handle;
char* pszerror;
handle = dlopen("../NoHeaderSO/Debug/libNoHeaderSO.so", RTLD_LAZY);
pszerror = dlerror();
if (0 != pszerror) 
{
printf("%s", pszerror);
return 1;
}
foo func = (foo) dlsym(handle, "foo");
pszerror = dlerror();
if (0 != pszerror) 
{
printf("%s", pszerror);
return 1;
}
func();
dlclose(handle);
return (EXIT_SUCCESS);
}

热点排行