社区
C语言
帖子详情
如何将C 编译成.dll文件
江枫戏渔火
2007-12-30 01:37:23
提问如题.
...全文
8300
20
打赏
收藏
如何将C 编译成.dll文件
提问如题.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Grant_zhao_1991
2011-05-10
打赏
举报
回复
直接建立个CPP文件,把C的代码放进去 不就好了么
awendoua
2011-01-05
打赏
举报
回复
有指导意义
懿德
2010-11-08
打赏
举报
回复
有指导意义!
飞_流
2008-03-12
打赏
举报
回复
E:\Test\src>cl -Ic:D:\Java\jdk1.6.0_03\include -Ic:D:\Java\jdk1.6.0_03\include\w
in32 -LD Employee.c -FeEmployee.dll
江枫戏渔火
2008-01-04
打赏
举报
回复
谢谢各位,历经各种困难,问题已经解决。
zzyjsjcom
2008-01-03
打赏
举报
回复
用 vc 6.0 下的cl.exe 和 link.exe工具,请读下文:
声明:下面这篇文章不是我写的,源自:一个叫,有容乃大 的博客
如何手工编写动态链接库(windows dll)
1.本例介绍在命令行(Console)环境下制作dll的方法
2.读者动手前,请确保在windows中安装有编译、链接工具和必要的函数库文件。
3.本例使用C语言实现.
4.本例中使用路径均为我机器上的绝对路径,读者需根据实际情况调整。
工具要求:
Microsoft的编译器cl.exe
MIcrosoft链接器link.exe
dll制作步骤:
1.编写dll函数实现源代码hello.c
#include
int say_hello(char* name)
{
printf( "hello %s\n ", name);
return 1;
}
2.编写dll函数输出定义文件hello.def.
LIBRARY hello
EXPORTS
say_hello @1
3.编译dll源码,生成dll,lib文件.
3.1 新建命令行窗口
3.2 设置PATH ¦ INCLUDE ¦ LIB 3个环境变量.
SET PATH=K:\vcnet\vc7\bin;%PATH%
SET INCLUDE=K:\vcnet\vc7\include;%INCLUDE%
SET LIB=K:\vsnet\Vc7\lib;%LIB%
3.3 编译hello.c
cd K:\Source\dllsample (hello.c和hello.def所在目录)
cl /c hello.c
3.4 链接hello.obj,生成hello.dll,hello.lib两个文件.
link /def:hello.def /dll hello.obj
4.测试dll函数.
4.1 编写测试代码 test.c
extern int say_hello(char* name);
int main(int argc,char** argv)
{
say_hello( "robbie ");
return 0;
}
4.2 编译测试代码test.c
cl /c test.c
4.3 链接test.obj和 hello.lib,生成可执行文件test.exe
link test.obj hello.lib
4.4 运行test.exe,屏幕输出:
hello robbie
至此,一个dll构造完毕.
下面是我自己的一点补充:
如果要在c++下,或者win32 mfc下使用标准c写的dll,必须把上面的声明
extern int say_hello(char* name);改成:extern "C " int say_hello(char* name);
gzlucky
2008-01-03
打赏
举报
回复
我没有试过,我想你最好使用标准的DLL,不要使用MFC DLL
agaric
2008-01-03
打赏
举报
回复
呵呵。 用vc建一个带向导代码的dll工程就ok了。
其实跟建立一个lib或者一个exe没什么本质得区别。
michney
2008-01-03
打赏
举报
回复
生成一个空的DLL工程,
从别的dll工程拷过来一个def文件(MFC的dll自动生成def文件),
手工填写要导出的函数,
再把.c, .h文件手工add进去就行了
VxD1
2008-01-03
打赏
举报
回复
必须是windows程序,常用的是PE格式,区别于字符模式下的c程序
VxD1
2008-01-03
打赏
举报
回复
一下说不清楚,《windows程序设计》下册里有详细的说明。
江枫戏渔火
2007-12-31
打赏
举报
回复
我这里生成的.dll文件是为让一个java程序调用,所以如果像gzlucky 说的那样,会不会无法访问到?
lubin1221328
2007-12-30
打赏
举报
回复
没用过。
顶楼上楼主
gzlucky
2007-12-30
打赏
举报
回复
你是否在说,你手头上有一些代码是用C写的,现在想把他们编译成DLL ?
你可以通过Visual Studio 6或者 Visual Studio .Net 200x 生成一个C++ 的DLL框架,然后把你的代码放进去不就行了吗?不知道这是不是你要的.
我当初就是这样把一些非C的代码,从UNIX移到windows上的,当然这些代码都是与平台无关的.
linaz
2007-12-30
打赏
举报
回复
我也急需解决这个问题,看了很久没有突破性进展。求助阿~~
江枫戏渔火
2007-12-30
打赏
举报
回复
只是不知道如何生成它。 希望大家提点建设性的想法。
a3950410
2007-12-30
打赏
举报
回复
DLL文件即动态链接库文件,是一种可执行文件,它允许程序共享执行特殊任务所必需的代码和其他资源. 应该不会吧
一生有爱1980
2007-12-30
打赏
举报
回复
不清楚,顶一下
chlaws
2007-12-30
打赏
举报
回复
路过接分
yuannan
2007-12-30
打赏
举报
回复
还不了解 谁来说说~~~~~~~
如何使用 C 编译器
编译成
DLL
文件
如果你想使用 C 编译器来
编译成
DLL
文件
,你可以使用下面的步骤: 首先,你需要安装一个 C 编译器,比如 GCC 或者 Microsoft Visual C++。 然后,你需要创建一个 C 源
文件
,并在
文件
中编写
DLL
所需的代码。 在命令行中进入到 C 源
文件
所在的目录。 编译 C 源
文件
,使用下面的命令: GCC:gcc -shared -o
dll
name.
dll
fi...
如何把c
文件
编译成
dll
最近在学
dll
,分享一个比较简单的方法 gcc -shared -o demo.
dll
demo.c 另外如果是Windows的话需要安装一个winGW
如何使用visual studio 将.c
文件
编译成
dll
文件
3. 在“创建新项目”窗口中,搜索“动态链接库(
DLL
)”,然后选择“C++ 动态链接库(
DLL
)”项目模板。2. 如果
编译成
功,你会在项目的“Debug”或“Release”
文件
夹中找到.
dll
文件
,具体取决于你选择的是Debug模式还是Release模式编译。2. 在“配置属性” -> “C/C++” -> “高级”中,找到“编译为”选项,将其设置为“编译为C代码 (/TC)”。2. 确保“解决方案”和“项目”名称是你想要的,然后点击“创建”。2. 选择“添加” -> “现有项...”。
C语言
编译成
DLL
文件
,给其他程序调用。C语言
编译成
EXE
文件
,执行简单功能。举例:HEX
文件
合并
本文介绍了如何将C语言编写的功能函数封装成
DLL
供上位机程序调用的完整流程。首先以CRC8校验函数为例展示了C语言源
文件
和头
文件
编写方法,然后使用gcc编译器将其编译为
DLL
文件
。文章详细演示了在C#和易语言中调用该
DLL
的具体实现方式,包括
DLL
导入声明和使用示例。最后还介绍了将C程序编译为EXE可执行
文件
的方法,展示了
文件
处理、路径操作等功能的实现。整个过程涵盖了从
DLL
创建到多平台调用的完整开发链路,为跨语言联合开发提供了实用参考。
在Linux/Solaris上,将c
文件
编译成
dll
文件
的方法
dll
制作步骤: 1.编写
dll
函数实现源代码hello.c #include int say_hello(char* name) { printf( "hello %s/n ", name); return 1; } 2.编写
dll
函数输出定义
文件
hello.def. LIBRARY hello EXPORTS say_hello @1 3.编译
dll
源码,生成
dll
,lib
文件
. 3.1 新建
C语言
70,039
社区成员
243,246
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章