今天一个项目要和一个系统做接口,功能很简单,就是向他传一段 xml 实现收费。 但上游系统工程师给我一个 EXE 文件,告知在本地设为开机启动并运行,然后就是一堆函数说明,说直接调用这个 exe 的函数就可以了。态度还极差~ 我的妈呀~还有这样的操作?
1
jadec0der 2019-05-10 13:40:43 +08:00
上游系统不想给你调用的时候,就是这么操作的
|
2
thedrwu 2019-05-10 13:42:31 +08:00 via Android
exe 跟 dll 是一样的,都可以输出函数 /api。只是入口函数不一样。地址空间 exe 独立进程,dll 需要附到别的进程。
如果楼主说的是这个。。。 |
3
visonme 2019-05-10 13:48:28 +08:00
调用 EXE 中函数是完全可以的,正如#2 说的,EXE 跟 DLL 其实一样都可以导出函数的,只是相对 DLL,你要从 exe 中调用导出函数,貌似需要保留函数地址,不然调用时候容易报异常,而且通过 LoadLibrary 加载目标 EXE 然后调用,需要处理函数地址问题(其实就是看你怎么初始化目标 EXE,然后保证正常调用那些函数),不然也是无效~
|
4
co3site 2019-05-10 13:51:27 +08:00 via Android
建议了解下 PE 结构,具体到导出表
|
5
Roarbit OP @thedrwu 我这边日常实现这个功能一般都是对方给一个 web 服务或者存储过程就 OK 了。但这个厂商给的是一个 EXE,还要求以一个类似服务的进程一直运行才行 ε(┬┬﹏┬┬)3 如果是 DLL 我直接 import,按照他的逻辑调用传参就可以了……
|
6
geelaw 2019-05-10 14:06:27 +08:00 via iPhone
也可能是 local server 的 COM
|