Excuse the ads! We need some help to keep our site up.

List


Static Library

설명

Example

Source code(Shared library)

#include <stdio.h>
 
void lazenca(int a){
    printf("lazenca.0x%d\n",a);
}

Source code(executable)

#include <stdio.h>

void main(){
    lazenca(10,10);
}

Build

lazenca0x0@ubuntu:~/Documents/Definition/protection/PIC$ gcc -c lazenca.c
lazenca0x0@ubuntu:~/Documents/Definition/protection/PIC$ ar vr libstatic.a lazenca.o 
ar: creating libstatic.a
a - lazenca.o
lazenca0x0@ubuntu:~/Documents/Definition/protection/PIC$ gcc -o testStatic test.c libstatic.a 
test.c: In function 'main':
test.c:4:5: warning: implicit declaration of function 'lazenca' [-Wimplicit-function-declaration]
     lazenca(10,10);
     ^
lazenca0x0@ubuntu:~/Documents/Definition/protection/PIC$ 

Run

lazenca0x0@ubuntu:~/Documents/Definition/protection/PIC$ ./testStatic 
Lazenca.0x10
lazenca0x0@ubuntu:~/Documents/Definition/protection/PIC$

Check for shared library in the executable file

lazenca0x0@ubuntu:~/Documents/Definition/protection/PIC$ ldd ./testStatic 
	linux-vdso.so.1 =>  (0x00007ffdad1f7000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fc279822000)
	/lib64/ld-linux-x86-64.so.2 (0x00005626edadf000)
lazenca0x0@ubuntu:~/Documents/Definition/protection/PIC$ 

Related information