python中re.sub和re.compile是啥意思呀 (python怎么读)

本文目录导航:

python中re.sub和re.compile是啥意思呀?

Python中的re模块提供了正则表达式相关的功能,其中和是两个常用的方法。

python中re.sub和re.compile是啥意思呀 (python怎么读)

方法:用于替换字符串中的某些内容。

其基本用法是:在字符串中找到正则表达式匹配的所有子串,然后用指定的新字符串替换这些子串。

这个函数可以指定替换的次数和是否替换全部匹配的子串。

在复杂的文本处理任务中,方法非常有用。

例如,它可以用来删除文本中的特定字符或字符串,也可以用来进行内容替换。

函数的基本格式为。

其中pattern是正则表达式的模式对象,repl是用于替换的字符串或函数,string是要处理的原始字符串,count是可选参数,表示替换的次数。

如果不指定count,则会替换所有匹配项。

方法:用于编译一个正则表达式字符串为一个模式对象。

这样,这个模式对象可以在后续的代码中多次使用,提高了正则表达式的执行效率。

使用方法可以避免多次解析正则表达式字符串带来的性能损失。

当正则表达式的使用非常频繁时,这种方法特别有用。

例如,你可以通过来预编译一个正则表达式模式,然后在一个循环中使用这个预编译的模式对象来进行匹配或替换操作。

这种方式能提高程序执行效率,特别是当正则表达式的复杂度较高时。

具体到代码示例中,假设我们有一个包含多个数字的长字符串,我们可以使用来编译一个匹配数字的表达式,然后用这个表达式去提取或替换数字。

接着我们可以用方法将数字替换为特定的符号或其他字符串。

在实际编程中,和往往结合起来使用,以实现对文本的高效处理和分析。

这些功能都是Python的re模块提供强大的正则表达式处理能力的关键组成部分。

如何开始使用适用于 Windows 的 Metal Developer Tools

随着macOS Sonoma的发布,Apple还更新了当前版本的Metal开发人员工具,以便在Windows中使用。

以下是获取和使用它们的方法。

Metal 是 Apple 的?macOS?图形框架。

Metal 允许您使用 Apple 针对所有 Apple 设备优化的图形引擎创建丰富、高性能的 2D 和 3D 图形。

当 Metal 在 Apple 设备上运行时,您还可以使用 Microsoft Windows 作为平台来创建用于 Metal 的资源、图像、着色器和纹理。

Apple在其开发人员工具网站上有两个Metal for Windows下载:Metal Developer Tools 4.0 for Windows和Metal Shader Converter for Windows。

您可以通过在线登录您的Apple开发人员帐户来下载两者。

获取工具要下载适用于 Windows 的 Metal 开发人员工具,请登录您的 Apple 开发人员帐户,转到 Web 浏览器中的“下载”页面,然后向下滚动到?Windows 版 Metal 开发人员工具:单击“显示详细信息”箭头,然后单击 Metal Developer Tools 4.0 和?Metal Developer Tools 4.0 将它们下载到计算机的存储中。

接下来,向下滚动到适用于 Windows 的金属着色器转换器并单击?显示详细信息?箭头,然后单击 适用于 Windows 的金属着色器转换器 和 适用于 Windows 的金属着色器转换器将它们下载到您的计算机存储中:下载适用于Windows的金属着色器转换器。

安装将所有下载的项目移动到新文件夹中。

您现在应该有四个项目。

在安装之前,您可能需要通读这两个 PDF 文件:下载的视窗工具。

接下来,如果您在?Mac?上下载了文件,请插入兼容 Windows 的 USB 拇指驱动器或其他磁盘,然后将四个项目复制到其中。

你将使用拇指驱动器将文件复制到 Windows 10 或 11 计算机。

复制完成后,将 USB 驱动器插入 Windows 计算机并将四个文件复制过来。

运行这两个安装程序文件以在 Windows 计算机上安装这些工具。

正如 Metal Developer Tools for Windows PDF 所述:“默认情况下,软件包将安装到 .安装时,您会发现:%PROGRAMFILES%\Metal Developer Toolsbin包含纹理转换器工具。

include包含 AppleTextureConverter 库的标头。

lib包含 AppleTextureConverter 库。

metal\ios包含面向?iOS?和?tvOS?时要使用的工具集。

包含面向 macOS 时要使用的工具集。

metal\macosMetal 开发人员工具应与您计划针对您的版本的操作系统 SDK 版本相匹配。

它还指出,除了 GUI 安装之外,安装程序还可以支持命令行安装,如下所示:Metal Developer /S /D=C:\Users\My Name\Sandbox\Tools使用工具安装后,您可以使用这些工具将 Windows 计算机上的着色器和资产转换为 Metal 使用的格式。

第一个工具,将Windows创建的纹理转换为Metal接受的GPU压缩纹理格式。

要查看 的详细信息和运行选项,请键入 --h进入 Windows 中的命令提示符,然后按?Return?或?Enter?键。

如开发人员说明所示,要合并到您自己的 Windows 纹理工具中,请使用提供的 AppleTextureConverter 库,并阅读头文件以获取更多信息。

TextureConverterAppleTextureConverter.h还包括一些工具,用于使用 Apple Metal 着色语言将图形和计算着色器从 Windows 编译到 Metal Library 对象中。

Windows 工具没有提供有关如何执行此操作的说明,因此您需要阅读 Apple 在线 Metal 文档的文档金属区域的着色器库部分中的着色器库部分中的通过预编译源文件构建着色器库。

实际上,您将使用这些工具从Windows DXIL格式转到中间格式,然后转到可以加载到Xcode中并在运行时从应用程序运行的和文件。

从文档中:“金属编译器工具将每个着色器源文件转换为中间表示文件。

然后,metallib 和 metal-ar 工具将中间表示文件分别编译为库和二进制存档”。

如文档所述,适用于Windows的Metal命令行工具使用与macOS对应工具相同的选项和参数。

金属着色器转换器安装的另一个Windows工具是Windows的Metal Shader Converter。

该工具将LLVM IR字节码形式的中间表示转换为适合加载到Metal中的字节码。

LLVM是Xcode在项目编译过程中使用的开源编译器基础设施。

您可以在该站点的位码页面上阅读有关LLVM的更多信息??和字节码格式(LLVM称之为“位码”)。

字节码格式也包含在PACKT?Publishing的LLVM Cookbook一书中。

金属着色器转换器既是独立工具,也是库,您可以根据需要将其合并到自己的工具中。

另请参阅提供的头文件 。

metal_irconverter_runtime.h适用于 Windows 的 Metal Shader Converter 需要 Microsoft Windows 10 或更高版本,以及 Microsoft Visual Studio 2019 或更高版本。

使用 Metal Shader Converter for Windows 构建的库仅适用于 macOS 14 Sonoma 和?iOS 17。

如果它们是为早期操作系统版本构建的,则某些功能可能不可用。

运行金属着色器转换器Windows Metal Shader Converter 的第一个也是最简单的用途是将 Windows DirectX DXIL(DirectX Intermediate Language)着色器转换为 Metal 着色器库。

这可以使用命令行工具完成。

metal-shaderconverter例如:metal-shaderconverter -o ./您可以通过在命令提示符下运行来获取有关 Windows 的详细信息。

metal-shaderconvertermetal-shaderconverter --help金属着色器转换器库还有一个动态代码库(dylib),它适用于C,C++,Objective-C和Swift项目,允许您使用提供的类将DXIL转换为Metal。

libmetalirconverterIRCompiler这种转换代码相当简单,金属着色器转换器 PDF 中提供了小于一页的示例代码。

实质上,要使用提供的类,首先创建对象的实例,设置入口点名称,使用该类将 DXIL 对象转换为 IR 对象,使用该函数将其编译为 Metal,然后检查输出。

IRCompilerIRObjectIRCompilerAllocCompileAndLink()提供的?IRMetalLibBinary 类允许您加载和操作编译的 Metal 对象。

相当长的三十页 Windows PDF 的 Metal Shader 编译器提供了许多其他选项,可用于从 Windows 转换为 Apple Metal,包括顶点属性、采样器状态对象、参数缓冲区、光线追踪等。

还有关于实现最佳金属性能的技巧,以及处理复杂着色器管线(包括几何体和曲面细分)的技巧。

该 PDF 还建议查看 Metal 示例代码页面上的 Apple 的 Metal?示例代码项目“C++学习 Metal”。

其他资源如果你不知道C++,你会想先从一本关于C的简单经典书籍开始,比如Brian Kernighan和已故的Dennis Ritchie的权威C书The C Programming Language,他们都在1970年代在贝尔实验室编写了C语言,以创建UNIX操作系统。

C++由Bjarne Stroustrup创建,基于C,但提供面向对象(OOP)功能,如类,对象,标准模板库(STL)和其他现代功能。

Stroustrup的文本The C++ Programming Language 4th Edition是必读的。

Stroustrup还有一个网站,还有一些有用的C++书籍和教程。

一年一度的C++会议,CppCon每年1月举行今年6月日至日在科罗拉多州奥罗拉举行,CppCon还有一个YouTube频道,里面有很多很棒的C++教程。

C++在1994年开始流行,当时基于过程的语言(如C)的局限性变得明显。

C 语言有几种标准,包括 C99、C11、C14、C17 和 C22。

APRESS有一些关于每个标准的好书。

您可以在 Xcode 的构建设置面板中设置 Xcode 编译器使用哪些标准。

1989年,NeXT团队在NeXT Computer创建了Objective-C,这是一种基于C的类似OOP语言,但它具有其他优点,例如动态链接和对象内省。

当苹果在1997年收购NeXT时,它还收购了包括Objective-C在内的所有NeXT技术。

一本关于Objective-C的权威书籍是Big Nerd Ranch的Objective-C编程:The Big Nerd Ranch Guide。

还值得注意的是,一些第三方3D标准也有一些要求,其中许多是基于Windows DirectX / Direct3D DXIL标准的。

例如,Steam具有必须满足的某些DirectX要求因此,如果您要同时发布到Steam和Apple平台,则需要了解这些要求。

Steam 有一个页面详细介绍了要求。

Microsoft在GitHub上托管DirectXShaderCompiler存储库和Wiki。

Microsoft在GitHub上的DirectX-Specs和DirectXTK6存储库中还有一个DirectX-Specs页面和DirectX Shader Model 12。

Windows DXIL调试和调整PIX工具也可用。

Microsoft还有一个DirectX开发人员博客。

最后,NVIDIA有一个基于Windows的DirectX调试工具,称为Nsight Graphics,如果你愿意面对相当复杂的文档。

苹果在macOS Sonoma中添加了Windows Metal工具,这意味着现在可以更轻松地将现有的游戏图形管道移植到Metal,以便它们可以在Apple平台上以最佳方式运行。

随着时间的推移,我们可以期待苹果改进其Metal工具,使跨平台游戏开发变得不那么痛苦。

选择题:由C++源程序文件编译而成的目标文件的默认扩展名为( )。A)cpp B)exe C)obj D)lik

由C++源程序文件编译而成的目标文件的默认扩展名为:obj。

在VC6.0集成开发环境下,用户可以使用编译(compile)命令将一个为扩展名的C++源程序文件转换成一个以为扩展名的目标文件。

编译,编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成可执行程序。

扩展资料

源代码-->预处理-->编译-->优化-->汇编-->链接-->可执行文件

编译过程就是把预处理完的文件进行一系列的词法分析,语法分析,语义分析及优化后生成相应的汇编代码。

现在版本的GCC把预处理和编译两个步骤合成一个步骤,用cc1工具来完成。

gcc其实是后台程序的一些包装,根据不同参数去调用其他的实际处理程序,比如:预编译编译程序cc1、汇编器as、连接器。

编译器在编译时是以c/c++文件为单位进行的, 如果项目中没有c/c++文件,那么你的项目将无法编译。

经过预编译得到的输出文件中,将只有常量。

如数字、字符串、变量的定义,以及C语言的关键字,如main,if,else,for,while,{,},+,-,*,\,等等。

编译程序所要作得工作就是通过词法分析和语法分析,在确认所有的指令都符合语法规则之后,将其翻译成等价的中间代码表示或汇编代码。

你可能想看:
« 上一篇
下一篇 »

相关推荐

php实时推送,php实地培训

2026年10月05日

48阅读

php乱码出现问号的原因,php乱码出现问号的原因有哪些

2026年10月05日

40阅读

php一句话木马,一句话木马ctf

2026年10月05日

43阅读

php获取数组长度,php中如何获取数组的长度

2026年10月05日

43阅读

php面试题库及答案,php程序员面试真题库

2026年10月05日

42阅读

phpcontent-type修改,php源码二次修改需要多少钱

2026年10月05日

38阅读