动态连接库??

yulinqihou 2004-09-01 11:50:42
小弟是新学c的人
请问动态连接库是什么东西?怎么样实现?其函数如何调用?
谢谢
...全文
154 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
to_be_or_not_to_be 2004-09-02
  • 打赏
  • 举报
回复
testapi.h

#ifndef _TESTAPI_H
#define _TESTAPI_H

#define TESTAPI __declspec(dllexport)

TESTAPI void __stdcall test(void);

#endif

testapi.c

#include <stdio.h>
#include <windows.h>
#include "testapi.h"

BOOL APIENTRY DllMain(HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
{
switch (ul_reason_for_call){
case DLL_PROCESS_ATTACH://加载库的动作
case DLL_THREAD_ATTACH://开启线程的动作
case DLL_THREAD_DETACH://结束线程的动作
case DLL_PROCESS_DETACH://结束库的动作
break;
}
return TRUE;
}

TESTAPI void __stdcall test(void)
{
printf("hello world\n");
}

编译:
cl /c testapi.c
link testapi.obj /dll /out:testapi.dll /implib:testapi.lib

调用:
#include <stdio.h>
#include "testapi.h"

#pragma comment (lib, "testapi.lib")

int main(int argc, char *argv[]){
test()
return 0;
}
ghxmagic 2004-09-01
  • 打赏
  • 举报
回复
<<VC++技术内幕第五版>>
<<WINDOWS核心编程>>
lwj_dxy 2004-09-01
  • 打赏
  • 举报
回复
up
hcj2002 2004-09-01
  • 打赏
  • 举报
回复
http://www.pcvc.net/category/content.asp?sendid=188
hxblvc 2004-09-01
  • 打赏
  • 举报
回复
天那,楼的可真是个急性子.

DentistryDoctor 2004-09-01
  • 打赏
  • 举报
回复
找本SDK编程或系统编程之类的书读一读,MSDN中也有。
gegegeg 2004-09-01
  • 打赏
  • 举报
回复
一路小跑。。。。
来了~~~~~~
给分。
yulinqihou 2004-09-01
  • 打赏
  • 举报
回复
谢谢各位

70,020

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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