- mylib.h
#pragma once
#ifdef MYLIB_EXPORTS
#define MYLIB_API __declspec(dllexport)
#else
#define MYLIB_API __declspec(dllimport)
#endif
MYLIB_API void mylib_init(int a);
- mylib.c
#include <stdio.h>
#include "mylib.h"
void mylib_init(int a) {
printf("mylib is initialzied with %d\n", a);
}
- mylib.def
;
; Definition file of mylib.dll
;
LIBRARY "mylib.dll"
EXPORTS
mylib_init
- myapp.c
#include <stdio.h>
#include "mylib.h"
int main(int argc, char *argv[]) {
printf("Hello World!\n");
mylib_init(100);
}
- makefile
all: mylib.dll myapp.exe
myapp.exe: myapp.c mylib.lib
cl /nologo $**
mylib.dll: mylib.obj
# link /nologo /dll $** /def:mylib.def /out:$@
link /nologo /dll mylib.obj /out:mylib.dll
mylib.obj: mylib.c
cl /nologo /c /DMYLIB_EXPORTS mylib.c /Fomylib.obj
#.c.obj:
# cl /nologo /c $*.c
clean:
if exist *.obj del *.obj
if exist *.dll del *.dll
if exist *.exe del *.exe
if exist *.exp del *.exp
if exist *.lib del *.lib
注意使用nmake运行。
网友评论