C结构转ahk结构

c结构体转ahk结构

VS编译时打印指定的结构体的内存布局

/d1reportSingleClassLayoutMY_STRUCT 

C结构转ahk结构

cpp代码

#include <string>
#include <iostream>
using namespace std;

typedef struct MY_STRUCT
{
    int a;
    double b;
    char str[128];
}MY_STRUCT;
typedef struct MY_OUT_STRUCT
{
    int a;
    double b;
    char str[128];
}MY_OUT_STRUCT;

extern "C" _declspec(dllexport) int cpp2ahk(MY_STRUCT *in_struct, MY_OUT_STRUCT *out_struct)
{
    cout << in_struct->a << in_struct->b << in_struct->str << endl;
    out_struct->a = 10;
    out_struct->b = 9.9;
    sprintf_s(out_struct->str, "%s", "autohoktey");
    return 0;
}

ahk v2测试代码

#include <log4ahk>

MyStruct := Buffer(144, 0)
NumPut("UInt", 100, MyStruct, 0)
NumPut("Double", 9.99, MyStruct, 8)
str := "autohotkey_#!#@^%%"
StrPut(str, MyStruct.Ptr + 16, "UTF-8")

DllCall("stltest\cpp2ahk", "Ptr", MyStruct, "Ptr", MyStruct)

a := NumGet(MyStruct, 0, "Int")
b := NumGet(MyStruct, 8, "double")
str := StrGet(MyStruct.Ptr + 16, 128, "UTF-8") 
log.info(a)
log.info(b)
log.info(str)

# 结果

C结构转ahk结构

C结构转ahk结构

给TA捐赠
共{{data.count}}人
人已捐赠
其他

便捷启动 scrcpy + 快捷键

2022-2-4 15:29:42

其他

求助:影子输入法如何取消tab键翻页

2022-2-5 11:14:12

4 条回复 A文章作者 M管理员
  1. hexuren

    图片有点问题呀

    • ahker

      github的链接,不稳定

    • hexuren

      可以把图片上传到社区

  2. dbgba
    dbgba给您打赏了¥5
个人中心
购物车
优惠劵
有新私信 私信列表
搜索