Create and Use DLL

 

- Create

 

1
2
3
4
5
6
7
8
9
//mydll.h
 
#ifdef BUILD_DLL
    #define DLLEXPORT __declspec(dllexport)
#else
    #define DLLEXPORT __declspec(dllimport)
#endif
 
extern "C" int DLLEXPORT print();
cs

 

1
2
3
4
5
6
7
8
9
//mydll.cpp
 
#include<iostream>
#include "mydll.h"
 
 
extern "C" int DLLEXPORT print(){
    std::cout<<"This is My Dll"<<std::endl;
}
cs

 

1
2
g++ --DBUILD_DLL mydll.cpp
g++ -shared -o mydll.dll mydll.o
cs

 

- Use

 

1
2
3
4
5
6
7
8
9
10
11
12
//main.cpp
 
#include<windows.h>
#include<iostream>
 
int main(){
    typedef int(*func)();
    HMODULE hmodule=LoadLibrary("mydll.dll");
    func print=(func)GetProcAddress(hmodule,"print");
    print();
    return 0;
}
cs

 

1
g++ -o main.exe main.cpp
cs

 

Windows Programming

 

1
g++ -o WinMain.exe WinMain.cpp -mwindows
cs


Using wWinMain


1
g++ -o WinMain.exe WinMain.cpp -municode
cs

 

Using library (ex. ws2_32.lib)

 

1
g++ -o server.exe server.cpp -lws2_32
cs

 

Compile Multiple Source files

 

1
g++ -o main.exe main.cpp temp.cpp
cs
 

 

'C&C++' 카테고리의 다른 글

WINAPI GetClipboardData()  (0) 2018.05.17
Parameter Split in WinMain (Argc, Argv)  (0) 2018.05.10
C++ WinSock Sample Code  (0) 2018.04.09
swap using exclusive-or  (0) 2017.02.15
2048 게임만들기  (0) 2017.02.08

+ Recent posts