估计阅读时长: 9 分钟因为一种单一的编程语言并不会覆盖到所有的适用场景的原因,在一个软件工程项目之中,采用多种语言进行混合编程是一种很常见的协作方式。例如,脚本化的语言,其非常适合于进行最顶层的应用开发,就像胶水一样用于将各种组件进行粘贴,但是脚本化的语言自身因为是基于其他的语言所构建,所以执行效率一般不会太好。对于底层组件,我们一般就会需要使用静态编译类型的非托管语言创建用于高性能数据处理的模块。对于这种需求的底层模块,我们一般可以采用C/C++/Rust来编写。 Order by Date Name Attachments rust • 162 kB • 191 click 2023年3月25日dyn-load • 67 […]
估计阅读时长: 6 分钟之前在阅读一个使用rust语言编写的contour tracing算法模块的源代码的时候,其中有一个向量的左旋以及右旋的操作。这个操作的具体的含义是和在算法中的轮廓边缘像素的读取方向有关:因为访问方向是一个二维平面的概念,但是在代码中我们只能够使用一个一维的数组的来存储这个二维的信息。所以在这段rust代码之中,作者很巧妙的使用了向量的左旋以及右旋操作来实现一维数组中对二维平面上的方位的访问操作。 Order by Date Name Attachments RotateVector • 30 kB • 245 click 2021年9月16日Full • […]
博客文章
June 2025
S M T W T F S
1234567
891011121314
15161718192021
22232425262728
2930  
  1. […] 在上面的工具调用消息数据结构中,我们可以清楚的看见有需要进行调用的工具名称,以及参数列表。当我们拿到这样子的调用信息后,就可以基于一定的规则找到需要执行的运行时中的函数来完成功能的实现。对于.NET平台上,我们一般是使用自定义属性加反射操作来解析相关的名称绑定结果。在.NET平台上对于这样子的一个根据调用信息来进行运行时解析和调用的方法,可以稍微参考《【Darwinism】Linux平台上的VisualBasic高性能并行计算应用的开发》的反射代码方法。 […]