|
本帖最后由 meng9934 于 2022-2-23 14:12 编辑
授人以鱼不如授人以渔
一,如何调用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)
火山PC交流群:705880235 PS:99.9%的时间不在,剩下的0.1在搬砖。
来自群组: 热心网友 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|