Tartalomjegyzék

< C

MingW DLL

DLL készítése Linux alatt

Makefile
main.exe: main.c
        i586-mingw32msvc-gcc -o main.exe main.c kiir.dll
kiir.h
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:

main.c
#include <stdio.h>
main()
{
    ir();
}

Még egyszer

Az alábbiak Windowson MinGW32 fordítóval működnek.

A DLL létrehozása

sajat.c
__declspec(dllexport) int __cdecl dupla(int szam)
{
  return 2 * szam;
}
Makefile
sajat.dll: sajat.c
	gcc -c -o sajat.o sajat.c
	gcc -o sajat.dll -s -shared sajat.o -Wl,--subsystem,windows

A DLL felhasználása

main.c
#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;
}
Makefile
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.

Linkek