⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 opcode.3

📁 视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.
💻 3
📖 第 1 页 / 共 2 页
字号:
.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05).\".\" Standard preamble:.\" ========================================================================.de Sh \" Subsection heading.br.if t .Sp.ne 5.PP\fB\\$1\fR.PP...de Sp \" Vertical space (when we can't use .PP).if t .sp .5v.if n .sp...de Vb \" Begin verbatim text.ft CW.nf.ne \\$1...de Ve \" End verbatim text.ft R.fi...\" Set up some character translations and predefined strings.  \*(-- will.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left.\" double quote, and \*(R" will give a right double quote.  \*(C+ will.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,.\" nothing in troff, for use with C<>..tr \(*W-.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'.ie n \{\.    ds -- \(*W-.    ds PI pi.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch.    ds L" "".    ds R" "".    ds C` "".    ds C' ""'br\}.el\{\.    ds -- \|\(em\|.    ds PI \(*p.    ds L" ``.    ds R" '''br\}.\".\" Escape single quotes in literal strings from groff's Unicode transform..ie \n(.g .ds Aq \(aq.el       .ds Aq '.\".\" If the F register is turned on, we'll generate index entries on stderr for.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index.\" entries marked with X<> in POD.  Of course, you'll have to process the.\" output yourself in some meaningful fashion..ie \nF \{\.    de IX.    tm Index:\\$1\t\\n%\t"\\$2"...    nr % 0.    rr F.\}.el \{\.    de IX...\}.\".\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2)..\" Fear.  Run.  Save yourself.  No user-serviceable parts..    \" fudge factors for nroff and troff.if n \{\.    ds #H 0.    ds #V .8m.    ds #F .3m.    ds #[ \f1.    ds #] \fP.\}.if t \{\.    ds #H ((1u-(\\\\n(.fu%2u))*.13m).    ds #V .6m.    ds #F 0.    ds #[ \&.    ds #] \&.\}.    \" simple accents for nroff and troff.if n \{\.    ds ' \&.    ds ` \&.    ds ^ \&.    ds , \&.    ds ~ ~.    ds /.\}.if t \{\.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u".    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'.\}.    \" troff and (daisy-wheel) nroff accents.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'.ds 8 \h'\*(#H'\(*b\h'-\*(#H'.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#].ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#].ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#].ds ae a\h'-(\w'a'u*4/10)'e.ds Ae A\h'-(\w'A'u*4/10)'E.    \" corrections for vroff.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'.    \" for low resolution devices (crt and lpr).if \n(.H>23 .if \n(.V>19 \\{\.    ds : e.    ds 8 ss.    ds o a.    ds d- d\h'-1'\(ga.    ds D- D\h'-1'\(hy.    ds th \o'bp'.    ds Th \o'LP'.    ds ae ae.    ds Ae AE.\}.rm #[ #] #H #V #F C.\" ========================================================================.\".IX Title "Opcode 3".TH Opcode 3 "2007-12-18" "perl v5.10.0" "Perl Programmers Reference Guide".\" For nroff, turn off justification.  Always turn off hyphenation; it makes.\" way too many mistakes in technical documents..if n .ad l.nh.SH "NAME"Opcode \- Disable named opcodes when compiling perl code.SH "SYNOPSIS".IX Header "SYNOPSIS".Vb 1\&  use Opcode;.Ve.SH "DESCRIPTION".IX Header "DESCRIPTION"Perl code is always compiled into an internal format before execution..PPEvaluating perl code (e.g. via \*(L"eval\*(R" or \*(L"do 'file'\*(R") causesthe code to be compiled into an internal format and then,provided there was no error in the compilation, executed.The internal format is based on many distinct \fIopcodes\fR..PPBy default no opmask is in effect and any code can be compiled..PPThe Opcode module allow you to define an \fIoperator mask\fR to be ineffect when perl \fInext\fR compiles any code.  Attempting to compile codewhich contains a masked opcode will cause the compilation to failwith an error. The code will not be executed..SH "NOTE".IX Header "NOTE"The Opcode module is not usually used directly. See the ops pragma andSafe modules for more typical uses..SH "WARNING".IX Header "WARNING"The authors make \fBno warranty\fR, implied or otherwise, about thesuitability of this software for safety or security purposes..PPThe authors shall not in any case be liable for special, incidental,consequential, indirect or other similar damages arising from the useof this software..PPYour mileage will vary. If in any doubt \fBdo not use it\fR..SH "Operator Names and Operator Lists".IX Header "Operator Names and Operator Lists"The canonical list of operator names is the contents of the arrayPL_op_name defined and initialised in file \fIopcode.h\fR of the Perlsource distribution (and installed into the perl library)..PPEach operator has both a terse name (its opname) and a more verbose orrecognisable descriptive name. The opdesc function can be used toreturn a list of descriptions for a list of operators..PPMany of the functions and methods listed below take a list ofoperators as parameters. Most operator lists can be made up of severaltypes of element. Each element can be one of.IP "an operator name (opname)" 8.IX Item "an operator name (opname)"Operator names are typically small lowercase words like enterloop,leaveloop, last, next, redo etc. Sometimes they are rather crypticlike gv2cv, i_ncmp and ftsvtx..IP "an operator tag name (optag)" 8.IX Item "an operator tag name (optag)"Operator tags can be used to refer to groups (or sets) of operators.Tag names always begin with a colon. The Opcode module defines severaloptags and the user can define others using the define_optag function..IP "a negated opname or optag" 8.IX Item "a negated opname or optag"An opname or optag can be prefixed with an exclamation mark, e.g., !mkdir.Negating an opname or optag means remove the corresponding ops from theaccumulated set of ops at that point..IP "an operator set (opset)" 8.IX Item "an operator set (opset)"An \fIopset\fR as a binary string of approximately 44 bytes which holds aset or zero or more operators..SpThe opset and opset_to_ops functions can be used to convert froma list of operators to an opset and \fIvice versa\fR..SpWherever a list of operators can be given you can use one or more opsets.See also Manipulating Opsets below..SH "Opcode Functions".IX Header "Opcode Functions"The Opcode package contains functions for manipulating operator namestags and sets. All are available for export by the package..IP "opcodes" 8.IX Item "opcodes"In a scalar context opcodes returns the number of opcodes in thisversion of perl (around 350 for perl\-5.7.0)..SpIn a list context it returns a list of all the operator names.(Not yet implemented, use \f(CW@names\fR = opset_to_ops(full_opset).).IP "opset (\s-1OP\s0, ...)" 8.IX Item "opset (OP, ...)"Returns an opset containing the listed operators..IP "opset_to_ops (\s-1OPSET\s0)" 8.IX Item "opset_to_ops (OPSET)"Returns a list of operator names corresponding to those operators inthe set..IP "opset_to_hex (\s-1OPSET\s0)" 8.IX Item "opset_to_hex (OPSET)"Returns a string representation of an opset. Can be handy for debugging..IP "full_opset" 8.IX Item "full_opset"Returns an opset which includes all operators..IP "empty_opset" 8.IX Item "empty_opset"Returns an opset which contains no operators..IP "invert_opset (\s-1OPSET\s0)" 8.IX Item "invert_opset (OPSET)"Returns an opset which is the inverse set of the one supplied..IP "verify_opset (\s-1OPSET\s0, ...)" 8.IX Item "verify_opset (OPSET, ...)"Returns true if the supplied opset looks like a valid opset (is theright length etc) otherwise it returns false. If an optional secondparameter is true then verify_opset will croak on an invalid opsetinstead of returning false..SpMost of the other Opcode functions call verify_opset automaticallyand will croak if given an invalid opset..IP "define_optag (\s-1OPTAG\s0, \s-1OPSET\s0)" 8.IX Item "define_optag (OPTAG, OPSET)"Define \s-1OPTAG\s0 as a symbolic name for \s-1OPSET\s0. Optag names always startwith a colon \f(CW\*(C`:\*(C'\fR..SpThe optag name used must not be defined already (define_optag willcroak if it is already defined). Optag names are global to the perlprocess and optag definitions cannot be altered or deleted oncedefined..SpIt is strongly recommended that applications using Opcode should use aleading capital letter on their tag names since lowercase names arereserved for use by the Opcode module. If using Opcode within a moduleyou should prefix your tags names with the name of your module toensure uniqueness and thus avoid clashes with other modules..IP "opmask_add (\s-1OPSET\s0)" 8.IX Item "opmask_add (OPSET)"Adds the supplied opset to the current opmask. Note that there iscurrently \fIno\fR mechanism for unmasking ops once they have been masked.This is intentional..IP "opmask" 8.IX Item "opmask"Returns an opset corresponding to the current opmask..IP "opdesc (\s-1OP\s0, ...)" 8.IX Item "opdesc (OP, ...)"This takes a list of operator names and returns the corresponding listof operator descriptions..IP "opdump (\s-1PAT\s0)" 8.IX Item "opdump (PAT)"Dumps to \s-1STDOUT\s0 a two column list of op names and op descriptions.If an optional pattern is given then only lines which match the(case insensitive) pattern will be output..SpIt's designed to be used as a handy command line utility:.Sp.Vb 2\&        perl \-MOpcode=opdump \-e opdump\&        perl \-MOpcode=opdump \-e \*(Aqopdump Eval\*(Aq.Ve.SH "Manipulating Opsets".IX Header "Manipulating Opsets"Opsets may be manipulated using the perl bit vector operators & (and), | (or),^ (xor) and ~ (negate/invert)..PPHowever you should never rely on the numerical position of any opcodewithin the opset. In other words both sides of a bit vector operatorshould be opsets returned from Opcode functions..PPAlso, since the number of opcodes in your current version of perl mightnot be an exact multiple of eight, there may be unused bits in the lastbyte of an upset. This should not cause any problems (Opcode functionsignore those extra bits) but it does mean that using the ~ operatorwill typically not produce the same 'physical' opset 'string' as theinvert_opset function..SH "TO DO (maybe)".IX Header "TO DO (maybe)".Vb 1\&    $bool = opset_eq($opset1, $opset2)  true if opsets are logically eqiv

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -