|
沙发
发表于 2025-4-19 09:52:27
|
只看该作者
广东省东莞市
传递变量指针就可以了
.版本 2
.支持库 spec
.程序集 窗口程序集_启动窗口
.子程序 __启动窗口_创建完毕
.局部变量 s, 文本型
.局部变量 b, 字节集
test_string (取变量地址 (s))
test_bytes (取变量地址 (b))
输出调试文本 (s)
调试输出 (取字节集长度 (b), b, 到文本 (b))
子程序1 (取变量地址 (s))
子程序2 (取变量地址 (b))
输出调试文本 (s)
调试输出 (取字节集长度 (b), b, 到文本 (b))
.子程序 子程序1
.参数 ps, 整数型
.局部变量 p, 整数型
.如果真 (指针到整数 (ps) ≠ 0)
释放内存 (指针到整数 (ps))
.如果真结束
p = 申请内存 (256, 真)
写到内存 (“测试文本”, p, 256)
写到内存 (p, ps, 4)
.子程序 子程序2
.参数 pb, 整数型
.局部变量 p, 整数型
.局部变量 s, 文本型
.如果真 (指针到整数 (pb) ≠ 0)
释放内存 (指针到整数 (pb))
.如果真结束
p = 申请内存 (256, 真)
s = “测试字节集”
写到内存 (到字节集 (1) + 到字节集 (取文本长度 (s)) + 到字节集 (s), p, 256)
写到内存 (p, pb, 4)
void test_string(UINT_PTR* pVal)
{
char* ch = new char[256];
strcpy_s(ch, 256, "我就测试一下文本!\0");
*pVal = (UINT_PTR)ch;
}
void test_bytes(UINT_PTR* pVal)
{
char* ch = new char[8+20];
memcpy(ch + 8, "我就测试一下字节集!", 20);
//数组维数,默认1维
ch[0] = 1;
ch[1] = 0;
ch[2] = 0;
ch[3] = 0;
//字节集数据长度[4 字节]
ch[4] = 20;
ch[5] = 0;
ch[6] = 0;
ch[7] = 0;
*pVal = (UINT_PTR)ch;
}
.版本 2
.DLL命令 test_string, , "D:\Working\Visual Studio 2022\DLLTest\Release\DLLTest.dll", "@test_string"
.参数 pVal, 整数型
.DLL命令 test_bytes, , "D:\Working\Visual Studio 2022\DLLTest\Release\DLLTest.dll", "@test_bytes"
.参数 pVal, 整数型
|
评分
-
参与人数 1 | 荣誉 +1 |
收起
理由
|
笨潴
| + 1 |
热心帮助他人,荣誉+1,希望继续努力(*^__^*) 嘻嘻! |
查看全部评分
|