
openCL C
文章平均质量分 81
꧁白杨树下꧂
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
OpenCL C 6.15.20. 子组函数
对于sub_group_non_uniform_broadcast和sub_group_broadcast_first函数,泛型类型名称gentype可以是支持的内置标量数据类型char、uchar、short、ushort、int、uint、long、ulong、float、half[96]和double[97]之一。对于下面的函数,泛型类型名称gentype可能是支持的内置标量数据类型char、uchar、short、ushort、int、uint、long和ulong之一。对于add,标识值为0。翻译 2025-04-04 17:35:13 · 56 阅读 · 0 评论 -
OpenCL C 附录A:OpenCL的更改
v3.0.5OpenCL 3.0规范的第一个非临时版本是v3.0.5。v3.0.5与v3.0.5相比的更改:澄清了memory_scope_all_devices仅支持OpenCL C 3.0或更高版本。定义了ULP溢出宽大处理。删除了关于内核参数指针类型的一个令人困惑的短语。阐明了OpenCL C 3.0之前的功能测试宏的用法。阐明了可选核心功能和扩展之间的关系。弃用__OPENCL_C_VERSION__预定义宏,并澄清了不同版本OPENCL的宏的可能值。v3.0.6。翻译 2025-04-05 16:08:41 · 61 阅读 · 0 评论 -
OpenCL C 9.规范性引用文件
2.“ISO/IEC 9899:2011-信息技术-编程语言-C”,ISO/IEC 9899-2011-信息技术-程序语言-C。8.“IEC 61966-2-1:1999多媒体系统和设备-颜色测量和管理-第2-1部分:颜色管理-默认RGB颜色空间-sRGB”,IEC 61966-2-1:1999 | IEC。5.“图像通道顺序”在OpenCL规范的“图像格式描述符”部分(5.3.1.1)中定义,各个通道顺序在该规范的“支持的图像通道顺序值列表”表(5.6)中定义。翻译 2025-04-05 16:01:40 · 42 阅读 · 0 评论 -
OpenCL C 8.图像寻址和过滤
对于使用CL_SNORM_INT8和CL_SNORM_INT16图像通道数据类型创建的图像,read_imagef将通道值从8位或16位带符号整数转换为范围[-1.0f,1.0f]内的归一化浮点值。对于使用CL_UNORM_INT8和CL_UNORM_INT16图像通道数据类型创建的图像,read_imagef将通道值从8位或16位无符号整数转换为[0.0f,1.0f]范围内的归一化浮点值。如果使用四舍五入(_rte)以外的舍入模式,则依赖于实现的舍入模式与四舍五进模式产生的结果的绝对误差必须≤0.6。翻译 2025-04-05 15:55:43 · 66 阅读 · 0 评论 -
OpenCL C 7.OpenCL数值标准
例如,sin(±0)=±0应解释为sin(+0)为+0,sin(-0)为-0。对于[-2-10,2-10]之外的x,派生实现可以实现为(exp(x)-exp(-x))/(exp。对于x>0,派生实现可以实现为atan(y/x),对于x<0和y>0,可以实现为aan(y/x)+M_PI_F,对于x=0和y<0,可以实现成atan(y/x)-M_PI_F。如果x是介于两个有限连续浮点数a和b之间的实数,且不等于其中之一,则ulp(x)=|b-a|,否则ulp(x)是最接近x的两个不相等的有限浮点数之间的距离。翻译 2025-04-04 20:31:45 · 60 阅读 · 0 评论 -
OpenCL C 6.15.21. 内核时钟函数
clock_read_work_group和clock_read_hilo_work_goup函数需要支持__opencl_c_kernel_clock_scope_work_group功能。clock_read_sub_group和clock_read_hilo_sub_group函数需要支持__opencl_c_kernel_clock_scope_sub_group功能。clock_read_device和clock_read_hilo_device函数需要支持。返回计算单元看到的时钟采样值。翻译 2025-04-04 17:34:56 · 184 阅读 · 0 评论 -
OpenCL™ C 6.15.19. 排队内核
对入队内核B的入队内核调用在event_wait_list参数中指定了与内核A关联的事件,即等待内核A完成执行,然后内核B才能开始执行。如果确实需要执行新的nd范围工作,则evaluate_dp_work_A将为dp_func_A的新实例排队。是指使用enqueue_kernel或enqueue_marker排队到设备队列的任何内核的事件,或者是由create_user_event创建的用户事件,则clRetainEvent和clReleaseEvent将返回CL_INVALID_OPERATION。翻译 2025-03-30 19:47:13 · 45 阅读 · 0 评论 -
OpenCL™ C 6.15.18. 管道功能
对于给定的保留ID,调用带有保留ID的read_pipe和带有保留ID和commit_write_pipe的commit_read_pipe或write_pipe必须由使用reserve_read_pipes或reserve_write_pipes进行保留的同一内核调用。内核使用已提交的保留ID调用read_pipe或write_pipe(即,已调用具有此保留ID的commit_read_pipe或者commit_write_pipe)。工作组所做的基于工作组的预订在管道中的顺序与在程序中的顺序相同。翻译 2025-03-26 10:10:34 · 43 阅读 · 0 评论 -
OpenCL™ C 6.15.17. 工作组共有统一算术函数
返回包容性扫描操作的结果,该结果是工作组线性本地ID小于或等于此工作项的工作组线性局部ID的工作组中所有工作项的谓词的逻辑和、或或异或。返回包容性扫描操作的结果,即工作组线性本地ID小于或等于此工作项的工作组线性局部ID的工作组中所有工作项的按位和、或、异或值。返回独占扫描操作的结果,即工作组线性本地ID小于此工作项的工作组线性局部ID的工作组中所有工作项的按位和、或、异或值。返回独占扫描操作的结果,该操作是工作组中所有工作项的值与小于此工作项的工作组线性本地ID的工作组的线性本地ID相乘。翻译 2025-03-26 09:14:48 · 41 阅读 · 0 评论 -
OpenCL™ C 6.15.16. 工作组共有函数
an-1],并返回[I,a0,(a0 op a1),…类型上操作的work_group_reduce_<op>、work_group_scan_inclusive_<op]和work_group_sican_exexclusive_<op>内置函数,浮点运算的顺序不能得到保证。work_group_reduce_<op>、work_group_scan_exclusive_<op>和work_group_scan_inclusive_<op>中的<op>定义了运算符,可以是add、min或max。翻译 2025-03-23 19:07:28 · 39 阅读 · 0 评论 -
OpenCL™ C 6.15.15. 图像读写函数
The built-in functions defined in this section can only be used with image memory objects. An image memory object can be accessed by specific function calls that read from and/or write to specific locations in the image.本节中定义的内置函数只能用于图像内存对象。可以通过从图像中的特定位置读取翻译 2025-03-22 20:20:12 · 53 阅读 · 0 评论 -
OpenCL™ C 6.15.14. printf
根据转换的值和精度,表示浮点数的double、halfn、floatn或doublen参数以f或e的样式转换(或者在G转换说明符的情况下以F或E的样式转换)。如果精度缺失,则取6;一种可选精度,它给出d、i、o、u、x和X转换出现的最小位数,a、A、e、E、f和F转换小数点字符后出现的位数,g和G转换的最大有效位数,或s转换要写入的最大字节数。0对于d、i、o、u、x、X、a、A、e、E、f、F、g和G转换,前导零(在任何符号或基数指示之后)用于填充字段宽度,而不是执行空格填充,除非转换无穷大或NaN。翻译 2025-03-18 10:45:13 · 76 阅读 · 0 评论 -
OpenCL™ C 6.15.13. 其他矢量函数
除非另有说明,否则我们使用泛型类型名称gentypen(或gentypem)来表示内置数据类型charn、ucharn、shortn、ushortn、intn、uintn、longn[70]、ulongn、halfn[71]、floatn或doublen[72]作为参数的类型。shuffle和shuffle2内置函数分别从一个或两个相同类型的输入矢量中构造元素的置换,返回一个与输入元素类型相同、长度与shuffle掩码相同的矢量。掩码中每个元素的大小必须与结果中的每个元素的尺寸相匹配。翻译 2025-03-17 09:59:40 · 48 阅读 · 0 评论 -
OpenCL™ C 6.15.12. 原子函数
此外,还有不属于同步操作的宽松原子操作,以及具有特殊特性的原子读修改写操作。和给定操作数指向的值的计算结果。枚举类型memory_scope指定memory_order给出的内存排序约束是否适用于子组中的工作项、工作组中的任务项,或来自在设备上或跨设备执行的一个或多个内核的任务项(在共享虚拟内存的情况下)。将memory_order_acq_rel与除atomic_work_item_fence之外的任何内置原子函数一起使用,需要支持OpenCL C 2.0、OpenCL C 3.0或更高版本以及。翻译 2025-03-16 19:22:42 · 66 阅读 · 0 评论 -
OpenCL™ C 6.15.11. 从全局到本地内存、从本地到全局内存和预取的异步复制
,排列在num_planes平面中。在每一行传输之后,src地址由src_total_line_length元素(即src_tota_line_length*num_bytes_perelement字节)递增,而dst地址由dst_total_lines_length*num_bytes _per_ence字节递增,用于下一行传输。如果src_total_plane_area小于(num_lines*src_total_line_length),或者dst_total_plane_area小于(翻译 2025-03-14 10:20:01 · 60 阅读 · 0 评论 -
OpenCL™ C 6.15.10. 地址空间限定符函数
本节介绍内置函数,用于安全地将指向通用地址空间的指针转换为指向命名地址空间的指向,并查询指向通用地址区域的指针的相应围栏标志。如果to_private可以将ptr转换为私有地址空间,则返回一个指向私有地址空间中某个区域的指针。如果to_global可以将ptr转换为全局地址空间,则返回一个指向全局地址空间中某个区域的指针。如果to_local可以将ptr转换为本地地址空间,则返回一个指向本地地址空间中某个区域的指针。表23 内置地址空间限定符函数。返回ptr的有效内存围栏值。翻译 2025-03-14 09:37:06 · 56 阅读 · 0 评论 -
OpenCL™ C 6.15.9. 传统显式内存围栏函数
命令加载和存储执行内核的工作项。这意味着mem_fence之前的加载和存储将在mem_fence之后的任何加载和存储之前提交到内存中。OpenCL C编程语言实现了以下显式内存围栏函数,以提供工作项内存操作之间的排序。本小节中描述的内存围栏函数已被OpenCL C 2.0弃用。工作组中的所有工作项的标志值必须相同。工作组中的所有工作项的标志值必须相同。工作组中的所有工作项的标志值必须相同。表22 内置显式内存围栏函数。读取仅命令加载的内存屏障。只存储命令的写入内存屏障。翻译 2025-03-14 09:31:53 · 52 阅读 · 0 评论 -
OpenCL™ C 6.15.8. 同步函数
如果sub_group_barrier位于条件语句中,则如果子组中的任何工作项进入条件语句并执行sub_group_baarrier,则子组中所有工作项都必须输入条件语句。对于这些函数,如果子组中的任何工作项遇到sub_group_barrier,则子组中所有工作项都必须遇到该障碍,然后才能允许任何工作项在障碍之外继续执行。如果sub_group_barrier在循环内,则如果任何工作项在循环的每次迭代中执行屏障,则子组中的所有工作项都必须在该迭代中执行该屏障。下表描述了同步工作组中工作项的内置函数。翻译 2025-03-13 10:16:33 · 49 阅读 · 0 评论 -
OpenCL™ C 6.15.7. 矢量数据加载和存储功能
如果从中读取或写入的地址没有按照内置矢量数据加载和存储函数中的描述正确对齐,则矢量数据加载与存储函数的结果是未定义的。返回sizeof(gentypen)字节的数据,其中第一个(n*sizeof(gentype))字节是从计算为(p+(offset*n))的地址读取的。如果gentype是char或uchar,则计算的地址必须是8位对齐的;将数据给出的n*sizeof(gentype)字节写入计算为(p+(offset*n))的地址。值的n*sizeof(半)字节写入计算为(p+(偏移*n))的地址。翻译 2025-03-13 09:50:06 · 39 阅读 · 0 评论 -
OpenCL™ C 6.15.6. 关系函数
参数类型gentype指的是以下内置类型:char、charn、uchar、ucharn、short、shortn、ushort、ushortn、int、intn、uint、uintn、long[54]、longn、ulong、ulongn、float、floatn、double[55]和doublen。参数类型ugentype是指内置的无符号整数类型,即uchar、ucharn、ushort、ushortn、uint、uintn、ulong和ulongn。返回(x<y)||(x>y)的分量比较。翻译 2025-03-12 10:01:34 · 49 阅读 · 0 评论 -
OpenCL™ C 6.15.5. 几何函数
对于具有gentype*参数的函数的任何特定使用,所有参数和返回类型的实际类型必须相同,除非它们被明确指定为实际类型。3.如果设备处于“非均方根值清零”模式,则幅度小于sqrt(FLT_MIN)的单个操作数元素可能会在继续计算之前清零。返回p0.xyz和p1.xyz的叉积。返回的float4结果的w分量将为0.0。返回一个与p方向相同但长度为1的矢量。1.如果平方和大于FLT_MAX,则结果向量中浮点值的值未定义。返回矢量p的长度,即√p.x2+p.y2+返回一个与p方向相同但长度为1的矢量。翻译 2025-03-12 09:42:30 · 39 阅读 · 0 评论 -
OpenCL™ C 6.15.4. 常用函数
如果x<=edge0,则返回0.0;如果x<0,返回-1.0。如果x是NaN,则返回0.0。返回fmin(fmax(x,minval),maxval)。如果edge0>=edge1,或者x、edge0或edge1是NaN,则结果未定义。如果x<y,则返回y,否则返回x。如果x或y为无穷大或NaN,则返回值未定义。如果y<x,则返回y,否则返回x。如果x或y为无穷大或NaN,则返回值未定义。如果_a_不在[0.0,1.0]范围内,则返回值未定义。如果x<edge,则返回0.0,否则返回1.0。翻译 2025-03-12 09:32:01 · 42 阅读 · 0 评论 -
OpenCL™ C 6.15.3. 整数函数
在下表中,泛型类型名称gentype是指内置的整数类型char、charn、uchar、ucharn、short、shortn、ushort、ushortn、int、intn、uint、uintn、long、longn、ulong和ulongn。我们使用泛型类型名称gentype来表示函数可以接受int、int2、int3、int4、int8、int16、uint、uint2、uint3、uint4、uint8或uint16作为参数的类型。如果x为0,则返回x类型或x分量类型的大小(如果x是矢量)。翻译 2025-03-11 10:09:08 · 43 阅读 · 0 评论 -
OpenCL™ C 6.15.2. 数学函数
remquo函数计算值r,使r=x-k*y,其中k是最接近x/y精确值的整数。remquo函数计算值r,使r=x-k*y,其中k是最接近x/y精确值的整数。remquo函数计算值r,使r=x-k*y,其中k是最接近x/y精确值的整数。对于每个分量,返回的尾数是一个double值,其幅度在[1/2,1)或0的区间内。对于每个分量,返回的尾数是一个float,其大小在[1/2,1)或0的区间内。如果x<y,则返回y,否则返回x。计算值r,使r=x-n*y,其中n是最接近x/y精确值的整数。翻译 2025-03-10 11:26:01 · 80 阅读 · 0 评论 -
OpenCL™ C 6.15.1. 工作项函数
如果内核以非均匀的工作组大小执行(即指定给clEnqueueNDRangeKernel的global_work_size值不能被任何维度的local_work_size值整除),则某些工作组对此内置的调用可能会返回与其他工作组对此内建的调用不同的值。对于二维工作组,其计算公式为(get_global_id(1)-get_global_offset(1))*get_global_size(0)+(get_global_id(0)-get_global_offset)。返回当前子组中唯一的工作项ID。翻译 2025-03-09 17:49:03 · 60 阅读 · 0 评论 -
OpenCL™ C 6.15. 内置函数
用户定义的OpenCL C函数按照C99规范第6.9.1节中定义的函数的C标准规则运行。在进入函数时,评估每个可变修改参数的大小,并根据通常的算术转换规则将每个参数表达式的值转换为相应参数的类型。本节中描述的内置函数的行为类似,除了为了避免同一内置函数的多种形式之间的歧义,不应发生隐式标量加宽。请注意,本节中描述的一些内置函数确实具有对混合标量和矢量类型进行操作的形式。其中许多函数与常见C库中提供的函数名相似,但它们支持标量和矢量参数类型。应用程序应尽可能使用内置函数,而不是编写自己的版本。翻译 2025-03-09 17:10:37 · 75 阅读 · 0 评论 -
OpenCL™ C 6.14. 块
在复合语句范围内使用的变量以正常方式绑定到块,但自动(堆栈)存储中的变量除外。与函数类型一样,块类型是由结果值类型和与函数类型非常相似的参数类型列表组成的一对。块的使用方式与函数非常相似,关键区别在于,除了可执行代码外,它们还包含各种与自动(堆栈)或全局内存的变量绑定。块变量保存对块的引用。通过为编译器提供一组完整的元数据来验证块的使用、传递给块的参数和返回值的分配,块被设计为完全类型安全。块文本表达式可能出现在块文本表达式(嵌套)中,任何嵌套块捕获的所有变量也隐式地捕获在其封闭块的范围内。翻译 2025-03-08 18:48:50 · 35 阅读 · 0 评论 -
OpenCL™ C 6.13.6. 扩展属性限定符
属性旨在作为编译器的有用提示。我们的意图是,OpenCL的特定实现可以自由地忽略所有属性,并且生成的可执行二进制文件将产生相同的结果。这并不妨碍实现利用属性提供的额外信息,并执行其认为合适的优化或其他转换。在这种情况下,程序员有责任保证提供的信息在某种意义上是正确的。属性语法可以扩展为标准语言扩展和特定于供应商的扩展。任何扩展都应遵循OpenCL 2.0扩展规范第9节介绍中概述的命名约定。翻译 2025-03-08 18:09:58 · 34 阅读 · 0 评论 -
OpenCL™ C 6.13.5. 指定展开循环的属性
属性限定符可用于指定可以展开循环(for、while和do循环)。此属性限定符可用于指定按指定数量完全展开或部分展开。这是一个编译器提示,编译器可能会忽略此指令。n是循环展开因子,必须是正积分编译时常数表达式。展开系数为1时禁用展开。如果未指定n,编译器将确定循环的展开因子。上述示例是循环展开因子的无效使用,因为循环展开因子为负。上述示例无效,因为循环展开因子不是编译时常数表达式。上述示例无效,因为展开属性限定符用于非循环构造。在上面的示例中,编译器将确定展开循环的程度。上面是一个不应展开循环的示例。翻译 2025-03-08 17:21:35 · 44 阅读 · 0 评论 -
OpenCL™ C 6.13.4. 指定块和控制流语句的属性
这里,attr1应用于大括号中的块,attr2和attr3分别应用于循环的控制构造和主体。当前未定义块和控制流语句的属性限定符。翻译 2025-03-08 17:11:53 · 26 阅读 · 0 评论 -
OpenCL™ C 6.13.3. 指定变量的属性
endiantype可以设置为host,表示变量使用主机处理器的字节序,也可以设置为device,表示变量将使用内核将在其上执行的设备的字节序。每当在对齐的属性规范中省略对齐因子时,OpenCL编译器都会自动将声明的变量或字段的对齐设置为正在编译的目标设备上任何数据类型所使用的最大对齐。打包属性指定变量或结构体字段应具有尽可能小的对齐方式——变量为一个字节,除非使用对齐属性指定了一个更大的值。放置在用户定义类型开头的属性列表应用于该类型的变量,而不是该类型,而类型主体后面的属性应用于该类别。翻译 2025-03-08 15:35:39 · 40 阅读 · 0 评论 -
OpenCL™ C 6.13.2. 指定函数的属性
有关当前支持的函数属性限定符,请参阅函数限定符。翻译 2025-03-08 15:16:48 · 40 阅读 · 0 评论 -
OpenCL™ C 6.13.1. 指定类型的属性
请注意,ISO C标准要求任何给定结构体或共用体类型的对齐至少是所讨论结构体或共用体的所有成员的对齐的最低公倍数的完美倍数,并且还必须是2的幂。这意味着可以通过将对齐的属性附加到此类类型的任何一个成员来有效地调整结构体或共用体类型的对齐方式,但上例中所示的符号是一种更明显、直观和可读的方式,可以请求编译器调整整个结构体或共用体型的对齐方式。有关更多信息,请参阅特定于平台的文档。无论何时在对齐的属性规范中省略对齐因子,编译器都会自动将类型的对齐设置为正在编译的目标计算机上任何数据类型所使用的最大对齐。翻译 2025-03-08 15:14:54 · 57 阅读 · 0 评论 -
OpenCL™ C 6.13. 属性限定符
一般来说,对于给定的上下文,属性如何绑定的规则是不平凡的,读者可以参考GCC的文档以及Maurer和Wong的论文[见16。详见第11节-参考文献]。本节描述__attribute__可以使用的语法,以及属性说明符绑定到的构造。翻译 2025-03-08 14:40:48 · 45 阅读 · 0 评论 -
OpenCL™ C 6.12. 预处理器指令和宏
如果未指定-cl-std构建选项,则在为每个设备编译程序时,将使用每个设备支持的最高OpenCL C 1.x语言版本作为OpenCL C的版本。对于OpenCL版本小于或等于OpenCL 2.0的OpenCL设备,替换一个反映设备支持的OpenCL版本的整数值。对于OpenCL版本大于OpenCL 2.0的OpenCL设备,必须定义它,但可以替换任何大于200的实现定义的整数值,反映OpenCL 2.0。在OpenCL C 3.0或更新版本中,有许多可选的预定义宏指示可选的语言功能。翻译 2025-03-07 11:23:17 · 51 阅读 · 0 评论 -
OpenCL™ C 6.11. 限制
h.除非在OpenCL规范中定义,否则C99标准标头assert.h、ctype.h、complex.h、errno.h、fenv.h、float.h、inttypes.h、limits.h、locale.h、setjmp.h、signal.h、stdarg.h、stdio.h、stdlib.h、string.h、tgmath.h、time.h、wchar.h和wctype.h中定义的库函数、宏、类型和常量不可用,也不能被程序包含在内。在内核函数的非最外层作用域中声明的采样器变量的行为是由实现定义的。翻译 2025-03-06 10:29:27 · 57 阅读 · 0 评论 -
OpenCL™ C 6.10. 存储类规范
extern存储类说明符只能用于程序作用域中声明的函数(内核和非内核函数)和全局变量或函数内声明的变量(内核和无内核函数)。静态存储类说明符只能用于非内核函数、在程序作用域中声明的全局变量以及在全局或常量地址空间中声明的函数内的变量。支持typedef存储类说明符。支持外部和静态存储类说明符,但需要支持OpenCL C 1.2或更高版本。不支持自动和寄存器存储类说明符。翻译 2025-03-06 09:37:34 · 41 阅读 · 0 评论 -
OpenCL™ C 6.9. 函数限定符
(这意味着__kernel函数中的大多数操作都是使用float4显式矢量化的),并且内核是使用Intel®Advanced Vector Instructions(Intel®AVX)运行的,该指令实现了一个8浮点宽的矢量单元,自动矢量化器可能会选择将两个工作项合并到一个线程中,在256位AVX寄存器的上半部分运行第二个工作项。如果出于资源利用的考虑或对2的可分割性的偏好,它得出结论认为这些是更好的选择,它也可能选择合并4或8个工作项(或其他一些数字)。一起使用,以声明有关内核函数的其他信息,如下所述。翻译 2025-03-05 16:09:49 · 41 阅读 · 0 评论 -
OpenCL™ C 6.8. 访问限定符
_read_only(或read_only)访问限定符指定映像对象仅由内核或函数读取。__read_write(或read_write)访问限定符指定映像对象可以由内核或函数读取或写入。内置的无采样器读取图像和写入图像可以与用__read_write(或read_write)限定符声明的图像一起使用。对使用__read_write(或read_write)限定符声明的图像采样器从图像中读取的内置程序的调用将是编译错误。__read_only、__write_only和__read_write、翻译 2025-03-05 13:53:13 · 41 阅读 · 0 评论 -
OpenCL™ C 6.7.9. 地址空间转换
在没有显式强制转换的情况下,将指向全局、本地和私有地址空间的指针分配给指向未命名通用地址空间的指示器是合法的。在没有强制转换的情况下,将指向未命名通用地址空间的指针分配给指向命名地址空间的指示器也是不合法的。指向未命名通用地址空间的指针可以指向全局、本地和私有地址空间中的对象,但指向未命名的通用地址的指针指向常量地址空间的对象是不合法的。根据嵌入式C规范第5.3节,只有当原始指针指向由目标指针指向的地址空间中包含的地址空间限定的对象时,才允许隐式转换指针,即在赋值、函数参数、操作中。这是一个典型的例子。翻译 2025-03-05 10:18:52 · 46 阅读 · 0 评论