社区
C语言
帖子详情
C语言怎么生成动态链接库.DLL形式
qiangshou2301
2010-01-25 03:18:09
C语言怎么生成动态链接库.DLL形式
...全文
372
5
打赏
收藏
C语言怎么生成动态链接库.DLL形式
C语言怎么生成动态链接库.DLL形式
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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导出
如何用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
); } ...
小巧玲珑的des加密解密算法
C语言
(
dll
形式
)附送原代码
des加密解密算法 ********************************************************************************* DES加密解密算法的
动态链接库
使用说明: 1 使用Des_SetKey函数 来设置您的密钥 2 使用Des_Run函数 执行DES加密/解密算法 此函数接受三个参数 前两个参数为 要加密的字符串(以八个字节为单位),第三个参数选择工作方式 加密/解密 made by yezigu921 ********************************************************************************/
VC++
动态链接库
(
dll
)编程视频教学
动态链接库
的开发编译属于VC++程序员技能。 本课程学习之后能够理解
动态链接库
原理,学会编译静态库、动态库,学会通过lib和头文件链接动态库,学会直接通过代码访问
dll
中函数
读写器技术参考手册
社会保障(个人)卡读写器 (DP-R333-SB) 技术参考手册 高级应用编程接口是提供给终端上的应用程序用来与读卡器进行交互操作的函数集。 高级应用编程接口的具体表现
形式
为32位WINDOWS环境下(WINDOWS95/98/ME,WIN NT/2000/XP等)运行的
动态链接库
(SSSE32.
DLL
)。 应用开发者或用户在对读卡器编程时,可使用相应的库名和函数名。 注:在以下的描述中,使用
C语言
风格来说明高级应用编程接口中的函数。
将Matlab函数转换为VB可用的
DLL
Matlab是MathWorks公司开发的一种工程计算语言。用这个交互系统可以解决很多工程计算问题, 特别当涉及到矩阵和矢量
形式
的问题时,Matlab提供了强大的矩阵处理和绘图功能,而用
C语言
或 Fortran语言来解决相应的问题则编程量比较大。Matcom是一个从Matlab到C++的编译器,它可以 节省用户的运算时间和内存要求。Math-Tools公司利用Matcom技术编写了Mideva工具软件,它可 以借用C++编译器将Matlab下的M文件转换为可被VisualBasic、Exe-cl以及Dephi调用的
DLL
(动态 链接库),亦可编译成独立的标准可执行文件,不需装载任何附加产品。本文就M文件到
DLL
的转换 以及在VB中调用这一类
DLL
两个问题做了一些探讨。文中,我们是基于Mat-lab5.0、VC5.0、VB5.0、 Matcom4.0或相应的更高版本的软件进行讨论的。
C语言
69,369
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章