递归火山软件开发平台

标题: 解决EXE导出函数,此贴不加精怎么都说不过去。 [打印本页]

作者: urenai    时间: 2024-2-29 15:56
标题: 解决EXE导出函数,此贴不加精怎么都说不过去。
本帖最后由 urenai 于 2024-2-29 16:16 编辑

之前的帖子导出函数一长串,看着都累,关键是必须这么搞。
那换个思路,在类里创建一个静态函数专门导出,
在用这个函数调用类方法,意思是给类方法套个壳。完美解决问题。
之前还有人说 exe不能当DLL用,实际上目的不同,最初也就是想让exe可以导出函数给DLL调用而已。
可没想到还有意外之喜:
(, 下载次数: 3)
睁大你的眼睛瞅瞅,下载了自己装载自己试试。
(, 下载次数: 40)


(, 下载次数: 41)

  1. <火山程序 类型 = "通常" 版本 = 1 />

  2. 类 a <公开 @强制输出 = 真>
  3. {

  4.     # @ extern "C" __declspec(dllexport) int testAPI_ADD(int mu1, int mu2) {
  5.     # @ return @sn<current_class>::@<加法运算>(mu1,mu2);
  6.     # @ }
  7.     #

  8.     方法 加法运算 <公开 静态 类型 = 整数>
  9.     参数 mu1 <类型 = 整数>
  10.     参数 mu2 <类型 = 整数>
  11.     {
  12.         返回 (mu1 + mu2)
  13.     }

  14.     # 以下是 翻译代码
  15.     # extern "C" __declspec(dllexport) int testAPI_ADD(int mu1, int mu2) {
  16.     # return rg_a5::rg_JiaFaYunSuan(mu1,mu2);
  17.     # }
  18.     #
  19.     # INT CALLBACK rg_a5::rg_JiaFaYunSuan (INT rg_mu, INT rg_mu1)
  20.     # {
  21.     #     return (rg_mu + rg_mu1);
  22.     # }
  23.     #
  24.     # -
  25.     # 以下是结果EXE文件实际导出函数
  26.     #  TimeDateStamp: FFFFFFFF
  27.     #  版本: 0.00   
  28.     #  序数基址: 00000001   
  29.     #  函数编号: 00000001           
  30.     #  编号名称: 00000001      
  31.     #  
  32.     #   testAPI_ADD rva: 0000A9F0 ord:   1
  33.     #
  34. }
复制代码





作者: itismine    时间: 2024-2-29 20:41
学习一下。。。。
作者: zzr1122333    时间: 2024-3-1 09:06
exe可以当dll用 ?
作者: hmyroot    时间: 2024-3-2 15:24
这都行,牛逼
作者: Coco    时间: 2024-7-8 09:11
感谢大佬分享




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4