是否可以以及如何编写自定义的lib库文件?

sunportjj 2003-08-19 04:24:47
我用的是vc6。0
想做一个脚本解释器
希望访问dll前可以查询到库中函数的参数个数和类型以及返回值以便调用前准备好入口参数。
系统提供的lib好像不行
可以编写一个自定义格式的lib文件吗?结合dll一起使用。
另外:是否可以修改系统生成的lib文件?它的格式是怎么样的?

ps:我是一个新手,不知这个方案是否可行?
...全文
229 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunportjj 2003-08-29
  • 打赏
  • 举报
回复
很久没来了
这个问题我已经绕过去了
楼上的方法早用过了,不过好像没达到目的:<
还是要多谢2位的热心解答:)
spbabyba 2003-08-23
  • 打赏
  • 举报
回复
你要写自己的def 文件,
lib /def:ufile.def /out:ufile.lib /machine:ix86
李_军 2003-08-23
  • 打赏
  • 举报
回复

常用工具:

TDump.exe-Delphi 4 和 C++ Builder 3 提供

Impdef.exe 和 Implib.exe - C++ Builder 3提供

DumpBin.exe-VC5.0提供

Lib.exe-VC5.0提供


VC调用Delphi的DLL



Delphi中的声名格式:

Function ShowDialog( hMainWnd:THandle; Msg:PChar ):integer; stdcall;

输出到Dll文件中时,名称不分裂。


VC中的调用格式:

extern "C" __declspec(dllimport) int __stdcall ShowDialog( HWND hwnd,char* Msg );

.如带有__stdcall,则要求Lib文件中对应函数名称分裂,可有以下步骤生成Lib文件:

.用Impdef.exe生成def文件,格式为:Impdef def文件名 dll文件名

.手工调制def文件参数,如ShowDialog改为ShowDialog@8

.用Lib.exe生成lib文件,格式为:Lib /def:def文件名

.如声名中无__stdcall,默认调用格式仍为stdcall,但不要求名称分裂,用以下批处理文件MkLib.bat可生成Lib文件:

@echo off

if %1.==. goto error

impdef %1.def %1.dll

lib /def:%1.def

goto end

:error

echo Usage: MkLib DllName

echo Note: Don't add extension ".dll" to parameter "DllName"

:end
sunportjj 2003-08-19
  • 打赏
  • 举报
回复
为什么没有人帮忙解答我的疑问?
是我没有说清楚还是点数太低?
呵呵
我都可以改嘛
在PSIM(电力系统交互式模拟器)中,用户可以通过编写自定义C语言代码来扩展仿真功能,并将其封装为动态链接(DLL)供PSIM调用。以下是生产PSIM DLL的一般步骤: 编写C源代码: 根据PSIM提供的接口规范,编写C语言代码实现所需的模块、模型或控制算法。 创建DLL项目: 使用Visual Studio等集成开发环境创建一个新的Win32 DLL项目。 包含PSIM头文件: 在你的C源文件中包含PSIM提供的头文件,这些文件包含了PSIM API函数的声明和数据结构定义。 实现PSIM接口函数: 实现PSIM要求的入口函数和其他必需的回调函数,例如psim_init(), psim_update() 和 psim_term() 等,这些函数会在仿真过程中被PSIM调用以执行用户自定义的逻辑。 编译生成DLL文件: 设置项目的属性,确保目标平台与PSIM兼容,并将输出类型设置为动态链接(DLL)。 编译并链接项目,生成.dll文件和可能需要的.lib导入文件。 配置PSIM模型: 在PSIM环境中,创建一个自定义元件或模型,指定该模型使用你刚刚生成的DLL。 提供必要的参数设置以及连接到仿真电路中的方式。 验证和调试: 运行PSIM仿真,观察并调试自定义模型的行为,确保其按照预期工作。 请注意,具体的实现细节可能会因PSIM的不同版本而有所差异,建议查阅最新的PSIM用户手册或API文档以获取具体指导。

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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