zoukankan      html  css  js  c++  java
  • 调用函数(二)新建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

        调用和函数

        

        

        

        

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

  • 相关阅读:
    JavaScript 基本类型值-Undefined、Null、Boolean
    Git学习之路(6)- 分支操作
    Git学习之路(5)- 同步到远程仓库及多人协作问题
    setTimeout小总结
    Git学习之路(4)- 撤销操作、删除文件和恢复文件
    Git学习之路(3)-提交文件到三个区
    Git学习之路(2)-安装GIt和创建版本库
    Git学习之路(1)-Git简介
    两种常见挂载Jenkins slave节点的方法
    rabbitmq集群节点操作
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3085812.html
Copyright © 2011-2022 走看看