//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