社区
C语言
帖子详情
C语言怎么生成动态链接库.DLL形式
qiangshou2301
2010-01-25 03:18:09
C语言怎么生成动态链接库.DLL形式
...全文
416
5
打赏
收藏
C语言怎么生成动态链接库.DLL形式
C语言怎么生成动态链接库.DLL形式
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
qiangshou2301
2010-01-25
打赏
举报
回复
谢谢各位 结贴了
yuzl32
2010-01-25
打赏
举报
回复
1、cl /c xxx.c (生成xxx.obj)
2、link /dll xxx.obj
注意:c文件中,需要对要导出的函数标识上:__declspec(dllexport).比如:
__declspec(dllexport) int add(int a,int b)
{
return a + b;
}
以上针对微软的c/c++编译器.
versaariel
2010-01-25
打赏
举报
回复
学习
FrankSun80
2010-01-25
打赏
举报
回复
编译代码的时候设置 /t:liabray 就行了
你查下编译命令吧
如果用ide,那就soso~
lin_style
2010-01-25
打赏
举报
回复
搜索关键字
windows vc dll导出
ffmpeg.
dll
及lib
编译好的ffmpeg的
dll
直接封装好的ffmpeg
大智慧新一代的
c语言
接口
这是一个用V
C语言
编写大智慧新一代股票软件外部扩展函数的接口模板,以WIN32动态连接库
形式
实现。
java 调用C swig
java 调用C swig
如何用VC++创建及调用
DLL
关于特定情况下的调用,比如
DLL
函数中使用到了win32 API或者将C++
生成
的
DLL
供标准
C语言
使用,则需要注意以下一些情况: 如果使用到了win32 API,则应该使用调用方式为“__stdcall”。 在将C++
生成
的
DLL
供标准
C语言
使用,输出文件需要用“extern "C"”修饰,否则不能被标准
C语言
调用。如果使用“__stdcall”调用方式,可能产生C不识别的修饰名,所以设置导出函数时要采用.def文件
形式
,而不是__declspec(
dll
export)
形式
。后者会进行修饰名转换,
C语言
无法识别函数。 下面的代码是一个定义文件的示例。 // Sample
DLL
.def // LIBRARY "sample
DLL
" EXPORTS HelloWorld示例
DLL
和应用程序XXXXXXXX 在 Microsoft Visual C++ 6.0 中,可以通过选择“Win32
动态链接库
”项目类型或“MFC 应用程序向导 (
dll
)”来创建
DLL
。下面的代码是一个在 Visual C++ 中通过使用“Win32
动态链接库
”项目类型创建的
DLL
的示例。 // Sample
DLL
.cpp //#include "stdafx.h" #define EXPORTING_
DLL
#include "sample
DLL
.h" BOOL APIENTRY
Dll
Main( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) { return TRUE; } void HelloWorld(){ MessageBox( NULL, TEXT("Hello World"), TEXT("In a
DLL
"), MB_OK); } // File: Sample
DLL
.h //#ifndef IN
DLL
_H #define IN
DLL
_H #ifdef EXPORTING_
DLL
extern __declspec(
dll
export) void HelloWorld() ; #elseextern __declspec(
dll
import) void HelloWorld() ; #endif #endif 下面的代码是一个“Win32 应用程序”项目的示例,该示例调用 Sample
DLL
DLL
中的导出
DLL
函数。 // SampleApp.cpp //#include "stdafx.h" #include "sample
DLL
.h" int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow) { HelloWorld(); return 0; } 注意:在加载时动态链接中,您必须链接在
生成
Sample
DLL
项目时创建的 Sample
DLL
.lib 导入库。 在运行时动态链接中,您应使用与以下代码类似的代码来调用 Sample
DLL
.
dll
导出
DLL
函数。 ... typedef VOID (*
DLL
PROC) (LPTSTR); ... HINSTANCE hinst
DLL
;
DLL
PROC HelloWorld; BOOL fFree
DLL
; hinst
DLL
= LoadLibrary("sample
DLL
.
dll
"); if (hinst
DLL
!= NULL) { HelloWorld = (
DLL
PROC) GetProcAddress(hinst
DLL
, "HelloWorld"); if (HelloWorld != NULL) (HelloWorld); fFree
DLL
= FreeLibrary(hinst
DLL
); } ...
python操作海康威视相机------例程由海康官方提供 感谢海康工作人员
通过邮件求助了海康威视SDK的管理人员,他们只给了一个简单示例。不会有任何导入错误和其它麻烦,鉴于网络上大家遇到各种问题 很头疼,分享给大家,希望大家enjoy it。
C语言
70,026
社区成员
243,244
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章