zoukankan      html  css  js  c++  java
  • VC6 DLL exports

    //filename : Dll1.h
    #ifndef _DLL1_H_ 
    #define  _DLL1_H_
    
    
    #ifdef DLL1_API
    #else
    #define DLL1_API extern "C" _declspec(dllimport)
    #endif // DLL1_API
    
    DLL1_API int _stdcall add(int a,int b);
    DLL1_API int _stdcall substract(int a,int b);
    
    
    #endif
    

      

    //filename:Dll1.cpp
    #define DLL1_API extern "C" _declspec(dllexport)
    #include "Dll1.h"
    
    int _stdcall add(int a,int b)
    {
    	return a+b;
    }
    
    int _stdcall substract(int a,int b)
    {
    	return a-b;
    }
    

      

    //MyPoint.h
    
    
    // MyPoint.h: interface for the MyPoint class.
    //
    //////////////////////////////////////////////////////////////////////
    
    
    #include <windows.h>
    #include <stdio.h>
    
    #if !defined(AFX_MYPOINT_H__0FB85FE1_A0BB_4FF3_B780_79E133776F44__INCLUDED_)
    #define AFX_MYPOINT_H__0FB85FE1_A0BB_4FF3_B780_79E133776F44__INCLUDED_
    
    #if _MSC_VER > 1000
    #pragma once
    #endif // _MSC_VER > 1000
    
    #ifdef DLL2_API
    #else
    #define DLL2_API _declspec(dllimport)
    #endif // DLL2_API
    
    class DLL2_API MyPoint  
    {
    public:
    	void output();	
    	MyPoint();
    	virtual ~MyPoint();
    	
    public:	
    	int y;
    	int x;
    };
    
    #endif // !defined(AFX_MYPOINT_H__0FB85FE1_A0BB_4FF3_B780_79E133776F44__INCLUDED_)
    

      

    // MyPoint.cpp: implementation of the MyPoint class.
    //
    //////////////////////////////////////////////////////////////////////
    
    #define DLL2_API _declspec(dllexport)
    #include "MyPoint.h"
    
    //////////////////////////////////////////////////////////////////////
    // Construction/Destruction
    //////////////////////////////////////////////////////////////////////
    
    MyPoint::MyPoint()
    {
    	x=0;
    	y=0;
    }
    
    MyPoint::~MyPoint()
    { 
    
    }
    
    void MyPoint::output()
    {
    	HWND hWnd = GetForegroundWindow();
    	HDC hdc = GetDC(hWnd);
    	char buf[40];
    	memset(buf,0,40);
    	sprintf(buf,"x=%d,y=%d",x,y);
    	TextOut(hdc,0,0,buf,strlen(buf));
    	ReleaseDC(hWnd,hdc);
    }
    

      

     Dll1.def

    LIBRARY Dll1
    
    EXPORTS
    
    add
    substract
    

      

    void CDllTestDlg::OnBtnLoadLibrary() 
    {
    	HMODULE hModule = LoadLibrary("Dll1.dll");
    	if(!hModule)
    	{
    		MessageBox("未能加载DLL");
    		return;
    	}
    	typedef  int  (_stdcall *ADDPROC) (int,int);
    	ADDPROC add=(ADDPROC) GetProcAddress(hModule,"substract");
    	if(!add){
    		MessageBox("未找到指定函数");
    		return;
    	}
    	int result=add(1,22);
    	CString str;
    	str.Format("%d",result);
    	MessageBox(str);
    }
    

      

  • 相关阅读:
    ASP设计常见问题及解答精要
    网页脚本加密解密
    有关表格边框的css样式表语法说明
    彻底搞定 Grub
    三千年来振奋过中国人的29句口号(是中国人就看看!)
    在Unix/Linux上令(java)JVM支持中文输出
    windows xp 下eclipse3.0.2+eclipseme+j2me wireless tooltik开发环境的配置
    在网页上显示公式
    Oracle认证考试详细介绍
    算法和数据结构排序快速排序
  • 原文地址:https://www.cnblogs.com/wucg/p/2425569.html
Copyright © 2011-2022 走看看