游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3216|回复: 7

求助,关于dll调用外部程序中的函数问题

[复制链接]

18

主题

47

帖子

49

积分

注册会员

Rank: 2

积分
49
发表于 2007-12-4 23:27:00 | 显示全部楼层 |阅读模式
//dll中的代码
...
void loop()
{
    while(!exit1)
    {
        fun1();
    }
}
...
//外部应用程序(*.exe)中的代码
...
void fun1()
{
///
...
...
...
}
void main()
{
    loop();
}
...

主要就是想写个dll,然后创建个应用程序,调用dll中的loop(),而loop()中又调用应用程序中的fun1().
我想实现上面的效果,在vc++6.0中能实现吗.  [em24] [em24]

29

主题

405

帖子

405

积分

中级会员

Rank: 3Rank: 3

积分
405
发表于 2007-12-5 00:22:00 | 显示全部楼层

Re:求助,关于dll调用外部程序中的函数问题

of course

18

主题

47

帖子

49

积分

注册会员

Rank: 2

积分
49
 楼主| 发表于 2007-12-5 12:50:00 | 显示全部楼层

Re:求助,关于dll调用外部程序中的函数问题

那怎么实现啊,能给些代码吗?

5

主题

68

帖子

75

积分

注册会员

Rank: 2

积分
75
QQ
发表于 2007-12-5 13:12:00 | 显示全部楼层

Re:求助,关于dll调用外部程序中的函数问题

GetProcAddress()

1

主题

8

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2007-12-5 15:59:00 | 显示全部楼层

Re: 求助,关于dll调用外部程序中的函数问题

把fun1提出来做一个static library, 然后dll和exe都包含它,如果fun1有或用到静态变量或者静态初始化之类的东西,那将fun1写道dll里面,exe用

18

主题

279

帖子

279

积分

中级会员

Rank: 3Rank: 3

积分
279
QQ
发表于 2007-12-5 16:19:00 | 显示全部楼层

Re:求助,关于dll调用外部程序中的函数问题

GetProcAddress()的通常用途与楼主的要求反了吧!而且在较早的系统上也不能正确执行(有栈问题等)。先传个指针就完了吗,费那么大劲干吗!!

9

主题

249

帖子

260

积分

中级会员

Rank: 3Rank: 3

积分
260
发表于 2007-12-5 22:08:00 | 显示全部楼层

Re:求助,关于dll调用外部程序中的函数问题

应用程序中调dll中的函数就不说了,
dll里调应用程序中的函数如下:

在dll里,
指向应用程序中函数的函数指针 = (函数类型)::GetProcAddress(GetModuleHandle(NULL,"函数名");

18

主题

47

帖子

49

积分

注册会员

Rank: 2

积分
49
 楼主| 发表于 2007-12-8 22:39:00 | 显示全部楼层

Re:求助,关于dll调用外部程序中的函数问题

用vc++6.0制作的dll能不能调用vb6写的exe啊?
还有,GetModuleHandle(NULL)通用的吗?还是要用HINSTANCE型的啊?
那个,"函数名"要不要带参数的啊?比如vb6写的是public sub fun1(byval l as long).
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-14 19:57

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表