静的 | 動的 | 動的 | |
header | #ifdef __cplusplus extern "C" #endif int st(); |
#ifdef __cplusplus extern "C" #endif int dy(); |
- |
src | #include "st.h" ... st(); |
#include "dy.h" ... dy(); |
#include <dlfcn.h> ... void* h = dlopen( "libdydl.so", RTLD_NOW); int (*dydl)() = dlsym(h, "dydl"); dydl(); dlclose(h); |
gcc main | gcc -o a.out a.c libst.a | gcc -o a.out a.c -L. -ldy | gcc -o a.out a.c |
gcc lib | gcc -c -o st.o st.c ar rcs libst.a st.o |
gcc -shared -fPIC -o dy.so dy.c |
gcc -shared -fPIC -o dydl.so dydl.c |