社区
C++ 语言
帖子详情
我现在有个dll文件,没有头文件,如何使用其中定义的结构体???
simplebelief
2011-07-07 10:33:24
看了不少关于dll导出类、全局变量、函数的文章,在使用dll时,好多都用静态调用方式,要个头文件、引入库(lib)啥的?
可是我现在就只有个dll文件,没有引入库lib,也没有头文件,只能采用动态调用的方式。
调用其中的一般函数还可以,直接LoadLibary、GetProcAddress、FreeLibrary,可是有的函数的参数有一些自定义的结构体。
问题是:我没有那个头文件,应用程序中又需要构造一个结构体作为参数。
...全文
432
16
打赏
收藏
我现在有个dll文件,没有头文件,如何使用其中定义的结构体???
看了不少关于dll导出类、全局变量、函数的文章,在使用dll时,好多都用静态调用方式,要个头文件、引入库(lib)啥的? 可是我现在就只有个dll文件,没有引入库lib,也没有头文件,只能采用动态调用的方式。 调用其中的一般函数还可以,直接LoadLibary、GetProcAddress、FreeLibrary,可是有的函数的参数有一些自定义的结构体。 问题是:我没有那个头文件,应用程序中又需要构造一个结构体作为参数。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
就想叫yoko
2011-07-07
打赏
举报
回复
自己定义一个~~
ouyh12345
2011-07-07
打赏
举报
回复
必须得知道结构体的结构,然后自己自己声明一个
Ace丶双鱼
2011-07-07
打赏
举报
回复
dll 相当于.cpp文件
lib 相当于.h文件
头文件 相当于 接口文件
只有dll,你知道dll里面都包含什么函数么?函数里参数也不知道吧?
bdmh
2011-07-07
打赏
举报
回复
自己定义吧
nightkids_008
2011-07-07
打赏
举报
回复
这个猜的话有难度,得靠逆向工程了
强迫症专用头像
2011-07-07
打赏
举报
回复
[Quote=引用 2 楼 yucarl 的回复:]
dll 相当于.cpp文件
lib 相当于.h文件
头文件 相当于 接口文件
只有dll,你知道dll里面都包含什么函数么?函数里参数也不知道吧?
[/Quote]
lib不相当与.h文件,OK?
一叶之舟
2011-07-07
打赏
举报
回复
如果知道结构体内的布局,自己定义一个,如果不知道那就没办法了
赵4老师
2011-07-07
打赏
举报
回复
w32dasm
majia2011
2011-07-07
打赏
举报
回复
找懂反向的人帮你弄,或者放弃
ThinkingMind1988
2011-07-07
打赏
举报
回复
[Quote=引用 10 楼 luciferisnotsatan 的回复:]
如果没法得到头文件,那只能靠自己猜了
[/Quote]
看函数实现什么功能,猜下结构体的内容,试着写下结构体。多做几次尝试应该就出来了吧。
luciferisnotsatan
2011-07-07
打赏
举报
回复
如果没法得到头文件,那只能靠自己猜了
sophy520eangel
2011-07-07
打赏
举报
回复
调试下DLL,或许其中结构体的组成,然后自己声明个
swordsman
2011-07-07
打赏
举报
回复
如果没有借口lib、.h 估计没有办法做了。等待高手中。。。。。。
yinhonga
2011-07-07
打赏
举报
回复
有的函数的参数有一些自定义的结构体。。。那你需要知道dll中包含的函数以及函数的参数,那么你就可以调用了
至善者善之敌
2011-07-07
打赏
举报
回复
[Quote=引用 2 楼 yucarl 的回复:]
dll 相当于.cpp文件
lib 相当于.h文件
头文件 相当于 接口文件
只有dll,你知道dll里面都包含什么函数么?函数里参数也不知道吧?
[/Quote]
++1
pathuang68
2011-07-07
打赏
举报
回复
[Quote=引用 3 楼 ouyh12345 的回复:]
必须得知道结构体的结构,然后自己自己声明一个
[/Quote]
++
QT编写
DLL
调用示例 方法 参数 返回值 事件回调
QT编写
DLL
给外部程序调用示例 方法 参数 返回值 事件回调 : 1:C#或者 NET 第一步:引入命名空间; using System Runtime InteropServices; 第二步:声明函数 必须与实际
DLL
中函数名及参数一致; [
Dll
Import "qt
dll
dll
" ] public static extern int add int i ; 第三步:调用函数执行; Console WriteLine add 10 ToString ; 2:QT 第一步:引入
头
文件
; #include <QLibrary> 第二步:
定义
函数指针 以备调用; typedef int Add int ; 第三步:载入
DLL
调用函数执行; QLibrary lib "qt
dll
dll
" ; lib load ; Add add Add lib resolve "add" ; add 50 ; 3:C或C++ 第一步:引入
头
文件
; #include <windows h> 第二步:
定义
函数指针; typedef int Add int ; 第三步:载入
DLL
调用函数执行; HINSTANCE h
Dll
LoadLibrary "qt
dll
dll
" ; 载入
DLL
获取句柄 if h
Dll
NULL { Add add Add GetProcAddress h
Dll
"add" ; 获取函数地址 printf "%d" add 110 ; FreeLibrary h
Dll
; 释放
DLL
}">QT编写
DLL
给外部程序调用示例 方法 参数 返回值 事件回调 : 1:C#或者 NET 第一步:引入命名空间; using System Runtime InteropServices; 第二步:声明函数 必须与实际
DLL
中函数名及参数一致; [
Dll
Import "qt
dll
dll
" ] public static extern int add in [更多]
c语言
头
文件
可以
定义
全局变量,C语言在
头
文件
中
定义
全局变量
C语言在
头
文件
中
定义
全局变量
头
文件
定义
全局变量等问题全局变量可不可以
定义
在可被多个.C
文件
包含的
头
文件
中?为什么?可以,在不同的C
文件
中以static形式来声明同名全局变量。
头
文件
中不可以直接
定义
变量和函数,但是可以
定义
static变量 ,类。extern 用法,全局变量与
头
文件
(重复
定义
)用#include可以包含其他
头
文件
中变量、函数的声明,为什么还要extern关键字,如果我想引用一个全局变...
[c/c++]不同的两个库,
定义
了重复的
结构体
当在同一个
文件
中, 引入了两库,并且两个库的
头
文件
都包含同名
结构体
S, 那么可以
使用
include "A.h" define S BS include "B.h" 转载于:https://www.cnblogs.com/CircleMono/p/8612114.html...
C#调用C++生成的
DLL
,并返回
结构体
引用或者
结构体
指针多个值
C#调用C++生成的
DLL
,并返回
结构体
引用或者
结构体
指针多个值 目录 C#调用C++生成的
DLL
,并返回
结构体
引用或者
结构体
指针多个值 步骤1:首先新建C#工程,如图所示 步骤2:解决方案里添加C++工程 步骤3:用C#项目调用C++创建
DLL
步骤1:首先新建C#工程,如图所示 创建完后,整体效果如下 步骤2:解决方案里添加C++工程 ...
c语言中多个源
文件
共享一个
结构体
引言 在一个复杂的程序中,c语言所有的数据类型往往不能满足我们的需要,往往需要自己
定义
数据结构。在这里会有一个问题,当你的代码不存放在一个源
文件
中,并且函数之间还有
结构体
数据之间的传输。那么在不同的源
文件
中如何共享同一个
结构体
呢? 不同源
文件
共享同一个
结构体
首先,我们可能会考虑到的就是在不同的源
文件
中都
定义
一个同一个
结构体
,然而,虽然
结构体
的数据类型一样,名称一样,但是在编译器编译过程中,...
C++ 语言
64,649
社区成员
250,477
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章