点击查看详细介绍

动态连接库与UG二次开发

深夜摔键盘 21年前 3615 8

购买与咨询 NX 二次开发视频教程,请联系微信号:13890821008  QQ号:85585969  


一开始,接课题啥都不懂,跑到这里问了一些问题,许多网友很热心,名字记不住,但心里挺感激他们。现在混到这份上了,从一穷二白,到多少懂了些东西,所以想搞一点东西出来回报社会。呵呵。。。。
UG自身的功能,我不熟悉,但首先要肯定,它们不难。就是个门槛的问题。UG二次开发的门槛算是比较高的。WIN32 API,MFC,DLL,C/C ,要想做高层次的开发,这些多少得懂一些。否则,就老老实实的呆在UG的环境里做个良民。而第一道门槛,就是动态连接库的问题。开发出来的东西,就是以DLL装到UG中的,理解DLL,很有必要。如果觉得没必要,看到这儿,兄弟您就可以打住了。

0

最新回复 (8)
  • 深夜摔键盘 21年前
    1

    2.动态连接库:
    动态连接库(DLL)应该是随着windows95的出现而出现的。它的出现,恰恰弥补了静态连接库的缺点。
    动态的连接库在程序设计过程中所起的作用与静态连接库的作用相同,都是提供一大堆函数供不爱写重复代码的程序员们使用,另外操作系统也是以DLL的形式提供接口函数的。
    UG OPEN/API是什么?就是一群DLL提供的一大堆函数。
    动态连接库与静态连接库,是以不同的手段来达到相同的目的。
    静态连接库是将库中的代码复制到它的可执行文件中,首先它要占用多余的磁盘空间。而动态连接库只是在可执行文件运行时,才将库的代码调入内存。如果许多程序共用一个同一个动态连接库时,WINDOWS操作系统会在内存中仅保留一份库代码,通过分页机制,将这份代码映射到不同的进程空间中。这样,无论多少程序使用这样的一个库,库代码实际占用的内存永远只有一份。

  • 深夜摔键盘 21年前
    2

    WINDOWS的三种DLL结构
    在VC的创建工程向导中,我们可有如下3种生成DLL的方式。
    一:常规的win32 动态连接库:Win32 Dynamic-Link Library
    这是常规的dll,不支持MFC。支持C接口的win32 Api。
    空说无益,还是以具体的例子来说要好一些。
    我们采用Win32 Dynamic-Link Library方式创建一个名为dllDemo1的工程。在创建工程的step 1中,我们选择“A dll exports some symbols

  • tari 21年前
    3

    楼主写的好,望斑竹能加分以鼓励!

  • zzz 21年前
    4

    好久没有人写这么长的东西拉,呵呵。

  • 深夜摔键盘 21年前
    5

    下面来分析一下Win32 Dynamic-Link Library的程序结构
    (1)连接库的入口
    当动态连接库首次启动和结束时,操作系统会自动调用连接库的DllMain函数,DllMain函数就是DLL的入口,它对于访问dll的程序是不可见的。这个的名字也可以不叫DllMain,而叫其他的名字,但是它的格式是不变的,必须是下面的格式:
    BOOL APIENTRY DllMain( HANDLE hModule,DWORD ul_reason_for_call,LPVOID lpReserved)

  • wgwang 21年前
    6

    顶啊顶^_^

  • suye007 21年前
    7

    好东东!键盘兄==好人啊!呵呵

  • zhxfan 21年前
    8

    遇到你是上帝对我的照顾。感激的话不再多说。今生今世你是我的好兄弟!!!!

请登录后发表新帖