青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

歲月流轉,往昔空明

C++博客 首頁 新隨筆 聯系 聚合 管理
  118 Posts :: 3 Stories :: 413 Comments :: 0 Trackbacks

Syntax of SASL Symbol Name Mangling

September 26

2010

This script describes the rules of symbol name mangling.

V1.0

SASL Name Mangling Syntax

V1.0

Name mangling can be applied to name of function mainly, for distinguishing the overloaded function

MangledName is the result of Name Mangling. It starts with ‘M’ character and ends with ‘Z’ character.

MangledName ::= ‘M’ QualifiedName ‘@@’ ParameterTypes CallingConvention

QualifiedName is base name qualified by scope name. A scope name could be a structure name, class name or namespace name.

ParameterTypes describes the types of parameter list.

‘@@’ is the splitter between qualified name and parameter type.

QualifiedName ::= ( ScopeName ‘@’ )* BaseName

QualifiedName is composited by scope name and base name. ‘@’ is used to split the scope segments.

ScopeName ::=

‘S’ StructTypeName

‘N’ NamespaceName

StructTypeName ::= <name of structure>

NamespaceName ::= <name of namespace>

BaseName ::= <literal name of function>

ScopeName are two sorts, structure name or namespace name. Sorts are distinguished by a lead character. If the name starts with ‘S’ it means the name of structure, and ‘N’ means following name represents a namespace. Note that, if

BaseName is the literal name of the function or a type.

ParameterTypes is a list of parameter types. Because SASL do not support variance parameters, so we need not to considerate that. Syntax of ParameterTypes as following:

ParameterTypes ::= ( ParameterType ‘@@’)*

ParameterType is encoded by type qualifiers and type name.

NOTE THAT, anywhere type name referred means that the original definition name but not alias( such as generated by “typedef” ).

ParameterType ::= ScopeQualifiedTypeName

ScopeQualifiedTypeName is the type name qualified by scopes. It is similar with qualified name.

ScopeQualifiedTypeName ::= ( ScopeName ‘@’ )* BaseTypeName

ScopeName ::= ( ‘S’ StructTypeName ) | ( ‘N’ NamespaceName )

QualifiedBaseTypeName ::= TypeQualifier BaseTypeName

TypeQualifier ::= (‘C’)?(‘S’)?(‘U’)?Q

TypeQualifier describes the qualifier of declaration. In SASL, following qualifiers are supported: constant qualifier (‘C’), uniform qualifier (‘U’) and shared qualifier (‘S’). Each qualifier is represented as a character, and qualifiers is ended by a character ‘Q’.

BaseTypeName ::=

‘S’ StructTypeName

‘B’ BuildinScalarTypeName

‘V’ BuildinVectorTypeName

‘F’ FunctionTypeName

‘M’ BuildinMatrixTypeName

‘A’ ArraySize ArrayComponentTypeName

StructTypeName ::= <literal name of structure>

BuildinScalarTypeNames encode all build-in type into one or two characters.

BuildinScalarTypeName ::=

‘U1’ | ‘U2’ | ‘U4’ | ‘U8’ |‘I1’ | ‘I2’ | ‘I4’ | ‘I8’ | ‘B’ | ’F’ | ‘D’ | ‘O’

ArrayComponentTypeName ::= QualifiedBaseTypeName

ArraySize ::=

<length of array >

‘V’

They are corresponded following building types: uint8_t, uint16_t, uint32_t, uint64_t, int8_t, int16_t, int32_t, int64_t, boolean, float, double and omit (void).

BuildinVectorName ::= VectorLength BuildinScalarTypeName

BuildinMatrixName ::= RowCountOfMatrix ColumnCountOfMatrix BuildinScalarTypeName

BuildinVectorTypeName shows the name of building vector. It makes of length component and scalar type component.

VectorLength Could be 1, 2, 3 or 4 and represents the length of vector.

And the BuildinMatrixTypeName is similar as build-in vector type name.

ArraySize is an integer demonstrating the size of fixed-length array or ‘V’ (void or variant) means that it is a variant length array.

ArrayComponentTypeName is the description of type of component of array. For example, array component type of “int32_t[]” is “int32_t”. So array component type name is set to the mangled name of int32_t, “I4”.

CallingConvention is a single character which shows the calling convention of this function. ‘S’ means “__stdcall”, ‘C’ means “__cdecl” and ‘F’ ,means “__fastcall”

CallingConvention ::=

‘S’

‘C’

‘F’

FunctionTypeName reuses all non-terminators and terminators mentioned above.

FunctionTypeName ::= ReturnType PrarameterTypes CallConvetion ‘@@@’

ReturnType ::= ParameterType ‘@@’

posted on 2010-09-26 19:12 空明流轉 閱讀(1699) 評論(2)  編輯 收藏 引用

評論

# re: SASL Name Mangling (Release Candidate Version) 2010-09-27 09:02 ccsdu2009
如果是你弄得 為什么要弄英文 ?  回復  更多評論
  

# re: SASL Name Mangling (Release Candidate Version) 2010-09-27 13:28 空明流轉
@ccsdu2009
這是SoftArt文檔的一部分,自然選擇用英文。  回復  更多評論
  


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲永久免费精品| 国产精品午夜国产小视频| 久久久久久亚洲精品杨幂换脸 | 亚洲欧洲日本专区| 亚洲欧美国产精品桃花| 亚洲乱码一区二区| 一区二区三区国产盗摄| 99天天综合性| 亚洲女与黑人做爰| 中文日韩电影网站| 亚洲伊人观看| 欧美在线日韩精品| 欧美精品久久久久久久免费观看| 欧美剧在线免费观看网站| 欧美日韩一区在线视频| 国产一区视频网站| 亚洲精品免费一二三区| 午夜在线一区二区| 亚洲二区精品| 亚洲尤物影院| 欧美成人午夜免费视在线看片 | 在线观看精品视频| 亚洲精品国精品久久99热| 亚洲一级特黄| 一区二区欧美亚洲| 欧美a级在线| 国内外成人在线视频| 亚洲一区三区电影在线观看| 免费高清在线视频一区·| 亚洲一区二区久久| 欧美日精品一区视频| 一本色道久久综合狠狠躁篇的优点 | 欧美激情精品久久久六区热门| 在线观看三级视频欧美| 欧美精品免费在线观看| 红桃av永久久久| 久久人体大胆视频| 久久另类ts人妖一区二区| 久久久精品tv| 久久xxxx| 亚洲片在线观看| 亚洲日本一区二区| 最新日韩在线| 国产精品成人一区二区| 久久精品国产一区二区三区免费看| 美女图片一区二区| 欧美乱大交xxxxx| 久久福利视频导航| 久久这里只精品最新地址| 亚洲美女免费视频| 亚洲永久网站| 永久久久久久| 日韩亚洲欧美综合| 国产日韩av一区二区| 久久综合国产精品| 欧美另类videos死尸| 久久精品国产视频| 欧美精品18+| 久久午夜视频| 国产精品久久久久99| 欧美+亚洲+精品+三区| 国产精品免费aⅴ片在线观看| 免费欧美在线| 含羞草久久爱69一区| 中文av字幕一区| 一区二区三区高清视频在线观看| 欧美亚洲色图校园春色| 午夜精品福利在线| 欧美jizz19hd性欧美| 久久免费视频在线观看| 99精品99久久久久久宅男| 国内精品国语自产拍在线观看| 最新国产成人av网站网址麻豆| 国产欧美日韩免费| 欧美一级理论片| 久久精品国产亚洲aⅴ| 国产欧美日韩一区二区三区| 一区二区免费在线观看| 亚洲男人av电影| 国产精品一区久久久| 午夜欧美大片免费观看| 午夜欧美不卡精品aaaaa| 国产精品第一区| 中文国产成人精品| 久久激情一区| 在线电影国产精品| 欧美精品一区二区视频| 亚洲美女视频在线观看| 性欧美大战久久久久久久免费观看| 国产伦理精品不卡| 免费国产一区二区| 亚洲视频观看| 亚洲高清免费视频| 先锋资源久久| 一片黄亚洲嫩模| 国内精品久久久久伊人av| 欧美高清在线一区| 欧美一区网站| 亚洲天堂av在线免费观看| 蜜桃av久久久亚洲精品| 香蕉久久久久久久av网站| 亚洲精品免费在线| 亚洲高清在线视频| 国产亚洲网站| 国产精品久久久久一区二区三区 | 亚洲欧美福利一区二区| 激情文学综合丁香| 亚洲宅男天堂在线观看无病毒| 久久亚洲综合网| 欧美一区视频| 午夜精品在线观看| 亚洲欧美视频一区| 亚洲在线成人精品| 亚洲一区二区三区久久| 亚洲精品国产无天堂网2021| 国产亚洲a∨片在线观看| 国产视频精品xxxx| 国产婷婷色一区二区三区四区| 国产精品日韩欧美一区二区三区| 国产精品日韩一区| 国产一区二区在线观看免费播放 | 韩国免费一区| 亚洲国产三级| 中日韩视频在线观看| 欧美一区1区三区3区公司| 欧美一区二区观看视频| 久久免费一区| 亚洲精品一区二区三区在线观看| 一本一本a久久| 久久久综合网| 国产精品日韩欧美| 99re成人精品视频| 久久精品视频网| 最新国产精品拍自在线播放| 欧美11—12娇小xxxx| 日韩视频精品在线观看| 午夜免费电影一区在线观看| 欧美日韩精品免费观看视频| 理论片一区二区在线| 亚洲影视九九影院在线观看| 免费在线观看日韩欧美| 欧美综合第一页| 亚洲亚洲精品三区日韩精品在线视频 | 欧美激情一二区| 黄网站色欧美视频| 欧美一区综合| 中文久久精品| 欧美成人69av| 一片黄亚洲嫩模| 欧美国产视频在线| a4yy欧美一区二区三区| 夜夜夜精品看看| 一二美女精品欧洲| 欧美88av| 久久精品夜夜夜夜久久| 国产欧美视频一区二区| 亚洲午夜性刺激影院| 亚洲国产裸拍裸体视频在线观看乱了中文 | 久久久久久999| 亚洲综合首页| 国产欧美日韩在线视频| 亚洲午夜一区二区| 一区二区三区.www| 国产欧美在线看| 久久激情一区| 你懂的一区二区| 在线视频你懂得一区二区三区| 亚洲精品资源美女情侣酒店| 欧美日本不卡视频| 亚洲一区二区三| 午夜国产一区| 91久久久久久| 午夜亚洲福利在线老司机| 国产一区二区三区在线免费观看| 牛牛国产精品| 一本大道久久a久久综合婷婷| 亚洲视频1区| 亚洲国内精品| 一本一本久久a久久精品综合麻豆| 欧美三区美女| 你懂的视频欧美| 欧美日韩免费观看一区三区| 性久久久久久久久| 欧美日韩一区自拍| 久久精品国产在热久久| 国产精品二区影院| 亚洲国产高清在线观看视频| 国产精品久久77777| 欧美激情视频一区二区三区在线播放 | 国产日本欧美视频| 麻豆91精品| 国产精品嫩草久久久久| 亚洲高清免费视频| 136国产福利精品导航| 午夜欧美大尺度福利影院在线看 | 欧美精品日韩一区| 老司机精品导航| 免费亚洲网站| 最新中文字幕亚洲| 亚洲人成人77777线观看|