完美者(wmzhe.com)网站以软件下载为基础,改版后的网站对功能性板块进行扩充,以期能够解决用户在软件使用过程中遇见的所有问题。网站新增了“软件百科”、“锦囊妙技”等频道,可以更好地对用户的软件使用全周期进行更加专业地服务。
pyexpander旨在作为一个强大和方便的宏处理基于Python的语言。pyexpander 是一个提供任意 Python 表达式的计算和执行 Python 代码而不是简单的宏替换的工具。Pyexpander 是图灵完成。
"锦囊妙技"栏目是聚合全网软件使用的技巧或者软件使用过程中各种问题的解答类文章,栏目设立伊始,小编欢迎各路软件大神朋友们踊跃投稿,在完美者平台分享大家的独门技巧。
本站文章素材来源于网络,大部分文章作者名称佚失,为了更利于用户阅读和使用,根据需要进行了重新排版和部分改编,本站收录文章只是以帮助用户解决实际问题为目的,如有版权问题请联系小编修改或删除,谢谢合作。
软件大小:93.44 KB
一、宏语言的释义:1、宏语言是一种强有力的工具语言,可以用来描述软件和解决软件移植等问题,用于书写宏指命和宏定义的表示法和规则。2、宏语言是一类编程语言,其全部或多数计算是由扩展宏完成的。宏语言并未在通用编程中广泛使用,但在文本处理程序中应用普遍。二、宏语言的相关概念:1、宏变量:通过将一段文本赋值给一个宏变量,从而可以很灵活的通过引用这个宏变量来达到使用这段文本的效果。宏变量的长度是由自身的文本长度决定的,而不是通过设定得到,所以宏变量的值是随着文本的长度而任意发生变化。宏变量包含的只是字符数据。宏变量分为用户自定义宏变量和自动宏变量。宏变量从使用范围上分还分为局部宏变量和全局宏变量。2、宏语句:宏语句与一般的程序设计的语句功能类似,只是在使用宏语句时的语法格式与其它编程语句有所差异。3、宏函数:宏函数是指由宏语句组成的实现某些特定功能的函数。大多数编程库提供了很多现成的宏函数,可以实现各种功能。宏函数的调用和用户定义的宏函数使用方法相同。三、使用宏的三个步骤:第一步:定义宏。在程序使用宏之前必须先定义宏。定义宏有如下两种方法:1、可以在源程序的开始处中定义。2、可以在宏库中定义宏。宏库汇集了由归档器创建的归档格式的文件。归档文件(宏库)中的每个成员可以包含一个宏定义且宏的名字与成员名相同。第二步:调用宏。用户定义了宏之后,在源程序中可以用宏的名字作助记符来调用宏。这就是宏调用。第三步:扩展宏。当源程序调用宏时,汇编器就扩展宏。在扩展时,汇编器通过变量将参量传递给宏参数,用宏定义代替宏调用语句,然后再汇编源程序代码。若为默认设置,宏扩展会在文件列表中输出。四、宏语言的功能包括:1、定义自己的宏和重新定义已存在的宏;2、简化较长的或复杂的汇编代码;3、访问归档器创建的宏库;4、处理一个宏中的字符串;⑤控制宏扩展列表。
是一种批量处理的称谓。计算机科学里的宏是一种抽象(Abstraction),它根据一系列预定义的规则替换一定的文本模式。“宏”这个词的使用暗示着将小命令或动作转化为一系列指令。计算机语言如C语言或 汇编语言有简单的宏系统,由编译器或汇编器的预处理器实现。C语言的宏预处理器的工作只是简单的文本搜索和替换,使用附加的文本处理语言如M4,C程序员可以获得更精巧的宏。在Objective-C语言源程序中,允许用一个标识符来表示一个字符串,称为宏,被定义为宏的标识符称为宏名。在编译预处理时,对程序中所有出现的宏名,都用宏定义中的字符串去替换,这称为宏替换或宏展开。宏定义是由源程序中的宏定义命令完成的,宏替换是由预处理程序自动完成的。在Objective-C语言中,宏分为有参数和无参数两种。扩展资料A类宏是用G65 Hxx P#xx Q#xx R#xx或G65 Hxx P#xx Qxx Rxx格式输入的,xx的意思就是数值,是以um级的量输入的,比如你输入100那就是0.1MM #xx就是变量号,变量号就是把数值代入到一个固定的地址中,固定的地址就是变量。一般OTD系有#0~#100~#149~#500~#531.关闭电源时变量#100~#149被初始化成“空”,而变量#500~#531保持数据。我们如果说#100=30那么现在#100地址内的数据就是30了。B类宏能完成某一功能的一系列指令像子程序那样存入存储器,用户可以设定M、S、T、G代码调用它们,使用时只需给出这个指令代码就能执行其功能,也可以像调用子程序一样使用。参考资料来源:百度百科――宏程序参考资料来源:百度百科――宏定义参考资料来源:百度百科――宏命令
word文档要支持宏运行需要满足以下条件:
简单来说:宏定义又称为宏代换、宏替换,简称“宏”。宏替换是C/C++的预处理中的一部分,在C++标准中有4条规则来定义替换。规则1:实参替换。本条规则描述带参数的宏的替换过程。对于宏定义中的形参,在替换列表中,如果不是作为#或##的操作数,那么将对应实参完全展开(相当于对实参进行求值),然后将替换列表中的形参替换掉.如果是#或##的操作数,那么不进行替换。规则2:多次扫描。在所有的形参替换为实参后,对结果进行再次扫描,如果发现还有可替换的宏,则进行替换,否则中止。规则3:递归替换抑制。如果在替换列表中发现当前正在展开的宏的名字,那么这里不进行替换.更进一步,在嵌套的替换过程中发现已经替换过的宏的名字,则不进行替换。规则4:递归预处理抑制。如果替换后的结果形成预处理指令,则不执行这条预处理指令。看几个C++标准中的例子:#define x 3#define f(a) f(x * (a))#undef x#define x 2#define g f#define z z[0]#define h g(~#define m(a) a(w)#define w 0,1#define t(a) af(y+1) + f(f(z)) % t(t(g)(0) + t)(1);g(x+(3,4)-w) | h 5) & m(f)^m(m);其结果分别是f(2 * (y+1)) + f(2 * (f(2 * (z[0])))) % f(2 * (0)) + t(1);f(2 * (2+(3,4)-0,1)) | f(2 * ( ~ 5)) & f(2 * (0,1))^m(0,1);对于第一个,主要在于t(t(g)(0) + t)(1)的展开。容易计算出最外层的t的实参是f(2 * (0)) + t,而作为t的参数传入时其中的t是正在被展开的宏,所以根据规则3,不对这个t进行处理,保持不变,得到f(2 * (0)) + t(1)。对于第二个,h 5)被替换为g(~5),应用规则2,被替换为f(2 * ( ~ 5))。而m(m)首先被替换为m(w),然后应用规则2再次进行替换,但是m已经是替换过的了,所以保持不变,只对w进行替换。#define str(s) # s#define xstr(s) str(s)#define debug(s, t) printf("x" # s "= %d, x" # t "= %s", \x ## s, x ## t)#define INCFILE(n) vers ## n /* from previous #include example */#define glue(a, b) a ## b#define xglue(a, b) glue(a, b)#define HIGHLOW "hello"#define LOW LOW ", world"debug(1, 2);fputs(str(strncmp("abc\0d", "abc", ’\4’) /* this goes away */== 0) str(: @\n), s);#include xstr(INCFILE(2).h)glue(HIGH, LOW);xglue(HIGH, LOW)其结果分别是printf("x" "1" "= %d, x" "2" "= %s", x1, x2);fputs("strncmp(\"abc\\0d\", \"abc\", ’\\4’) = = 0" ": @\n", s);#include "vers2.h""hello";"hello" ", world"关键是glue和xglue.对于glue(HIGH, LOW),首先有一个规则1的抑制,得到HIGHLOW;的结果,然后二次扫描,得到"hello";对于xglue(HIGH, LOW)没有抑制效果,所以对参数求值,分别得到HIGH和LOW ", world",即glue(HIGH, LOW ", world")。然后进行连接操作得到HIGHLOW ", world",最后再扫描一次得到"hello" ", world"如果考虑字符串的自然的连接,就可以得到"hello, world"了。扩展资料宏语言是一类编程语言,其全部或多数计算是由扩展宏完成的。宏语言并未在通用编程中广泛使用,但在文本处理程序中应用普遍。例如, C preprocessor C预处理器Internet Macros(iOpus) M4(如前所述,源于AT&T,捆绑于Unix)宏定义c程序提供的预处理功能之一。包括带参数的宏定义和不带参数的宏定义。具体是指用一个指定的标志符来进行简单的字符串替换或者进行阐述替换。形式为:#define标志符[(参数表)] 字符串宏名在上定义中的标志符被称为“宏名”。宏展开在c程序编译时将宏名替换成字符串的过程称为“宏展开”。宏语言是一类编程语言,其全部或多数计算是由扩展宏完成的。宏语言并未在通用编程中广泛使用, 但在文本处理程序中应用普遍。例如,C preprocessorC 预处理器Internet Macros(iOpus)M4(如前所述,源于AT&T,捆绑于Unix)参考资料来源:百度百科-宏