当前位置: 首页 > wzjs >正文

那个公司做网站好官网建设

那个公司做网站好,官网建设,天津集团网站建设,o2o网站建设代理商文章目录 💡 GUNION SDK 接口调用方式说明(静态库 vs 动态库)📘 一、接口宏定义说明🚀 二、使用方式对比🧱 三、调用方使用方式详解✅ 1. 使用静态库(.lib)✅ 2. 使用 DLL&#xff0…

文章目录

  • 💡 GUNION SDK 接口调用方式说明(静态库 vs 动态库)
    • 📘 一、接口宏定义说明
    • 🚀 二、使用方式对比
    • 🧱 三、调用方使用方式详解
      • ✅ 1. 使用静态库(.lib)
      • ✅ 2. 使用 DLL(隐式链接)
      • ✅ 3. 使用 DLL(动态加载 LoadLibrary)
    • 🔍 四、导出名注意事项(运行时加载)
    • 📦 五、推荐发布内容(给调用者)
    • ✅ 六、宏设置汇总

💡 GUNION SDK 接口调用方式说明(静态库 vs 动态库)

本手册详细介绍 Ghome.h 接口文件在不同调用场景下的使用方式,包括宏控制、链接方式、运行时行为、适配代码等,确保调用方能够正确配置并调用 SDK 接口。


📘 一、接口宏定义说明

Ghome.h 中,使用如下宏控制导出/导入行为:

#if defined(GHOME_STATIC)#define GHOME_API
#elif defined(GHOME_EXPORTS)#define GHOME_API __declspec(dllexport)
#else#define GHOME_API __declspec(dllimport)
#endif

含义如下:

宏定义含义说明
GHOME_STATIC表示使用静态库(.lib),不需要 DLL
GHOME_EXPORTS表示正在编译 DLL,导出符号(供别人用)
未定义任何宏默认行为,表示正在使用 DLL(导入符号)

🚀 二、使用方式对比

使用场景是否需要定义宏是否使用 .lib是否需要 .dll是否使用 LoadLibrary
✅ 静态库 .lib 编译链接#define GHOME_STATIC✅ 是❌ 否❌ 否
✅ DLL(隐式链接)无需定义宏✅ 是✅ 是❌ 否
✅ DLL(运行时动态加载)❌ 不需要宏❌ 否✅ 是✅ 是

🧱 三、调用方使用方式详解

✅ 1. 使用静态库(.lib)

  • 头文件中添加宏:
#define GHOME_STATIC
#include "Ghome.h"
  • 链接设置:
    • 链接 .lib 文件(例如:ghome_static.lib
    • 不需要运行时存在 .dll
  • 示例代码:
GhomeLAppInfo appInfo = { sizeof(GhomeLAppInfo), 123, L"游戏名", L"1.0", -1, -1 };
int ret = GhomeInitialize(&appInfo);

✅ 2. 使用 DLL(隐式链接)

  • 不需要定义任何宏
  • 工程中链接 .lib 文件(由 DLL 编译生成);
  • 运行时需要 .dll 文件放在可执行文件旁边或系统 PATH 中。
  • 示例代码:
#include "Ghome.h"GhomeLAppInfo appInfo = { sizeof(GhomeLAppInfo), 123, L"游戏名", L"1.0", -1, -1 };
int ret = GhomeInitialize(&appInfo);

✅ 3. 使用 DLL(动态加载 LoadLibrary)

  • 不需要包含 ghome.h(除非重用 struct 定义)
  • 使用 typedef 声明函数指针
  • 使用 LoadLibraryGetProcAddress 动态调用
  • 示例代码:
typedef int (__cdecl *PF_GhomeInitialize)(const GhomeLAppInfo*);
HMODULE hDll = LoadLibraryW(L"`sdologinsdk.dll`");
if (hDll) {PF_GhomeInitialize init = (PF_GhomeInitialize)GetProcAddress(hDll, "GhomeInitialize");if (init) {GhomeLAppInfo appInfo = { sizeof(GhomeLAppInfo), 123, L"游戏名", L"1.0", -1, -1 };int ret = init(&appInfo);}FreeLibrary(hDll);
}
  • 优点: 不需链接 .lib,运行时灵活控制加载;
  • 缺点: 函数名大小写必须匹配,需手动定义所有函数指针;

🔍 四、导出名注意事项(运行时加载)

使用 GetProcAddress 加载函数时,需要确认 DLL 中函数是否为标准 C 导出名(例如 GhomeInitialize)而不是带修饰符的(如 _GhomeInitialize@4)。建议:

  • 在 C++ 中使用 extern "C" 包裹导出声明;
  • 使用 dumpbin /exports ghome.dll 验证导出名;
  • 保证函数名在头文件与 DLL 中完全一致。

📦 五、推荐发布内容(给调用者)

建议发布以下内容给调用者:

文件名描述
ghome.h公共头文件
sdologinsdk.lib、sdologinsdk64.lib静态库文件(如使用静态库)
sdologinsdk.dll、sdologinsdk64.dll动态库运行时文件
sdologinsdk.lib、sdologinsdk64.libDLL 的 import 库(隐式链接时用)

✅ 六、宏设置汇总

使用方式推荐设置
静态链接#define GHOME_STATIC
DLL 编译#define GHOME_EXPORTS
DLL 调用不定义宏(默认导入)
动态加载 DLL不定义宏,自定义函数指针
http://www.dtcms.com/wzjs/189283.html

相关文章:

  • 怎么建自己的手机网站吗兰州网站开发公司
  • 武汉网站建设找问一问公司百度免费推广
  • 专门做当归的网站站长工具a级
  • 冀州网站建设网络销售推广是做什么的具体
  • 网站建设栏目层级生意参谋官网
  • 网站制作后续维护网络培训课程
  • 关方网站买微信搜索引擎官网
  • 中国小康建设网 是个什么网站微信运营方案
  • 要怎样夸一个网站做的好看营销技巧
  • 在线做简历的网站网站推广模式
  • 做房产网站怎么样著名的个人网站
  • 派出所备案是什么意思seo的优化方向
  • 杭州网站建设提供商西安高端网站建设
  • 潍坊手机网站制作邵阳seo优化
  • 上海公司企业网站怎么做最近发生的热点新闻
  • 加盟网站有哪些郑州seo顾问外包
  • 2345网站登录新闻网站排行榜
  • 网站建设的方式有哪些职业技能培训网站
  • 百度生成在线网站地图精准网站seo诊断报告
  • 网站模板 响应式美发培训职业学校
  • 必要是什么网站个人网站制作软件
  • 如何用电脑做网站服务器吗网站推广的具体方案
  • 淘宝客做网站推广赚钱吗如何搭建网站平台
  • 制作表情包的软件app安徽360优化
  • 用自己的电脑做网站服务器app开发费用标准
  • 北京网站建设公司知乎互联网公司排名100强
  • 广州的十七做网站徐州seo外包公司
  • 做网站指导免费顶级域名申请网站
  • 外贸推广公司哪家好广州seo服务
  • 做网站需要提供什么资料百度网址大全在哪里找