亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? language.html

?? ecos 文檔
?? HTML
字號(hào):
<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
<!-- This material may be distributed only subject to the terms      -->
<!-- and conditions set forth in the Open Publication License, v1.0  -->
<!-- or later (the latest version is presently available at          -->
<!-- http://www.opencontent.org/openpub/).                           -->
<!-- Distribution of the work or derivative of the work in any       -->
<!-- standard (paper) book form is prohibited unless prior           -->
<!-- permission is obtained from the copyright holder.               -->
<HTML
><HEAD
><TITLE
>The CDL Language</TITLE
><meta name="MSSmartTagsPreventParsing" content="TRUE">
<META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="The eCos Component Writer's Guide"
HREF="cdl-guide.html"><LINK
REL="PREVIOUS"
TITLE="Making a Package Distribution"
HREF="package.distrib.html"><LINK
REL="NEXT"
TITLE="CDL Commands"
HREF="language.commands.html"></HEAD
><BODY
CLASS="CHAPTER"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The <SPAN
CLASS="APPLICATION"
>eCos</SPAN
> Component Writer's Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="package.distrib.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="language.commands.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="CHAPTER"
><H1
><A
NAME="LANGUAGE">Chapter 3. The CDL Language</H1
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
><A
HREF="language.html#LANGUAGE.OVERVIEW"
>Language Overview</A
></DT
><DT
><A
HREF="language.commands.html"
>CDL Commands</A
></DT
><DT
><A
HREF="language.properties.html"
>CDL Properties</A
></DT
><DT
><A
HREF="language.naming.html"
>Option Naming Convention</A
></DT
><DT
><A
HREF="language.tcl.html"
>An Introduction to Tcl</A
></DT
><DT
><A
HREF="language.values.html"
>Values and Expressions</A
></DT
><DT
><A
HREF="language.interface.html"
>Interfaces</A
></DT
><DT
><A
HREF="language.database.html"
>Updating the <SPAN
CLASS="DATABASE"
>ecos.db</SPAN
> database</A
></DT
></DL
></DIV
><P
>The <SPAN
CLASS="APPLICATION"
>CDL</SPAN
> language is a key part of the <SPAN
CLASS="APPLICATION"
>eCos</SPAN
> component framework.
All packages must come with at least one <SPAN
CLASS="APPLICATION"
>CDL</SPAN
> script, to describe
that package to the framework. The information in that script includes
details of all the configuration options and how to build the package.
Implementing a new component or turning some existing code into an
<SPAN
CLASS="APPLICATION"
>eCos</SPAN
> component always involves writing corresponding <SPAN
CLASS="APPLICATION"
>CDL</SPAN
>. This
chapter provides a description of the <SPAN
CLASS="APPLICATION"
>CDL</SPAN
> language. Detailed
information on specific parts of the language can be found in <A
HREF="reference.html"
>Chapter 5</A
>.</P
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="LANGUAGE.OVERVIEW">Language Overview</H1
><P
>A very simple <SPAN
CLASS="APPLICATION"
>CDL</SPAN
> script would look like this:</P
><TABLE
BORDER="5"
BGCOLOR="#E0E0F0"
WIDTH="70%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>cdl_package CYGPKG_ERROR {
    display       "Common error code support"
    compile       strerror.cxx
    include_dir   cyg/error
    description   "
        This package contains the common list of error and
        status codes. It is held centrally to allow
        packages to interchange error codes and status
        codes in a common way, rather than each package
        having its own conventions for error/status
        reporting. The error codes are modelled on the
        POSIX style naming e.g. EINVAL etc. This package
        also provides the standard strerror() function to
        convert error codes to textual representation."
}</PRE
></TD
></TR
></TABLE
><P
>This describes a single package, the error code package, which does
not have any sub-components or configuration options. The package has
an internal name, <TT
CLASS="VARNAME"
>CYGPKG_ERROR</TT
>, which can be
referenced in other <SPAN
CLASS="APPLICATION"
>CDL</SPAN
> scripts using e.g.
<TT
CLASS="LITERAL"
>requires&nbsp;CYGPKG_ERROR</TT
>. There will also be a
<TT
CLASS="LITERAL"
>#define</TT
> for this symbol in a configuration header
file. In addition to the package name, this script provides a number
of properties for the package as a whole. The <SPAN
CLASS="PROPERTY"
>display</SPAN
> property
provides a short description. The <SPAN
CLASS="PROPERTY"
>description</SPAN
> property involves a
rather longer one, for when users need a bit more information. The
<SPAN
CLASS="PROPERTY"
>compile</SPAN
> and <SPAN
CLASS="PROPERTY"
>include_dir</SPAN
> properties list the consequences of this
package at build-time. The package appears to lack any on-line
documentation. </P
><P
>Packages could be even simpler than this. If the package only provides
an interface and there are no files to be compiled then there is no
need for a <SPAN
CLASS="PROPERTY"
>compile</SPAN
> property. Alternatively if there are no exported
header files, or if the exported header files should go to the
top-level of the <TT
CLASS="FILENAME"
>install/include</TT
> directory, then there is
no need for an <SPAN
CLASS="PROPERTY"
>include_dir</SPAN
> property. Strictly speaking the
<SPAN
CLASS="PROPERTY"
>description</SPAN
> and <SPAN
CLASS="PROPERTY"
>display</SPAN
> properties are optional as well, although
application developers would not appreciate the resulting lack of
information about what the package is supposed to do.</P
><P
>However many packages tend to be a bit more complicated than the error
package, containing various sub-components and configuration options.
These are also defined in the <SPAN
CLASS="APPLICATION"
>CDL</SPAN
> scripts and in much the same way
as the package. For example, the following excerpt comes from the
infrastructure package:</P
><TABLE
BORDER="5"
BGCOLOR="#E0E0F0"
WIDTH="70%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>cdl_component CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER {
    display       "Buffered tracing"
    default_value 1
    active_if     CYGDBG_USE_TRACING
    description   "
        An output module which buffers output from tracing and
        assertion events. The stored messages are output when an
        assert fires, or CYG_TRACE_PRINT() (defined in
        &lt;cyg/infra/cyg_trac.h&gt;) is called. Of course, there will
        only be stored messages if tracing per se (CYGDBG_USE_TRACING)
        is enabled above."

    cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE {
        display       "Trace buffer size"
        flavor        data
        default_value 32
        legal_values  5 to 65535
        description   "
            The size of the trace buffer. This counts the number of
            trace records stored. When the buffer fills it either
            wraps, stops recording, or generates output."
    }

    &#8230;
}</PRE
></TD
></TR
></TABLE
><P
>Like a <TT
CLASS="LITERAL"
>cdl_package</TT
>, a <TT
CLASS="LITERAL"
>cdl_component</TT
> has a name and a body. The
body contains various properties for that component, and may also
contain sub-components or options. Similarly a <TT
CLASS="LITERAL"
>cdl_option</TT
> has a
name and a body of properties. This example lists a number of
new properties: <SPAN
CLASS="PROPERTY"
>default_value</SPAN
>, <SPAN
CLASS="PROPERTY"
>active_if</SPAN
>, <SPAN
CLASS="PROPERTY"
>flavor</SPAN
> and
<SPAN
CLASS="PROPERTY"
>legal_values</SPAN
>. The meaning of most of these should be fairly obvious.
The next sections describe the various <SPAN
CLASS="APPLICATION"
>CDL</SPAN
> commands and properties. </P
><P
>There is one additional and very important point: <SPAN
CLASS="APPLICATION"
>CDL</SPAN
> is not a
completely new language; instead it is implemented as an extension of
the existing <SPAN
CLASS="APPLICATION"
>Tcl</SPAN
> scripting language. The syntax of a <SPAN
CLASS="APPLICATION"
>CDL</SPAN
> script is
<SPAN
CLASS="APPLICATION"
>Tcl</SPAN
> syntax, which is described below. In addition some of the more
advanced facilities of <SPAN
CLASS="APPLICATION"
>CDL</SPAN
> involve embedded fragments of <SPAN
CLASS="APPLICATION"
>Tcl</SPAN
> code,
for example there is a <SPAN
CLASS="PROPERTY"
>define_proc</SPAN
> property which specifies some
code that needs to be executed when the component framework generates
the configuration header files.</P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="package.distrib.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="cdl-guide.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="language.commands.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Making a Package Distribution</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>CDL Commands</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一本到高清视频免费精品| 亚洲精品成人在线| 日韩高清在线不卡| 91亚洲大成网污www| 欧美一区二区三区喷汁尤物| 国产精品传媒在线| 国产高清视频一区| 日韩免费电影网站| 天天色 色综合| 在线免费观看一区| 亚洲裸体xxx| 欧美性xxxxxxxx| 亚洲老司机在线| 色激情天天射综合网| 国产精品美女久久久久久久久 | 欧美亚洲愉拍一区二区| 欧美国产激情一区二区三区蜜月 | a4yy欧美一区二区三区| 国产精品色婷婷| 99精品视频免费在线观看| 亚洲欧洲www| 91九色02白丝porn| 亚洲国产精品久久一线不卡| 欧洲在线/亚洲| 国产精品视频一二三区| 久久亚洲二区三区| 国产成人日日夜夜| 国产精品高潮久久久久无| 99久久精品国产毛片| 午夜私人影院久久久久| 欧美午夜电影网| 久久精品国产精品亚洲精品| 精品福利在线导航| 99精品久久只有精品| 偷拍一区二区三区| 国产拍揄自揄精品视频麻豆| 成年人国产精品| 日韩av中文字幕一区二区三区 | 在线观看免费一区| 欧美精品九九99久久| 丁香六月久久综合狠狠色| 国产精品伦理在线| 欧美色精品天天在线观看视频| 亚洲成av人影院在线观看网| 69堂国产成人免费视频| 国产成人自拍网| 石原莉奈在线亚洲三区| 日本一区二区综合亚洲| 91久久久免费一区二区| 国产精品综合网| 香蕉成人啪国产精品视频综合网| 久久免费美女视频| 欧美性生交片4| 不卡欧美aaaaa| 麻豆国产欧美一区二区三区| 一区二区三区欧美激情| 亚洲天堂网中文字| 欧美图片一区二区三区| 国产福利一区二区| 美女爽到高潮91| 亚洲一区二区三区国产| 精品久久久久久久人人人人传媒| 色综合视频在线观看| 成人高清av在线| 国产一区二区三区不卡在线观看| 香港成人在线视频| 亚洲一区二区3| 夜夜嗨av一区二区三区中文字幕| 国产精品美女久久久久av爽李琼| 精品国产一区二区三区四区四| 欧美日韩精品系列| 欧美系列一区二区| 欧美日韩免费视频| 欧美亚洲国产一区二区三区va| 91色|porny| 日本不卡在线视频| 欧美α欧美αv大片| 欧美日韩国产经典色站一区二区三区| 国产高清不卡一区| av在线综合网| 91麻豆123| 欧美日韩一区成人| 91精品国产色综合久久久蜜香臀| 91精品国产手机| 久久影音资源网| 国产精品剧情在线亚洲| 一区二区三区免费看视频| 亚洲成av人综合在线观看| 视频一区中文字幕| 国产一区二区主播在线| 成人97人人超碰人人99| 91美女视频网站| 日韩一级黄色大片| 亚洲欧洲在线观看av| 亚洲国产视频一区| 国产一区不卡在线| 在线国产电影不卡| 欧美日韩三级一区| 国产日韩欧美一区二区三区乱码 | 欧美精品电影在线播放| 国产亚洲一本大道中文在线| 中文字幕日韩av资源站| 日韩精品亚洲一区二区三区免费| 国产成人免费在线视频| 欧美久久免费观看| 欧美国产激情一区二区三区蜜月| 亚洲www啪成人一区二区麻豆| 国产不卡免费视频| 欧美一区二区三区在线| 亚洲色图第一区| 国产一区欧美日韩| 3d成人h动漫网站入口| 国产精品伦一区二区三级视频| 亚洲成人精品一区二区| 国产精品自拍网站| 日韩一区二区三区四区| 亚洲一区视频在线| 成年人国产精品| 国产午夜亚洲精品羞羞网站| 午夜精品一区二区三区电影天堂| 91视频在线看| 国产精品久久综合| 国产精品亚洲一区二区三区在线 | 99久久国产免费看| 欧美国产精品一区| 成人网男人的天堂| 国产亚洲一区二区三区在线观看| 久久国产精品色| 欧美刺激午夜性久久久久久久 | 91麻豆精品在线观看| 国产女同性恋一区二区| 国产一区二区三区免费看 | 欧美精三区欧美精三区| 五月婷婷综合在线| 欧美一区二区在线免费播放| 天天影视涩香欲综合网| 日韩午夜激情av| 韩国成人在线视频| 久久久久久久久久久久久夜| 国产精品一卡二卡在线观看| 日本一区二区视频在线| 懂色av一区二区三区免费看| 亚洲色图色小说| 欧洲另类一二三四区| 爽好久久久欧美精品| 日韩一卡二卡三卡国产欧美| 激情小说欧美图片| 国产精品私人影院| 91亚洲午夜精品久久久久久| 国产精品私人自拍| 精品视频全国免费看| 久久国产精品99久久久久久老狼| 国产欧美综合色| 国内精品伊人久久久久av一坑| 欧美国产精品久久| 欧美探花视频资源| 国产成人在线免费| 亚洲欧美电影院| 亚洲精品一区在线观看| 99精品国产91久久久久久| 麻豆精品国产91久久久久久| 亚洲欧洲精品一区二区三区| 91 com成人网| 99精品视频一区| 国产一区三区三区| 亚洲一线二线三线视频| 国产欧美一区二区精品性| 欧美日韩一本到| 99久久国产综合精品女不卡| 美女在线观看视频一区二区| 亚洲一级二级三级| 久久免费的精品国产v∧| 欧美系列一区二区| 99国产精品国产精品久久| 国产毛片精品一区| 日韩综合小视频| 亚洲第一主播视频| 蜜桃久久久久久久| 国内精品嫩模私拍在线| 亚洲视频一二三| 国产精品天干天干在观线| www激情久久| 欧美不卡激情三级在线观看| 91精品国产综合久久久久久久 | 美女在线观看视频一区二区| 一区二区三区在线观看欧美| 亚洲欧洲日产国码二区| 国产午夜亚洲精品不卡| 久久五月婷婷丁香社区| 日韩欧美不卡在线观看视频| 欧美电影在哪看比较好| 欧美精品三级在线观看| 日韩三级av在线播放| 91精品国产欧美一区二区18| 69p69国产精品| 日韩欧美在线不卡| 国产亚洲成aⅴ人片在线观看 | 亚洲一区自拍偷拍| 天天综合色天天综合| 亚洲福利视频导航|