在vs2008下,新建了vc++控制台应用程序,调用dll里面的函数。但是当运行的时候发现,窗口显示不出来。?

extern"C"__declspec(dllimport)voidput1();int_tmain(intargc,_TCHAR*argv[]){put1();retu... extern "C" __declspec(dllimport) void put1();
int _tmain(int argc, _TCHAR* argv[])
{
put1();
return 0;
}
这是代码,dll和lib已放置在工程下,也已添加依赖项,请问为什么控制台窗口显示不出来,就是一闪而过,什么东西也没有。我的put1()函数是输出一个字符串。
展开
 我来答
unknownace
2010-08-12 · TA获得超过286个赞
知道小有建树答主
回答量:205
采纳率:0%
帮助的人:247万
展开全部
这个问题要从控制台如何输出说起,系统会为程序生成3个输出流,即out,in,err。所以当你在程序里调用库函数如printf, cout等时,都是库函数对这3个流进行操作。此处你如果把这些库函数调用放到dll里。虽然这里你用的是静态加载,不过因为dll和主程序的模块参数不同(相关可以查查这个宏AFX_MANAGE_STATE)。也就是说dll里的代码访问不到主程序里的这3个流。所以没有输出。

初学的话,可以写一些返回值的函数。然后在main中察看返回值。
gww1bd
2010-08-12 · TA获得超过303个赞
知道小有建树答主
回答量:154
采纳率:0%
帮助的人:0
展开全部
直接return了,当然是一闪而过。
int _tmain(int argc, _TCHAR* argv[])
{
put1();
system("pause"); //等待任意键继续
return 0;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sunican1987
2010-08-12 · TA获得超过1118个赞
知道小有建树答主
回答量:929
采纳率:0%
帮助的人:350万
展开全部
Ctrl+F5
按键组合。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gamespy1991
2010-08-12 · TA获得超过1262个赞
知道小有建树答主
回答量:1636
采纳率:0%
帮助的人:1280万
展开全部
你没有LoadLibrary
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式