diff --git a/build.sh b/build.sh index 9bbab7e..9e167c7 100755 --- a/build.sh +++ b/build.sh @@ -2,4 +2,4 @@ CFLAGS="-std=c11 -pedantic -Wall -Wextra" mkdir -p build clang $CFLAGS -fPIC -shared mod.c -o build/libmod.so -clang $CFLAGS -Lbuild -lmod main.c -o build/demo +clang $CFLAGS main.c -o build/demo diff --git a/main.c b/main.c index 1b6a749..b33f8c9 100644 --- a/main.c +++ b/main.c @@ -5,13 +5,16 @@ #define _POSIX_C_SOURCE 199309L -#include "mod.h" - +#include #include #include +typedef const char *(*getmsg_t)(void); + int main(void) { + void *mod = dlopen("libmod.so", RTLD_NOW); + const getmsg_t getmsg = (getmsg_t)dlsym(mod, "getmsg"); const struct timespec pause = { .tv_nsec = 16666667 }; while (1) { printf("\33[2K\r%s", getmsg()); diff --git a/mod.c b/mod.c index 70d9285..b772998 100644 --- a/mod.c +++ b/mod.c @@ -3,8 +3,6 @@ * SPDX-License-Identifier: AGPL-3.0-only */ -#include "mod.h" - const char *getmsg(void) { return "hi";