文档库 最新最全的文档下载
当前位置:文档库 › MDK-ARM armcc编译器——预定义宏

MDK-ARM armcc编译器——预定义宏

MDK-ARM armcc编译器——预定义宏
MDK-ARM armcc编译器——预定义宏

Predefined macros

This topic documents the predefined macros of the ARM compiler.

Table 28 lists the macro names predefined by the ARM compiler for C and C++. Where the value field is empty, the symbol is only defined.

Table 28. Predefined macros

Name Value When defined

__arm__-Always defined for the ARM compiler, even

when you specify the --thumb option.

See also __ARMCC_VERSION.

__ARMCC_VERSION ver Always defined. It is a decimal number, and is

guaranteed to increase between releases. The

format is PVVbbbb where:

?P is the major version

?VV is the minor version

?bbbb is the build number.

Note

Use this macro to distinguish between ARM

Compiler 4.1 or later, and other tools that

define __arm__.

__APCS_INTERWORK-When you specify the --apcs /interwork

option or set the CPU architecture to ARMv5T

or later.

__APCS_ROPI-When you specify the --apcs /ropi option.

__APCS_RWPI-When you specify the --apcs /rwpi option.

__APCS_FPIC-When you specify the --apcs /fpic option.

__ARRAY_OPERATORS-In C++ compiler mode, to specify that array

new and delete are enabled.

__BASE_FILE__name Always defined. Similar to __FILE__, but

indicates the primary source file rather than

the current one (that is, when the current file

is an included file).

__BIG_ENDIAN-If compiling for a big-endian target.

_BOOL-In C++ compiler mode, to specify that bool is

a keyword.

__cplusplus-In C++ compiler mode.

__CC_ARM1Always set to 1 for the ARM compiler, even

when you specify the --thumb option.

__DATE__date Always defined.

__EDG__-Always defined.

__EDG_IMPLICIT_USING_STD-In C++ mode when you specify the --

using_std option.

__EDG_VERSION__-Always set to an integer value that represents

the version number of the Edison Design Group

(EDG) front-end. For example, version 3.8 is

represented as 308.

The version number of the EDG front-end does

not necessarily match the version number of

the ARM compiler toolchain.

__EXCEPTIONS1In C++ mode when you specify the --

exceptions option.

__FEATURE_SIGNED_CHAR-When you specify the --signed_chars option

(used by CHAR_MIN and CHAR_MAX).

__FILE__name Always defined as a string literal.

__FP_FAST-When you specify the --fpmode=fast option. __FP_FENV_EXCEPTIONS-When you specify the --fpmode=ieee_full or

--fpmode=ieee_fixed options.

__FP_FENV_ROUNDING-When you specify the --fpmode=ieee_full

option.

__FP_IEEE-When you specify the --fpmode=ieee_full, --

fpmode=ieee_fixed, or --

fpmode=ieee_no_fenv options.

__FP_INEXACT_EXCEPTION-When you specify the --fpmode=ieee_full

option.

__IMPLICIT_INCLUDE-When you specify the --implicit_include

option.

__LINE__num Always set. It is the source line number of the

line of code containing this macro.

__MODULE__mod Contains the filename part of the value of

__FILE__.

__MULTIFILE-When you explicitly or implicitly use the --

multifile option.[a]

__OPTIMISE_LEVEL num Always set to 2 by default, unless you change

the optimization level using the -Onum option.

[a]

__OPTIMISE_SPACE-When you specify the -Ospace option.

__OPTIMISE_TIME-When you specify the -Otime option.

__PLACEMENT_DELETE-In C++ mode to specify that placement delete

(that is, an operator delete corresponding to a

placement operator new, to be called if the

constructor throws an exception) is enabled.

This is only relevant when using exceptions.

__RTTI-In C++ mode when RTTI is enabled.

__sizeof_int4For sizeof(int), but available in preprocessor

expressions.

__sizeof_long4For sizeof(long), but available in

preprocessor expressions.

__sizeof_ptr4For sizeof(void *), but available in

preprocessor expressions.

__SOFTFP__-If compiling to use the software floating-point

calling standard and library. Set when you

specify the --fpu=softvfp option for ARM or

Thumb, or when you specify --

fpu=softvfp+vfpv2 for Thumb.

__STDC__-In all compiler modes.

__STDC_VERSION__-Standard version information.

__STRICT_ANSI__-When you specify the --strict option.

__SUPPORT_SNAN__-Support for signalling NaNs when you specify -

-fpmode=ieee_fixed or --fpmode=ieee_full. __TARGET_ARCH_ARM num The number of the ARM base architecture of

the target CPU irrespective of whether the

compiler is compiling for ARM or Thumb. For

possible values of __TARGET_ARCH_ARM in

relation to the ARM architecture versions, see

Table 29.

__TARGET_ARCH_THUMB num The number of the Thumb base architecture of

the target CPU irrespective of whether the

compiler is compiling for ARM or Thumb. The

value is defined as zero if the target does not

support Thumb. For possible values of

__TARGET_ARCH_THUMB in relation to the ARM

architecture versions, see Table 29.

__TARGET_ARCH_XX-XX represents the target architecture and its

value depends on the target architecture. For

example, if you specify the compiler options --

cpu=4T or --cpu=ARM7TDMI then

__TARGET_ARCH_4T is defined.

__TARGET_CPU_XX-XX represents the target CPU. The value of XX

is derived from the --cpu compiler option, or

the default if none is specified. For example, if

you specify the compiler option --cpu=ARM7TM

then __TARGET_CPU_ARM7TM is defined and no

other symbol starting with __TARGET_CPU_ is

defined.

If you specify the target architecture, then

__TARGET_CPU_generic is defined.

If the CPU name specified with --cpu is in

lowercase, it is converted to uppercase. For

example, --cpu=Cortex-R4 results in

__TARGET_CPU_CORTEX_R4 being defined

(rather than __TARGET_CPU_Cortex_R4).

If the processor name contains hyphen (-)

characters, these are mapped to an underscore

(_). For example, --cpu=ARM1136JF-S is

mapped to __TARGET_CPU_ARM1136JF_S.

__TARGET_FEATURE_DOUBLEWORD-ARMv5T and above.

__TARGET_FEATURE_DSPMUL-If the DSP-enhanced multiplier is available, for

example ARMv5TE.

__TARGET_FEATURE_MULTIPLY-If the target architecture supports the long

multiply instructions MULL and MULAL.

__TARGET_FEATURE_DIVIDE-If the target architecture supports the

hardware divide instruction (that is, ARMv7-M

or ARMv7-R).

__TARGET_FEATURE_THUMB-If the target architecture supports Thumb,

ARMv4T or later.

__TARGET_FPU_xx-One of the following is set to indicate the FPU

usage:

?__TARGET_FPU_NONE

?__TARGET_FPU_VFP

?__TARGET_FPU_SOFTVFP

In addition, if compiling with one of the

following --fpu options, the corresponding

target name is set:

?--fpu=softvfp+vfpv2,

__TARGET_FPU_SOFTVFP_VFPV2

?--fpu=softvfp+vfpv3,

__TARGET_FPU_SOFTVFP_VFPV3

?--fpu=softvfp+vfpv3_fp16,

__TARGET_FPU_SOFTVFP_VFPV3_FP16

?--fpu=softvfp+vfpv3_d16,

__TARGET_FPU_SOFTVFP_VFPV3_D16

?--fpu=softvfp+vfpv3_d16_fp16,

__TARGET_FPU_SOFTVFP_VFPV3_D16_FP16

?--fpu=vfpv2, __TARGET_FPU_VFPV2

?--fpu=vfpv3, __TARGET_FPU_VFPV3

?--fpu=vfpv3_fp16,

__TARGET_FPU_VFPV3_FP16

?--fpu=vfpv3_d16,

__TARGET_FPU_VFPV3_D16

?--fpu=vfpv3_d16_fp16,

__TARGET_FPU_VFPV3_D16_FP16

?--fpu=vfpv4, __TARGET_FPU_VFPV4

?--fpu=vfpv4_d16,

__TARGET_FPU_VFPV4_D16

See --fpu=name for more information.

__TARGET_PROFILE_R When you specify the --cpu=7-R option.

__TARGET_PROFILE_M When you specify any of the following options:

?--cpu=6-M

?--cpu=6S-M

?--cpu=7-M

__thumb__-When the compiler is in Thumb state. That is,

you have either specified the --thumb option

on the command-line or #pragma thumb in

your source code.

Note

?The compiler might generate some ARM

code even if it is compiling for Thumb.

?__thumb and __thumb__ become defined

or undefined when using #pragma thumb

or #pragma arm, but do not change in

cases where Thumb functions are

generated as ARM code for other reasons

Table 29 shows the possible values for __TARGET_ARCH_THUMB (see Table 28), and how these values relate to versions of the ARM architecture.

Table 29. Thumb architecture versions in relation to ARM architecture versions

Built-in function name variables .

Copyright ? Keil, An ARM Company. All rights reserved.

(for example, a function specified as __irq ).

__TIME__time Always defined.

_WCHAR_T

-

In C++ mode, to specify that wchar_t is a keyword.

[a ]

ARM recommends that if you have source code reliant on the __OPTIMISE_LEVEL macro to determine whether or not --multifile is in effect, you change to using __MULTIFILE .

ARM architecture __TARGET_ARCH_ARM __TARGET_ARCH_THUMB v440v4T

41v5T, v5TE, v5TEJ 52v6, v6K, v6Z 63v6T264v6-M, v6S-M 03v7-R

74v7-M, v7E-M

4

魔兽世界宏命令的编写教程(学习资料)

调出宏命令的编辑窗口有两种方式: 1.在聊天栏输入/MACRO后回车。 2.按ESC调出系统菜单选择【宏命令设置】 看见了吧? 弹出一个窗口,上面有【新建】和【退出】两个按钮。点【新建】,又会弹出一个窗口。五颜六色的图标包括了WOW几乎所有的技能图片,随便选一个你喜欢的,它就是你设置的宏命令的图标了,给它取个名字吧!方便你用的时候好找。然后回到第一个窗口,它的下半部分是一个输入栏(别说找不到…),在里面输入宏的内容,然后点【退出】。 我们以牧师为例:选中牧师“复活术”的图标,在名称处填写‘复活’。返回到第一个窗口在输入栏中输入下面的命令: /me 开始施放复活术 /me 的复活术被%t抵抗 /me 开始变得愤怒了 /me 获得了狂暴效果 /me 施放皮鞭失败:%t对此免疫 /me 施放辣椒水失败:%t爱吃川菜 /me 开始施放色诱术(空格,空格…….)%t 复活了! /施放复活术(等级1) PS:一定要注意%t是在英文输入下输入的。中文输入法下是全角模式不被系统接收。HOHO~ 接下来你要做的就是把这个代表你宏命令的图标用鼠标左键拉到快捷栏里,可以设定热键来使用,也可以用鼠标点击。反正是想怎么用就怎么用…,使用方式和普通技能相同 最后留给大家一个思考题,在上面的例子中,“/me”、“%t”“/施放”都是什么作用,牧师职业的玩家可以自行制作后观看效果,可以更改文字,以加强抓狂效果:非牧师职业可以找牧师借鉴。牧师就是好!就是好! 宏命令的初级教程(上) 有了前两章的基础,大家对魔兽世界的宏命令应该有了一定的认识。下面我将对宏命令做出更加详细的介绍, 魔兽世界的宏命令大概有几千个,在初级教程里面将讲解最常用的命令,实现的功能也相对简单。有些人在此时可能在想编写一个宏可以完成一套攻击动作,如“换武器――施法――换回武器”等等。这确实是一套连续动作,不过能实现这套动作的叫外挂而不是宏,魔兽的宏不支持带有冷却时间的技能连续使用,因此那些想要自动完成某套动作的玩家你们的白日梦可以醒醒了。^_^ 我这样说是不是会很打击大家的信心啊?好了。我们赶快开始。举个例子先:网上一个很经典的宏例子 /Kneel /say 如果你不嫁给我,那么我就一辈子不起来…” 这样你的人物就会先下跪再说:"如果你不嫁给我,那么我就一辈子不起来…" 在这里用到两个宏命令/Kneel和/say,宏命令是不分大小写的。/kneel是个下跪的动作,/say 后面的文字会以普通对话的形式在游戏中表现出来。我们可以变化一下。 /Kneel /y 如果你不嫁给我,那么我就一辈子不起来…”

c语言基础教程第六章预处理功能和类型定义

第六章预处理功能和类型定义 6. 1 预处理功能概述 本节主要讲述预处理功能的特点。 预处理功能是由很多预处理命令组成,这些命令将在编译时进行通常的编译功能〔包含词法和语法分析、代码生成、优化等〕之前进行处理,故称为"预处理".预处理后的结果和源程序一起再进行通常的编译操作,进而得到目标代码。 预处理功能主要包括如下三种;宏定义、文件包含和条件编译。 这些功能是通过相应的宏定义命令、文件包含命令和条件编译命令来实现。这些命令不同于C语言的语句,因为它们具有如下的特点: (1)多数预处理命令只是一种替代的功能,这种替代是简单的替换,而不进行语法检查。 (2)预处理命令都是在通常的编译之前进行的,编译时已经执行完了预处理命令,即对预处理后的结果进行编译,这时进行词法和语法分析等通常的程序编译。 (3)预处理命令后面不加分号,这也是在形式_七与语句的区别。 (4)为了使预处理命令与一般C语言语句相区别,凡是预处理命令都以井号("#")开头。 (5)多数预处理命令根据它的功能而被放在文件开头为宜,但是根据需要,也可以放到文件的其他位置。不要产生错觉,好像所有的预处理命令都必须放在文件开头。 学习和掌握预处理功能时,应该了解它的上述规定,以便正确地使用和理解这些预处理命令。 6.2.1 简单宏定义 1.简单宏定义的格式和功能 简单宏定义的格式如下: #define<标识符)(字符串} 其中,define是关键字,它表示该命令为宏定义,悦标识符)是宏名,它的写法同标识符。<字符串>用来表示<标识符>所代表的字符串。 简单宏定义是定义一个标识符(宏名)来代表一个字符串。 前面讲过的符号常量就是用这种简单宏定义来实现的。例如: #define PI 3.14159265 这是一条宏定义的命令,它的作用是用指定的标识符PI来代替字符串"3.14159265".在程序中出现的是PI,在编译前预处理时,将所有的PI都用"3. 14159265"来代替,即使用宏名来代替指定的字符串。这一过程又称为"宏替换"或称为"宏展开". [例6.1] 给出半径求圆的面积。 执行该程序,出现如下信息: #dfine PI 3.14159265 main ( ) { fioat r, s, Printf("Input radius;") scanf(""%f',&r); A=PI *r*r Printf(:a=%.4f\n:,a); } 执行该程序,出现如下信息:

第十五讲 宏定义

第十五讲宏定义、文件包含和条件编译 ?C语言提供的预处理功能主要有三种: 宏定义 文件包含 条件编译 ?为了区别预处理命令和C语句、定义和说明语句,规定: 预处理命令行必须在一行的开头; 必须以#开始; 每行末尾不能加分号。 1、宏定义 宏定义 1.1不带参数的宏定义 不带参数的宏定义命令形式为: #define 宏名字符串 或#define 宏名 #define的作用是用指定的标识符(宏名)来代表字符串。其中#define是宏定义命令,宏名是一个标识符。 【例】输入一个圆的半径,计算并输出圆的面积和周长 #define PI 3.14159 main( ) {float l,s,r; /*l:周长,s:面积,r:半径*/ printf("Please input radius: "); scanf("%f",&r); /*输入半径*/ l=2.0*r*PI; /*计算周长*/ s=PI*r*r; /*计算面积*/ printf("l=%10.4f\ns=%10.4f\n",l,s); } 说明: 为了与变量名区别,建议宏名一般用大写字母。使用宏名代替一个 字符串,目的一是减少程序中某些重复使用字符串的书写量,其二 是增加程序的可读性。在编译预处理过程中会进行宏展开。 当宏定义在一行中写不下,需要在下一行继续时,只需在最后一个 字符后紧接一个反斜线“\”。注意在第二行开始不要有空格,否则空 格会一起被替换。 例如:#define LEAP_YEAR year % 4==0\ && year %100!=0 || year % 400==0 在C语言中,宏定义一般写在程序开头。宏名的有效范围为定义命 令之后到本源文件结束,除非用#undef命令终止宏名的作用域。 对程序中用双引号括起来的字符串内的子串和用户标识符中的成分 不做替换。例如已定义: 同一个宏名不能重复定义,除非两个宏定义命令行完全一致。 1.2带参数的宏定义 形参表中的不同形参之间用逗号隔开,字符串中包含形参表中的参数,带参

宏定义的作用

宏定义的作用 宏定义是C提供的三种预处理功能的其中一种,这三种预处理包括:宏定义、文件包含、 条件编译 编辑本段1.不带参数的宏定义: 宏定义又称为宏代换、宏替换,简称“宏”。 格式: #define 标识符字符串 其中的标识符就是所谓的符号常量,也称为“宏名”。 预处理(预编译)工作也叫做宏展开:将宏名替换为字符串。 掌握"宏"概念的关键是“换”。一切以换为前提、做任何事情之前先要换,准确理解之前就要 “换”。 即在对相关命令或语句的含义和功能作具体分析之前就要换: 例: #define PI 3.1415926 把程序中出现的PI全部换成3.1415926 说明: (1)宏名一般用大写 (2)使用宏可提高程序的通用性和易读性,减少不一致性,减少输入错误和便于修改。例 如:数组大小常用宏定义 (3)预处理是在编译之前的处理,而编译工作的任务之一就是语法检查,预处理不做语法 检查。 (4)宏定义末尾不加分号; (5)宏定义写在函数的花括号外边,作用域为其后的程序,通常在文件的最开头。 (6)可以用#undef命令终止宏定义的作用域 (7)宏定义可以嵌套 (8)字符串" "中永远不包含宏 (9)宏定义不分配内存,变量定义分配内存。 编辑本段2.带参数的宏定义: 除了一般的字符串替换,还要做参数代换 格式: #define 宏名(参数表)字符串 例如:#define S(a,b) a*b area=S(3,2);第一步被换为area=a*b; ,第二步被换为area=3*2; 类似于函数调用,有一个哑实结合的过程: (1)实参如果是表达式容易出问题 #define S(r) r*r area=S(a+b);第一步换为area=r*r;,第二步被换为area=a+b*a+b; 正确的宏定义是#define S(r) ((r)*(r)) (2)宏名和参数的括号间不能有空格 (3)宏替换只作替换,不做计算,不做表达式求解 (4)函数调用在编译后程序运行时进行,并且分配内存。宏替换在编译前进行,不分配内 存 (5)宏的哑实结合不存在类型,也没有类型转换。

C预定义宏讲解

作用:对于__FILE__,__LINE__,__func__这样的宏,在调试程序时是很有用的,因为你可以很容易的知道程序运行到了哪个文件的那一行,是哪个函数。 下面一个例子是打印上面这些预定义的宏的。 __DATE__,__FILE__,__LINE__,__TIME__,__FUNCTION__ C标准中指定了一些预定义的宏,对于编程经常会用到。下面这个表中就是一些常常用到的预定义宏。 __DATE_ %s_ 进行预处理的日期(“Mmm dd yyyy”形式的字符串文字) __FILE__ %s 代表当前源代码文件名的字符串文字 __LINE__ %d 代表当前源代码中的行号的整数常量 __TIME__ %s 源文件编译时间,格式微“hh:mm:ss” __FUNCTION__(__fucn__ %s 当前所在函数名 #include

#include void why_me(; int main( { printf( "The file is %s.\n", __FILE__ ; printf( "The date is %s.\n", __DATE__ ; printf( "The time is %s.\n", __TIME__ ; printf( "This is line %d.\n", __LINE__ ; printf( "This function is %s.\n", __FUNCTION__ ; why_me(; return 0; } void why_me( { printf( "This function is %s\n", __func__ ; printf( "The file is %s.\n", __FILE__ ;

战士技能讲解

[3.35PVP] [3.35PVE] 作为一个战士你真的了解你的技能和天赋么?(持续更新完善) 作为一个选择了战士这个荣耀的职业的你来说不管是副本输出、抗怪还是战场、JJC杀敌 除了装备那么另一个要素就是我们战士自身的技能和天赋,但是你认真的看过技能or天赋说明了么?深究过某个技能or天赋的作用机制和隐藏属性了么? 我发此贴的目的在于为战士新手们科普知识,为老战士们提供一些思路和技巧。精华帖里的经典理论和结论我就不重复了 所写技能或者天赋是没顺序的,想起来啥写啥 之前看了这个帖子[https://www.wendangku.net/doc/a02986344.html,/read.php?tid=4181992&_ff=181&page=e#a]那么就先从武器天赋里的横扫说起吧。 先看一下天赋说明, 基础知识:30秒使用一次,消耗30怒气,效果在消耗完5次后结束,可以在战斗姿态和狂暴姿态下释放,不占GCD,横扫雕文可以使其不消耗怒气 进阶知识:横扫效果是把对当前目标所造成的伤害(包括近战和英勇投掷的伤害)复制到你近战范围内(不管是在你面前还是背后)最近的一个目标身上, 被横扫目标受到的伤害计算护甲,横扫可以复制主目标的暴击伤害但是横扫伤害不能暴击 研究知识:很多人都不明白在剑刃风暴的时候横扫是怎样作用的,在这里说一下,大家都知道剑刃风暴实际上是每一秒发生一次旋风斩 对于剑刃风暴和旋风斩来说横扫的机制发生了变化即:剑刃风暴和旋风斩所造成的暴击伤害无法被复制 即使此次剑刃风暴暴击,那么横扫造成的伤害也只是按照此次伤害不发生暴击来计算 但是剑刃风暴期间造成的平砍暴击伤害可以被复制 补充:斩杀造成的暴击不能被复制!感谢9楼 看这两张图能很好的理解 这两张图是打2只80级木桩,由于木桩护甲相同,便于计算 还有一个特性就是不论有多少目标剑刃风暴每转一次只消耗一次横扫,剑刃风暴当中的平砍伤害也消耗横扫 刚刚发现的重要理论:剑刃风暴的时候如果附近有多个目标,不管你选择的目标是谁,那么横扫伤害只会 打在你周围等级最高的那个目标身上,如果等级一样呢?抱歉这个没测出来(猜测如果等级一样是随机选择目标横扫)

C语言题库第7章宏定义与预处理

第七章宏定义与预处理一.单项选择 1. 以下程序的运行结果是( D )。 #include #define ADD(x) x+x int main ( ) { int m=1,n=2,k=3,sum ; sum = ADD(m+n)*k ; printf(“%d\n”,sum) ; return 0; } A.18 B.9 C.12 D.10 2. 以下程序的运行结果是( C )。 #include #define MIN(x,y) (x)>(y) ? (x) : (y) int main ( ) { int i=10, j=15 , k; k = 10*MIN(i,j); printf(“%d\n”,k); return 0; } A.15 B.100 C.10 D.150 3. 以下程序的运行结果是( A )。 #include #define X 5 #define Y X+1 #define Z Y*X/2 int main ( ) { int a=Y; printf(“%d\n”,Z); printf(“%d\n”,--a); return 0; }

A.75 B.125 C.76 D.126 4. 以下程序的运行结果是( C )。 #include #define DOUBLE(r) r*r int main ( ) { int x=1,y=2,t; t = DOUBLE(x+y) ; printf (“%d\n”,t); return 0; } A.7 B.6 C.5 D.8 5. 在“文件包含”预处理命令形式中,当#include后面的文件名用””(双引号)括起时,寻找被包含文件的方式是( C )。 A.仅仅搜索源程序所在目录 B.直接按系统设定的标准方式搜索目录 C.先在源程序所在目录中搜索,再按系统设定的标准方式搜索 D.仅仅搜索当前目录 6. 若有定义 #define N 2 #define Y(n) ((N+1)*n) 则执行语句z=2*(N+Y(5));后,z的值为( C )。 A.无确定值 B.语句有错误 C.34 D.70 7. 若有定义#define MOD(x,y) x%y,则执行下面语句后的输出为( A )。 int z,a=15; float b=100; z=MOD(b,a); printf(“%d\n”,z++); A.有语法错误 B.11 C.10 D.6 8. 在任何情况下计算平方数都不会引起二义性的宏定义是( B ) A.#define POWER(x) (x)*(x) B.#define POWER(x) ((x)*(x))

MDK-ARMarmcc编译器――预定义宏(精)

Predefined macros This topic documents the predefined macros of the ARM compiler. lists the macro names predefined by the ARM compiler for C and C++. Where the value field is empty, the symbol is only defined. Table 28. Predefined macros Name __arm__ Value When defined-Always defined for the ARM compiler, even when you specify the --thumb option. See also __ARMCC_VERSION. __ARMCC_VERSION ver Always defined. It is a decimal number, and is guaranteed to increase between releases. The format is PVVbbbb where: ??? P is the major version VV is the minor version bbbb is the build number. Note Use this macro to distinguish between ARM Compiler 4.1 or later, and other tools that define __arm__. __APCS_INTERWORK -When you specify the --apcs /interwork option or set the CPU architecture to ARMv5T or later.

换姿态战士宏

换姿态战士宏 一、1键实现3姿态间的切换 首先,菜单里选择按键设置,把8号快捷键的键位设置2,设为Q 然后,打开技能书,在战斗姿态下,把“狂暴姿态”图标拖到8那格去 切换狂暴姿态,在狂暴姿态下,把“战斗姿态”图标拖到8那格去最后鼠标点一下切换防御姿态,把“狂暴姿态”图标拖到8那格去 这样,在战斗姿态或者防御姿态按一下Q,都能切成狂暴姿态。而在狂暴姿态按一下Q,就能切回战斗姿态。如果要在切姿态的同时换武器,把姿态的图标换成以下宏: 1、从任意姿态任意武器切换到战斗姿态+双手武器 /script P=PickupInventoryItem;PC=PickupContainerItem;oi=(GetInve ntoryItemLink("player",17));if(oi)then oi=(GetContainerItemLink(4,15));if(oi)then P(17);PC(4,7);else P(17);PC(4,15);end;P(16);PC(4,11);end

/施放战斗姿态 2、从任意姿态任意武器切换到防御姿态+主手武器+盾牌 /script P=PickupInventoryItem;C=PickupContainerItem;oi=(GetInve ntoryItemLink("player",17));if(oi)then oi=(GetContainerItemLink(4,15));if(oi)then P(17);C(4,7);C(4,15);AutoEquipCursorItem();end;else C(4,11);P(16);C(4,15);P(17);end /施放防御姿态 3、从任意姿态任意武器切换到狂暴姿态+双持武器 /script P=PickupInventoryItem;PC=PickupContainerItem;oi=(GetInve ntoryItemLink("player",17));if(oi)then oi=(GetContainerItemLink(4,7));if(oi)then

C宏定义

C/C++中宏使用总结 .C/C++中宏总结C程序的源代码中可包括各种编译指令,这些指令称为预处理命令。虽然它们实际上不是C语言的一部分,但却扩展了C程 序设计的环境。本节将介绍如何应用预处理程序和注释简化程序开发过程,并提高程序的可读性。ANSI标准定义的C语言预处理程序包括下列命令: #define,#error,#i nclude,#if,#else,#elif,#endif,#ifdef,#ifndef,#undef,#line,#pragma等。非常明显,所有预处理命令均以符号#开头,下面分别加以介绍。 1、#define 命令#define定义了一个标识符及一个串。在源程序中每次遇到该标识符时,均以定义的串代换它。ANSI标准将标识符定义为宏名,将替换过程称为宏 替换。命令的一般形式为: #define identifier string 注意: ? 该语句没有分号。在标识符和串之间可以有任意个空格,串一旦开始,仅由一新行结束。 ? 宏名定义后,即可成为其它宏名定义中的一部分。 ? 宏替换仅仅是以文本串代替宏标识符,前提是宏标识符必须独立的识别出来,否则不进行替换。例如:#define XYZ this is a test,使用宏printf("XYZ");//该段不打印"this is a test"而打印"XYZ"。因为预编译器识 别出的是"XYZ" ? 如果串长于一行,可以在该行末尾用一反斜杠' \'续行。

2、#error 处理器命令#error强迫编译程序停止编译,主要用于程序调试。 3、#i nclude 命令#i nclude使编译程序将另一源文件嵌入带有#i nclude的源文件,被读入的源文件必须用双引号或尖括号括起来。例如: #i nclude"stdio.h"或者#i nclude 这两行代码均使用C编译程序读入并编译用于处理磁盘文件库的子程序。 将文件嵌入#i nclude命令中的文件内是可行的,这种方式称为嵌套的嵌入文件,嵌套层次依赖于具体实现。 如果显式路径名为文件标识符的一部分,则仅在哪些子目录中搜索被嵌入文件。否则,如果文件名用双引号括起来,则首先检索当前工作目录。如果未发现文件, 则在命令行中说明的所有目录中搜索。如果仍未发现文件,则搜索实现时定义的标准目录。 如果没有显式路径名且文件名被尖括号括起来,则首先在编译命令行中的目录内检索。 如果文件没找到,则检索标准目录,不检索当前工作目录。 4、条件编译命令 有几个命令可对程序源代码的各部分有选择地进行编译,该过程称为条件编译。商业软件公司广泛应用条件编译来提供和维护某一程序的许多顾客版本。 #if、#else,#elif及#endif

[C_C++] 显示各种C_C++编译器的预定义宏(C11标准、C++11标准、VC、BCB、Intel、GCC)

[C/C++] 显示各种C/C++编译器的预定义宏(C11标准、C++11标准、VC、BCB、Intel、GCC)在编写跨平台的程序时,我们经常使用预定义宏来检测编译环境。虽然编译器的手册中有预处理宏的介绍,但是不够详细,而且还有很多宏没有介绍。于是,我编写了一个小程序,显示常见C/C++编译器的编译器的预定义宏。 一、心得 最直接的办法是逐个逐个的用#ifdef判断宏是否存在,然后再printf显示其内容。可是预定义宏有些是整数、有些是字符串,还有些是关键字不能直接用printf输出,用起来挺麻烦的。 在网上发现一种不错办法,出自《关于CPP的预定义宏:unix、linux、i386、i586,大家中过招吗?》4楼“太平绅士”—— #include #define PT_MAKE_STR(x) { #x, PT_MAKE_STR_ESC(x) } #define PT_MAKE_STR_ESC(x) #x typedef struct { const char *name; const char *value; } MACRO_T; /* Compilers */ const MACRO_T g_compilers[ ] = { #ifdef __INTEL_COMPILER /* Interl C++ */ PT_MAKE_STR( __INTEL_COMPILER ), #endif #ifdef _MSC_VER /* Visual C++ */ PT_MAKE_STR( _MSC_VER ), #endif #ifdef __GNUC__ /* GCC */ PT_MAKE_STR( __GNUC__ ), #endif #ifdef __DMC__ /* DMC++ */ PT_MAKE_STR( __DMC__ ), #endif #ifdef __ARMCC_VERSION /* ARM C/C++ */ PT_MAKE_STR( __ARMCC_VERSION ), #endif }; /* Operation system */ const MACRO_T g_platforms[ ] = { #ifdef _WIN32 /* Windows 32 or Windows 64 */ PT_MAKE_STR( _WIN32 ), #endif #ifdef _WIN64 /* Windows 64 */ PT_MAKE_STR( _WIN64 ), #endif #ifdef __MINGW32__ /* Windows32 by mingw compiler */ PT_MAKE_STR( __MINGW32__ ), #endif #ifdef __CYGWIN__ /* Cygwin */ PT_MAKE_STR( __CYGWIN__ ),

3 3 5战士关于PVP宏命令分享以及使用思路,

3.3.5战士关于PVP宏命令分享以及使用思路, 本文来源于NGACN,作者:horking 原文地址:https://www.wendangku.net/doc/a02986344.html,/read.php?tid=4163292转载请在文首保留此行。 #showtooltip 联盟勋章 /cast [combat]联盟勋章;[combat]血性狂暴;法术反射 /cast [@mouseover]冲锋;[@mouseover]援护;冲锋 /cast [@水元素,harm]嘲讽;[@xxx石像鬼,harm]嘲讽;嘲讽 /cast [@mouseover,equipped:双手武器]拦截;[equipped:双手武器]拦截 /cast [equipped:盾牌]盾牌猛击;致死打击 /startattack ——法术反射根据个人习惯可以删减 战斗状态下使用徽章 / 装备盾牌时盾反 / 鼠标指向援护 / 装备双手武器、且在狂暴姿态时优先鼠标指向拦截,无鼠标指向则拦截当前目标 / 在战斗姿态时优先冲锋鼠标指向目标,无鼠标指向则冲锋目标 / 近身后根据当前武器,判断致死还是盾猛看起来很复杂或者无脑,其实是根据实践得出的。 让我们来分析下: 在中了暗怒、肾击、深结、制裁,这种昏迷技能后,无论是在什么场合,即将到来的是一波急火或控制,如果你发现对面目标都是你,你这时打算使用徽章,目的无非是: 1、破坏某个目标参与急火 2、回避掉这次急火的一部分伤害 如果你选择破坏目标的进攻,那么你此时的目标选择一定是敌方目标——此时你的手段有: A 徽章接盾反(如果你预判目标会给你控制技能前,提前装备了剑盾) B 徽章接冲锋或拦截打断施法(鼠标指向距离允许的目标冲锋或拦截,由于冲锋和拦截都没有GCD,所以同时可以接任意技能如——致死/拳击/风车/破胆/震荡波) 适用情况举例:怒气较为充足情况下,中水元素冰环吃深结瞬间徽章接冲锋(拦截)+致死,卡法师GCD打出致死,法师来不及闪现,法师盾破或手动冰环你或闪现,你则接风车或选择切姿态拦截或冲锋都可以。 C 徽章接嘲讽(或援护)反控(场面上有宠物时,如果你在防御姿态下则直接嘲讽宠物,来对羊、魅惑、盲进行反控,注:有失败几率,因为很多人给宠物设置了被动攻击) 适用情况:作为“站”士,这种情况很多.... 如果你选择回避掉这次急火的一部分伤害——此时你的手段有 D 徽章接援护,龟柱子

宏微观名词解释重点

1.第16章:交换经济:两个或多个消费者之间交换两种商品的市场。 2.帕累托有效配置:一种商品配置,指一个人的境况无法在其他人的境况不变坏的情况下 编号。 3.第18章:外部性:是指一个经济活动的主体对他所处的经济环境的影响。外部性的影 响会造成私人成本和社会成本之间,或私人收益之间的不一致,因此容易造成市场失灵。 4.纠正市场失灵的办法:污染是外部性导致市场失灵的一般例子。它可以通过排污标准, 排污费,可转让排污许可证或者通过鼓励再生利用得到纠正。在成本和收益都存在不确定性时,这些机制的选择,取决于边际社会成本和边际收益曲线的形状。 5.产权:规定个人或企业可以对他们的财产行使权力的法律规则。P609-612 6.科斯定理:在交易费用为零时,只要产权初始界定清晰,并允许经济当事人进行谈判交 易,就可以导致资源的有效配置。科斯定理在于说明,只要假设条件成立,市场势力就足够大,从而外部性问题总能通过市场自身来解决,而不需要政府的干预。(在没有战略行为时,讨价还价的解决办法是有效率的,但是一般不大可能有效率,因为各方经常有战略行为。) 7.私人物品和公共物品:公共物品是非排他性和非竞争性的商品,指增加一个额外消费者 的边际成本为零,且无法排除人们使用这件商品。私人物品是那种可得数量将随任何人对它的消费或使用的增加而减少的物品,它具有两个特征,第一是竞争性,如果某人已经消费了某种商品,其他人就不能再消费该商品:第二是排他性,对商品支付价格的人才能消费商品。 8.恩格尔曲线和需求曲线09年:需求曲线是在保持收入和其他条件不变的情况下,表明 在各种可能的价格下某一商品的需求量的一条曲线。而恩格尔曲线是在保持价格和其他条件不变的情况下,将一种商品的消费量与收入联系起来的一条曲线。 9.套利10年:广义的套利在金融工程的定义中是指可以通过金融工具的组合建立一种投 资组合,建立该组合时不需要成本,而且将来可以产生非负的收益。实际中,套利意味着有风险的头寸,它是一个也许会带来损失,但是有更大的可能性会带来收益的头寸。 10.以牙还牙策略10年:是指在一个重复博弈中,选择前一轮对手所选择的一种策略。以 牙还牙策略将与合作者保持合作,而报复不合作者。 11.偏好的基本假定:1完备性,即消费者可以比较和排列所有的篮子;2可传递性,即 A>B,B>C,则A>C;3越多越好,商品被认为是令人愉悦的。4边际替代率递减 12.预算线:预算线代表了消费者用尽其所有收入购买的商品的所有组合。 13.消费者物价指数cpi与理想生活成本指数:CPI是反映与居民生活有关的产品与劳务的价 格统计出来的物价变动指标,通常作为观察通货膨胀水平的重要指标。而一个理想的生活成本指数是计算要以多少成本,以当前价格购买一个商品组合,才能达到在基期以基期价格消费的一个商品组合所达到的相同效用水平。 14.拉氏指数和帕氏指数:拉氏指数表示以现期价格购买一个基期选定的商品组合的成本, 相对于以基期价格购买同一组合的成本的比值。帕氏指数表示以现期价格购买现期选定的一个商品组合的成本,除以用基期价格购买同一组合的成本。或者,拉氏指数是用一篮子固定产品计算的物价指数,加权数固定,拉氏指数没有考虑到替代效应,高估了生活成本;帕氏指数是用一篮子可变产品计算的物价指数,帕氏指数加权数可变,且没有考虑到替代效应可能带来的消费者福利的减少,低估了生活成本。 15.边际替代率:是指在效用不变的情况下,消费者愿意拿一种商品与另一种商品交换的比 率。 16.价格消费曲线:指在消费者偏好,收入以及其他商品价格不变的条件下,与某一商品的 不同价格水平相联系的消费者效用最大化的均衡点的轨迹。

CAST与USE的用法(魔兽世界宏)

CAST与USE的用法(魔兽世界宏) 魔兽世界大家都知道,这个是网游世界的大哥大。但是在游戏过程中我们会发现很多很多不尽人意的地方比如那些繁琐的操作,看起来专业的脚本命令”魔兽宏命令”,需要用到的千奇百怪的插件。 朋友,如果您有时间去研究尝试,花2~3月就能轻车熟路了。 但,问题是我们是为了愉悦自己而游戏,而不是为了痛苦而游戏。我们不是在wow里打工! 启动魔兽宏设置窗口按键盘M键. 1.关于”/cast” 每一个魔兽玩家——新手也好老手也罢应该知道施放技能是什么概念而这个概念就可以体现在”/cast”里。例如,”/cast 暗影箭”,”/cast 地狱咆哮”,,,按这种格式输入内容之后把图标换成自己喜欢的类型这样自定义的法术就出炉啦! 2.关于”/use” Use 的百度词典的解释是1.用,使用2. 发挥;行使3. 耗费4. 利用(他人、时间、机遇等) 5. 对待… 据此您可以想象到它是什么功能了。是的,他就是抓取的功能。 如果您是非新人的玩家就会发现魔兽有个事件窗口/菜单。而这个窗口经常提示您例如“您拾取了**金币”“您被**攻击造成**点伤害”。拾取地上的物品的时您会发现光标就是鼠标指针会变成人手摸样,附魔or采矿的时候当执行了“附魔”or“采矿”技能的时游戏会等待玩家点击目标物体这个时候光标是人手形状,等您点击了目标物品才能完成整个操作。 如果您像我这样使用命令会有什么好处呢? /use 面包 或者/use源质矿石 但是你会发现执行了前者是在吃面包,后者却一点反应都没有,为什么你不吃矿石….其实不然。 当您学会珠宝这个专业技能之后您会发现他会有非常有趣,让您抓狂的附加技能,那就是“选矿”。为什么这么说呢?因为选矿可以分解矿石,就像您使用附魔的附加技能“分解”可以让一些高级装备瞬间变成灰土,因为这个技能好多被盗号的玩家想起此事就以泪洗面,我也有过这样的经历+_+。分解满地都是的矿石就会得到非常非常有拍卖价值的副产品,神技啊。 之前说过USE是抓取命令。 这样在手动点击选矿技能之后如果您已经做好“/use 源质矿石”你就会发现这个宏就可以发挥它强大的作用了。对!激活选矿技能然后继续点击这个宏,这样矿石就会开始分解了,不信?你可以自己试验一下嘛。 这样一个无脑的矿石分解命令就诞生了! /cast 选矿 /use 源质矿石 以上两句就是一个点一下就可以自动分解源质矿石的例子.这样你就不需要点完了选矿再在背包里找矿石找的眼都花啦^^ 下面这段文字是结合按键精灵的点击功能和以上的两条魔兽宏实现进行矿石分解的脚本 魔兽官方非常反对无人操作,挂机,机器人这样的行为,以致形成了”严打”的态势。但是请各位要明白以下代码只是让脚本替人做了重复点击一个键位的操作,而绝非利用游戏漏洞,

战士宏合集

战士宏合集: /startattack /cast 撕裂 /stopcasting /cast [stance:1] 冲锋 /cast [stance:3] 拦截 近战距离时撕裂,超出8码的话,战斗姿势冲锋,狂暴姿势拦截 点战神的话用这个 /startattack /cast 撕裂 /stopcasting /cast 冲锋 /cast 拦截 近战距离时撕裂,超出8码的话优先冲锋,冲锋CD的话拦截 /cast 盾墙 /script SendChatMessage("我已开启盾墙,当前生命为: "..UnitHealth("player"),"yell") 这些宏都是在台服的时候用繁体写的,如果国服朋友需要请自行修改 單體: 單體攻擊宏: #showtooltip /castsequence reset=reset=combat 投擲, 狂暴之怒, 衝鋒, 挫志怒吼, 雷霆一擊, 震攝波, 震盪猛擊 通用大招: # showtooltip /使用[stance:1] 反擊風暴;[stance:2,equipped:盾牌] 盾牆;[stance:3] 魯莽 *說明:依姿態模式,施自動施放各系大絕。 仇恨: 群坦宏:

#showtooltip /castsequence reset=reset=combat 狂暴之怒, 雷霆一擊, 震攝波, 順劈斬, 挫志怒吼, 刺耳怒吼, 順劈斬, 順劈斬, 順劈斬, 順劈斬, 順劈斬, 順劈斬, 順劈斬, 順劈斬 *當要用震攝波時,調整一下怪群的位置,把所有怪集中到震攝波暈擊的範圍內。 *本巨集需配合單按之[雷霆一擊]使用。 *效能研究: 雷霆增加怪群仇恨後,震攝波能暈四秒,再加上剌耳怒吼,再暈六秒,總共十秒的安全時間,可以讓您群坦更穩。 復仇宏: #showtooltip 復仇 /使用復仇 /使用英勇打擊 *復仇能用就用,因為[復仇雕紋:使用復仇後,下一個英勇打擊不需使用怒氣]。 挫敗宏: # showtooltip 挫敗 /使用挫敗 /使用英勇打擊 盾猛宏: #showtooltip 盾牌猛擊 /使用盾牌猛擊 /使用英勇打擊 /使用盾牌格擋 雷霆宏: #showtooltip 雷霆一擊 /使用雷霆一擊 /使用震盪猛擊 OT: 近距離OT搶救: # showtooltip 懲戒痛擊 /使用嘲諷 /使用懲戒痛擊

编译预处理题与答案

第九章编译预处理 9.1 选择题 【题9.1】以下叙述中不正确的是。 A)预处理命令行都必须以#号开始 B)在程序中凡是以#号开始的语句行都是预处理命令行 C)C程序在执行过程中对预处理命令行进行处理 D)以下是正确的宏定义 #define IBM_PC 【题9.2】以下叙述中正确的是。 A)在程序的一行上可以出现多个有效的预处理命令行 B)使用带参的宏时,参数的类型应与宏定义时的一致 C)宏替换不占用运行时间,只占编译时间 D)在以下定义中C R是称为“宏名”的标识符 #define C R 045 【题9.3】请读程序: #define ADD(x) x+x main() { int m=1,n=2,k=3; int sum=ADD(m+n)*k; printf(“sum=%d”,sum); } 上面程序的运行结果是。 A)sum=9 B)sum=10 C)sum=12 D)sum=18 【题9.4】以下程序的运行结果是。 #define MIN(x,y) (x)<(y)?(x):(y) main() { int i=10,j=15,k; k=10*MIN(i,j); printf(“%d\n”,k); } A)10 B)15 C)100 D)150 【题9.5】在宏定义#define PI 3.14159中,用宏名PI代替一个。 A)常量B)单精度数C)双精度数D)字符串

【题9.6】以下程序的运行结果是。 #include #define FUDGE(y) 2.84+y #define PR(a) printf(“%d”,(int)(a)) #define PRINT1(a) PR(a); putchar(‘\n’) main() { int x=2; PRINT1(FUDGE(5)*x); } A)11 B)12 C)13 D)15 【题9.7】以下有关宏替换的叙述不正确的是。 A)宏替换不占用运行时间B)宏名无类型 C)宏替换只是字符替换D)宏名必须用大写字母表示 【题9.8】C语言的编译系统对宏命令的处理是。 A)在程序运行时进行的 B)在程序连接时进行的 C)和C程序中的其它语句同时进行编译的 D)在对源程序中其它成份正式编译之前进行的 【题9.9】若有宏定义如下: #define X 5 #define Y X+1 #define Z Y*X/2 则执行以下printf语句后,输出结果是。 int a; a=Y; printf(“%d\n”,Z); printf(“%d\n”,--a); A)7 B)12 C)12 D)7 6 6 5 5 【题9.10】若有以下宏定义如下: #define N 2 #define Y(n) ((N+1)*n) 则执行语句z=2*(N+Y(5));后的结果是。 A)语句有错误B)z=34 C)z=70 D)z无定值 【题9.11】若有宏定义:#define MOD(x,y) x%y 则执行以下语句后的输出为。 int z,a=15,b=100; z=MOD(b,a); printf(“%d\n”,z++);

ABB-ACS510-变频器标准宏快速调试说明

宏(计算机术语) 计算机科学里的宏(Macro),是一种批量批处理的称谓。一般说来,宏是一种规则或模式,或称语法替换,用于说明某一特定输入(通常是字符串)如何根据预定义的规则转换成对应的输岀(通常也是字符串)。这种替换在预编译时进行,称作宏展开 什么是宏 所谓宏,就是一些命令组织在一起,作为一个单独命令完成一个特定任务。Microsoft Word中对宏定义为:“宏就是能组织到 一起作为一独立的命令使用的一系列word命令,它能使日常工作变得更容易"。Word使用宏语言Visual Basic将宏作为一系 列指令来编写。 计算机科学里的宏是一种抽象的,根据一系列预定义的规则替换一定的文本模式。Excel办公软件自动集成了“ VBA高级程序 语言,用此语言编制出的程序就叫“宏”。使用“VBA需要有一定的编程基础,并且还会耗费大量的时间,因此,绝大多数的 使用者仅使用了Excel的一般制表功能,很少使用到“ VBA。 解释器或编译器在遇到宏时会自动进行这一模式替换。对于编译语言,宏展开在编译时发生,进行宏展的工具常被称为宏展开 器。宏这一术语也常常被用于许多类似的环境中,它们是源自宏展开的概念,这包括键盘宏和宏语言。绝大多数情况下, “宏” 这个词的使用暗示着将小命令或动作转化为一系列指令。 宏的用途在于自动化频繁使用的序列或者是获得一种更强大的抽象能力--但这常常是一回事。 计算机语言如C或汇编语言有简单的宏系统,由编译器或汇编器的预处理器实现。C的宏预处理器的工作只是简单的文本搜索 和替换,使用附加的文本处理语言如M4, C程序员可以获得更精巧的宏。 Lisp类语言如Common Lisp和Scheme有更精巧的宏系统:宏的行为如同是函数对自身程序文本的变形,并且可以应用全部语言来表达这种变形。一个C宏可以定义一段语法的替换,然而一个Lisp的宏却可以控制一节代码的计算。获得了控制代码的执 行顺序(见惰性计算和非限制函数)的能力,使得新创建的语法结构与语言内建的语法结构不可区分。例如,一种Lisp方言 有cond而没有if ,就可以使用宏由前者定义后者。Lisp语法的去部主要扩展,比如面向对象的CLOS系统,可以由宏来定义。 2宏的典型应用 加速日常编辑和格式设置组合多个命令使对话框中的选项更易于访问使一系列复杂的任务自动执行

战士各种实用宏

战士各种实用宏 义务帮忙写宏,需要的可以跟帖。 自动选择距离自己5码的怪: /script SetCVar("targetNearestDistance",5) /targetenemy /script SetRaidTarget("target", 8) /startattack /script SetCVar("targetNearestDistance",41) /moo /y 目标: [%t] [骷髅]! 5秒后开怪! 3破输出! /in 1 /y 5 /in 2 /y 4 /in 3 /y 3 /in 4 /y 2 /in 5 /y 1 /in 6 /y 上了! /in 7 /y 注意: 3破后输出! /in 10 /y 注意: 3破后输出! 不要OT! 这个宏的意思就是,自动选择距离自己5码的怪,相当于将TAB的范围设置成5码,之后又将TAB 距离还原成41码,并给标记上骷髅,并且切换到战前状态(远远的右键点怪的效果,近身后就直接开砍那种). 切战斗姿态换双手压制: #show 压制 /equip [stance:1] 双手武器名字 /cast 压制;战斗姿态 切狂暴姿态换双手: #show 狂暴姿态 /equip [stance:3,noequipped:双手剑] 双手武器名字

/cast 狂暴姿态 切战斗/防御姿态换盾牌盾牌反射: #show 法术反射 /cast [stance:3] 防御姿态 /equipslot 16 单手武器名字 /equipslot 17 盾牌名字 /cast [stance:1/2] 法术反射 这里的"双手剑"可以改成自己要装备的"双手斧'/"双手锤"/"长柄武器" 智能致死宏: /startattack 你可以捆绑其他宏 例如: /startattack /cast 致死打击 这样就不会出现按了致死没怒,致死放不出去,人也傻乎乎站那不攻击的情况了 我会做的,能做的,将给大家写出来,我不是万能的,也有不会的宏,不是太变态的就成~ P.S.这里的宏不用automacro这个插件,早晚会被禁用的,太依赖可不成~现在还在一键拉怪的TANK们多练练手法吧。更多宏请到论坛讨论。

相关文档
相关文档 最新文档