main.exe: main.c i586-mingw32msvc-gcc -o main.exe main.c kiir.dll
void ir(void);
#include <stdio.h> #include "kiir.h" void ir() { printf("Helló Világ\n"); }
A dll fordítása (Linux alatt):
sudo apt-get install mingw32 i586-mingw32msvc-gcc -c kiir.c i586-mingw32msvc-gcc -shared -o kiir.dll kiir.o
A DLL használata:
#include <stdio.h> main() { ir(); }
Az alábbiak Windowson MinGW32 fordítóval működnek.
__declspec(dllexport) int __cdecl dupla(int szam) { return 2 * szam; }
sajat.dll: sajat.c gcc -c -o sajat.o sajat.c gcc -o sajat.dll -s -shared sajat.o -Wl,--subsystem,windows
#include <stdlib.h> #include <stdio.h> __declspec(dllimport) int __cdecl dupla(int szam); int main(int argc, char** argv) { printf("%d\n", dupla(6)); return EXIT_SUCCESS; }
main.exe: main.c gcc -c -o main.o main.c gcc -o main.exe -s -L. -lsajat main.o
A -s kapcsoló a szimbólumtábla törlésére ad utasítást. A -L. kapcsolóval megmondjuk, hogy a -l kapcsoló után megadott állományt, az aktuális könyvtárban kell keresni.