//lib.c:

#include <stdio.h>

const int var_a = 5;
const int var_b = 7;

void lib_call(void) {
    printf("a=%i, b=%i\n", var_a, var_b);
}

//ll

//prog.c:

#include <stdio.h>
#include <stdlib.h>

const int var_a = 50;
const int var_b = 70;

extern void lib_call(void);

void prog_call(void) {
    printf("a=%i, b=%i\n", var_a, var_b);
}

int main (void) {
    prog_call();
    lib_call();
    return EXIT_SUCCESS;
}

//ll

$ cc -Wall -Wextra -g -O2 -shared -o liblib.so lib.c
$ cc -Wall -Wextra -g -O2 -o prog prog.c -L. -llib
$ LD_LIBRARY_PATH=`pwd` ./prog
a=50, b=70
a=5, b=7