如何将多页面c文件合并到外部函数接口

时间:2016-08-03 11:04:02

标签: c java-native-interface shared-libraries ffi

我一直在关注如何创建共享库的这些说明(http://jonisalonen.com/2012/calling-c-from-java-is-easy/),但这些说明仅说明了如何使用一个文件。当我使用这个文件,我进入共享库时,.so文件无法在同一个地方调用其他.c文件。我如何编译所有的c文件,以便我可以创建一个可以通过java访问的合并共享库?

1 个答案:

答案 0 :(得分:1)

1)使用-fPIC创建目标文件:

gcc -fPIC -c file1.c

这会创建file1.o。 (file2.cfile3.c等相同)。

2)将其链接到共享库中。

gcc -shared -o library.so file1.o file2.o file3.o

相应地调整其他编译器标志,包括你正在使用的其他东西的路径等。