路漫漫兮吾要求索

xujunfeng008 2002-05-12 10:32:14
问题一
在VC中子定义了两个宏:ERROR与NOERROR,但这两个宏的值都是1,不知这是为什么/
问题二
在资源编辑器上时,如何删除控件栏上的一个控件。
问题三
在编写dll文件时,在*.def文件中的EXPORT语句下写不写所要导出函数名到底有何不同。如写,即可让VC自行在程序运行前导入,又可自己写代码动态导入(用LoadLibrary和GetProAddress两个函数写)。但如不写,则只能让VC自己导入(即在Project->Set下设置)才能成功。为什么?
...全文
48 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xujunfeng008 2002-05-14
  • 打赏
  • 举报
回复
谢谢大家的解说!不过就我刚学的一点知识看来:那两种情况是:隐式连接和显式连接。对隐式连接也就是要用到.lib文件,在程序开始时加载进去,并且在调用函授数时显然用到了.lib文件里的信息。对于显式连接就好说了(在程序开始时显然没加载有关的信息),也就是用那两个函数。
我现在想知道的是两种情况下,.dll文件内部是不是有什么不同。如有,那怎样自己写代码调用里面的函数。另外谁知道.lib文件和.dll文件的内部结构。
希望大家继续讨论,还有前面的两个问题。谢谢!
ckacka 2002-05-12
  • 打赏
  • 举报
回复
虽然dll给外部调用,而且是所谓的“动态”调用,不过在你的主程序运行之前,系统就已经把要调用的函数列表,及所在的文件传递给你的主程序了,或者是说你的主程序在运行之前就已经获得了“如何调用”的信息。

这样说不知道准确不???
xc_fscdlon 2002-05-12
  • 打赏
  • 举报
回复
问题三我搞的也不是很清楚,我把我的理解说出来,请多指点。
dll是提供给外部调用者使用的,也就是说至少需要告诉调用者怎么调用dll内部的函数和功能。*.def或_dllexcpt(dllexport)(好象这个语句写错了)就是用来说明dll中那些函数是可供调用的。其实无论你是动态调用还隐式调用,都需要说明函数的来源。因为在C++要求必须先申明后使用。
之于export语句下面不写函数名会产生什么结果,我到现在也没有搞明白。反正我遇到的情况是编译后没有生成相应的.lib文件。谁知道请告诉我,谢谢
初级菜鸟的理解,请各位高手多指教
ckacka 2002-05-12
  • 打赏
  • 举报
回复
我也想知道答案,up|!!!
weblove 2002-05-12
  • 打赏
  • 举报
回复
我只能回答一个,你可以在工具菜单上选取定制,然后选则control,选重新安排,ok!!
xc_fscdlon 2002-05-12
  • 打赏
  • 举报
回复
楼上的解释比较合理

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧