易语言资源网 - 做最全的易语言资源下载社区
精易论坛授权登录
退出登录
我要分享内容
全部
易语言源码
易语言模块
易语言支持库
易相关资源
易相关资料
开源大赛
火山相关资源
其他资源
搜索
精易模块
自绘
界面美化
汇编
POST
API
易语言助手
高级搜索
首页
易语言源码
入门教程源码
初级教程源码
进阶教程源码
高级教程源码
系统工具源码
图形图像源码
多媒体类源码
游戏娱乐源码
数据库类源码
模块控件源码
行业软件源码
网络相关源码
界面美化源码
易语言模块
易语言支持库
易官方支持库
第三方支持库
OCX控件库
辅助类支持库
支持2017link的改造库
易相关资源
易语言版本下载
易语言配色方案
编程辅助工具
编译链接器
易相关资料
电子书类
图文资料
开源大赛
2016开源大赛(第一届)
2017开源大赛(第二届)
2018开源大赛(第三届)
2019开源大赛(第四届)
2020开源大赛(第五届)
2021开源大赛(第六届)
2022开源大赛(第七届)
火山相关资源
火山版本下载
火山安卓源码
火山PC源码
其他资源
JavaScript
PHP
C++
HTML
uni-app
Java
Golang
C#
Delphi
全部
易语言源码
易语言模块
易语言支持库
易相关资源
易相关资料
开源大赛
火山相关资源
其他资源
当前位置:
易语言资源网
>
火山PC源码
>
帖子内容
火山视窗开发你最想知道的秘密 线程池 C++互通 64位内联汇编
[复制链接]
2022-03-05 10:26:49
火山PC源码
易语言资源网
5182
次浏览
来源链接
授人以鱼不如授人以渔
一,如何调用C++开发文档?
二,火山变量到和C++变量如何转换?
三,如何做到32位与64位通用?变整数,c++中又用什么表示?
四,什么是嵌入式方法,如何使用嵌入式方法。
五,重磅,64位如何写内联汇编?
六, 什么是结构体,如何取结构体指针?结构体中的文本型如何表示?
七,线程中如何用模板做为参数传参。
八,线程中,整数型、文本型、结构体,如何作为参数传入?
一,如何调用C++开发文档?
先记住这几个。其他参考官方文档。
1.1,
@begin
@end
嵌入C++代码 。
1.2,@sn<current_class>:所处类名。
1.3,<include></include>:声明头。
1.4,引入外部c++文件,(图1-1)
1.5,将c++方法前置内联声明。(图1-2)
二,火山变量到和C++变量如何转换?
2.1,火山到C内部,C内部到火山变量如何互交。例子如下:
2.11,火山整数->c++:int,
@
int i=(int)@<火山整数>,需不需要强制转视情况而定。
2.12,c++:int ->火山整数,
@
@<火山整数>=(@dt<整数>)i。
三,如何做到32位与64位通用?变整数,c++中又用什么表示?
下面只对整数型进行说明,其他类型参考整数型转换。
3.1,火山中:把整数类型全部改为变整数。传入C++。
3.2,C++中:用long long。
例如:
@ long long i=(long long)@<火山变整数>;
@ @<火山变整数>=(@dt<变整数>)i;
3.3,添加预处理代码。让编译器32位、64位分别走对应的路。
#ifdef _WIN32
#ifdef _WIN64
//64位代码放在这里
#endif
//32位代码放在这里
#endif
(图2-1)
四,什么是嵌入式方法,如何使用嵌入式方法直接调用C++写的类方法。
嵌入式方法可以理解为对函数的引用。
4.1,定义类变量。(图4-1)
4.2,取类变量,然后就可以直接调用c++写的类方法。(图4-2)
五,重磅,64位如何写内联汇编?
这个应该算是大部分人改写其他语言到火山碰到的棘手问题吧。
5.1,新建在c++工程新建ASM文件(新建文件,改后缀为.asm)。开始写内联汇编代码。.code开始,end结束。(图5-1)
5.2,右键asm文档,配置属性-常规-项类型为:自定义生成工具。(图5-2)(图5-3)
5.3,配置属性-自定义生成工具,配置编译:命令行,asm:ml64 /Fo $(IntDir)%(fileName).obj /c %(fileName).asm;输出:$(IntDir)%(fileName).obj;%(Outputs)(图5-4)
5.4,右键ASM文件。选择(ctrl+F7)编译。这样我们就等到了obj二进制目标文件。
5.5,打开VS控制台或VS工具菜单里面的程序包管理器控制台。cd切换到obj目录下,lib (fileName).obj,生成静态支持库lib。(图5-5)
5.6,c文档中引入调用汇编方法。(图5-6)
六, 什么是结构体,如何取结构体指针?结构体中的文本型如何表示?
6.1,新建类,定义为结构体,类属性:@视窗.结构类。
6.2,通过GetStruct取得类指针。
(图6-1)
七,线程中如何用模板做为参数传参。
7.1,线程传参2种方式,一种是嵌入C代码取指针:@ @<task>=(@dt<变整数>)@<多整数线程>;另一种可以用模板作为传参参数。(图7-1)
八,线程中,整数型、文本型、结构体,如何作为参数传入?
8.1,提供线程池使用实例源码供大家参考。源码在下面下载。(图8-1)
点我下载
(已有
104
次下载)
[错误报告]
上一篇:火山HP二次封装HTTP服务端...
下一篇:Sunny网络中间件火山PC模块...
本栏最新
1
线程调用火山DLL无限创建窗口
2
呵呵仙_分享一个可以扩展为一点点读入文件,算md5的方法
3
火山精易模块V2.4 发布【2023.09.29】
4
火山_全局类_参数
5
【火山视窗】微软Hook (Detours Hook)
6
呵呵仙_用火山构建易语言文本型,字节集变量用于交换变量
7
udis86反汇编库
8
任务栏透明火山源码例子
9
【火山视窗】超级列表框扩展类
10
火山PC源码 集成HOOK 64位 以及很多东西 钩子注入等 lua
本栏最热
1
精易模块 for 火山PC【2022.7.2】
2
火山PC和易语言的对比,开源“拨码开关计算器”
3
火山精易模块V2.4 发布【2023.09.29】
4
【炫彩 - 未闻花名UI】登录+单卡密登录+后台窗口
5
BASS音频支持库(完整封装、附播放器和录音机例子)
6
开源近大半年自己封的大量功能和模块
7
火山精易模块V2.3 发布【2023.01.01】
8
火山精易皮肤模块【2020.11.12】
9
EXDUI4.1最新版本
10
火山PC 超级HOOK源码 自己封装 开源给不会的人
栏目标签