调用函数(二)新建dll以及静态调用dll

在写这篇文章之前,xxx已经写过了几篇关于改调用函数主题的文章,想要了解的朋友可以去翻一下之前的文章

    注意:可以先看简单的新建dll和调用dll:http://blog.csdn.net/chenqiai0/article/details/8938150

    第一步,首先编写一个add.dll,很简单,这个dll只输出一个API函数,就是add啦。
新建一个win32 dll工程,

    
add.cpp的内容:

    #i nclude "stdafx.h"

    int WINAPI add(int a,int b){ file://千万别忘记声明WINAPI 否则调用的时候回产生声明错误哦!
 return a+b;
}

    

    
然后别忘了在add.def里头输出函数:

    LIBRARY Add
DESCRIPTION "ADD LA"
EXPORTS
 add @1;

    编译,ok,我们获得了add.dll

    注意:如果弹出对话框说:没法启动程序。。。          (其实这个我们可以忽略,因为dll本来就不会调用)

    ////////////////////
第二步,主程序
新建一个基于对话框的工程One
在 void ConeDlg::OnBnClickedOk()里头调用add函数:

    每日一道理
因为自信,在呀呀学语时,我靠着纤嫩的双腿,迈出人生的第一步;因为自信,我一次次将第一名的奖状高高举起;因为自信,我毫不吝惜地剪掉飘逸的长发,在运动场上展现风采……感谢自信,它给了我一双翅膀,让我在电闪雷鸣中去飞翔,在风雨中去搏击人生!

    ConeDlg.cpp里停止调用:

    我们用静态是直接如下就可以了(如果动态的话就先要获得函数指针)

    void ConeDlg::OnBnClickedOk()

    {

    // TODO: 在ú此?添?加ó控?件t通?知a处鋦理え?程ì序ò代洙?码?

    CDialogEx::OnOK();

    int a=1; 

    int b=2; 

    int c=::add(a,b); 

    CString temp; 

    temp.Format("%d+%d=%d",a,b,c); AfxMessageBox(temp);

    }

    当然首先需要在ConeDlg.cpp头部添加如下代码:

    #pragma comment(lib,"add.lib")

    extern int WINAPI add(int a,int b);//函数声明

    OK,编译运行,准确的话我们点击肯定按钮就会表现1+2=3

    调用和函数

    

    

    

    

文章结束给大家分享下程序员的一些笑话语录: 自行车
一个程序员骑着一个很漂亮的自行车到了公司,另一个程序员看到了他,问 到,“你是从哪搞到的这么漂亮的车的?”
骑车的那个程序员说, “我刚从那边过来, 有一个漂亮的姑娘骑着这个车过来, 并停在我跟前,把衣服全脱了,然后对我说,‘你想要什么都可以’”。
另一个程序员马上说到, “你绝对做了一个正确的选择, 因为那姑娘的衣服你 并不一定穿得了”。

原文地址:https://www.cnblogs.com/jiangu66/p/3085812.html