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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? porting.texi

?? 俄羅斯高人Mamaich的Pocket gcc編譯器(運行在PocketPC上)的全部源代碼。
?? TEXI
?? 第 1 頁 / 共 2 頁
字號:
\input texinfo@c ---------------------------------------------------------------------@c Prologue@c ---------------------------------------------------------------------@setfilename porting.info@settitle Porting libstdc++-v3@setchapternewpage odd@copyingCopyright @copyright{} 2000, 2001, 2002 Free Software Foundation, Inc.Permission is granted to copy, distribute and/or modify this documentunder the terms of the GNU Free Documentation License, Version 1.2 orany later version published by the Free Software Foundation; with theInvariant Sections being ``GNU General Public License'', the Front-Covertexts being (a) (see below), and with the Back-Cover Texts being (b)(see below).  A copy of the license is included in the section entitled``GNU Free Documentation License''.(a) The FSF's Front-Cover Text is:     A GNU Manual(b) The FSF's Back-Cover Text is:     You have freedom to copy and modify this GNU Manual, like GNU     software.  Copies published by the Free Software Foundation raise     funds for GNU development.@end copying@ifinfoThis file explains how to port libstdc++-v3 (the GNU C++ library) to a new target.@insertcopying@end ifinfo@c ---------------------------------------------------------------------@c Titlepage@c ---------------------------------------------------------------------@titlepage@title Porting libstdc++-v3@author Mark Mitchell@page@vskip 0pt plus 1filll@insertcopying@end titlepage@c ---------------------------------------------------------------------@c Top@c ---------------------------------------------------------------------@node Top@top Porting libstdc++-v3This document explains how to port libstdc++-v3 (the GNU C++ library) to a new target.In order to make the GNU C++ library (libstdc++-v3) work with a newtarget, you must edit some configuration files and provide some newheader files.  Unless this is done, libstdc++-v3 will use genericsettings which may not be correct for your target; even if they arecorrect, they will likely be inefficient.Before you get started, make sure that you have a working C library onyour target.  The C library need not precisely comply with anyparticular standard, but should generally conform to the requirementsimposed by the ANSI/ISO standard.In addition, you should try to verify that the C++ compiler generallyworks.  It is difficult to test the C++ compiler without a workinglibrary, but you should at least try some minimal test cases.Here are the primary steps required to port the library:@menu* Operating system::    Configuring for your operating system.* CPU::                 Configuring for your processor chip.* Character types::     Implementing character classification.* Thread safety::       Implementing atomic operations.* Numeric limits::	Implementing numeric limits.* Libtool::             Using libtool.* GNU Free Documentation License:: How you can copy and share this manual.@end menu@c ---------------------------------------------------------------------@c Operating system@c ---------------------------------------------------------------------@node Operating system@chapter Operating systemIf you are porting to a new operating system (as opposed to a new chipusing an existing operating system), you will need to create a newdirectory in the @file{config/os} hierarchy.  For example, the IRIXconfiguration files are all in @file{config/os/irix}.  There is no setway to organize the OS configuration directory.  For example,@file{config/os/solaris/solaris-2.6} and@file{config/os/solaris/solaris-2.7} are used as configurationdirectories for these two versions of Solaris.  On the other hand, bothSolaris 2.7 and Solaris 2.8 use the @file{config/os/solaris/solaris-2.7}directory.  The important information is that there needs to be adirectory under @file{config/os} to store the files for your operatingsystem.You might have to change the @file{configure.target} file to ensure thatyour new directory is activated.  Look for the switch statement that sets@code{os_include_dir}, and add a pattern to handle your operating systemif the default will not suffice.  The switch statement switches on onlythe OS portion of the standard target triplet; e.g., the @code{solaris2.8}in @code{sparc-sun-solaris2.8}.  If the new directory is named after theOS portion of the triplet (the default), then nothing needs to be changed.The first file to create in this directory, should be called@file{os_defines.h}.  This file contains basic macro definitionsthat are required to allow the C++ library to work with your C library.This file should provide macro definitions for @code{__off_t},@code{__off64_t}, and @code{__ssize_t}.  Typically, this just lookslike:@example#define __off_t off_t#define __off64_t off64_t#define __ssize_t ssize_t@end example@noindentYou don't have to provide these definitions if your system libraryalready defines these types -- but the only library known to providethese types is the GNU C Library, so you will almost certainly have toprovide these macros.  Note that this file does not have to include aheader file that defines @code{off_t}, or the other types; you simplyhave to provide the macros.In addition, several libstdc++-v3 source files unconditionally definethe macro @code{_POSIX_SOURCE}.  On many systems, defining this macrocauses large portions of the C library header files to be eliminatedat preprocessing time.  Therefore, you may have to @code{#undef} thismacro, or define other macros (like @code{_LARGEFILE_SOURCE} or@code{__EXTENSIONS__}).  You won't know what macros to define orundefine at this point; you'll have to try compiling the library andseeing what goes wrong.  If you see errors about calling functionsthat have not been declared, look in your C library headers to see ifthe functions are declared there, and then figure out what macros youneed to define.  You will need to add them to the@code{CPLUSPLUS_CPP_SPEC} macro in the GCC configuration file for yourtarget.  It will not work to simply define these macros in@file{os_defines.h}.At this time, there are a few libstdc++-v3-specific macro which may bedefined.  @code{_G_USING_THUNKS} may be defined to 0 to express that theport doesn't use thunks (although it is unclear that this is stilluseful since libio support isn't currently working and the g++ v3 ABIinvalidates the assumption that some ports don't use thunks).@code{_GLIBCPP_USE_C99_CHECK} may be defined to 1 to check C99function declarations (which are not covered by specialization below)found in system headers against versions found in the library headersderived from the standard.@code{_GLIBCPP_USE_C99_DYNAMIC} may be defined to an expression thatyields 0 if and only if the system headers are exposing proper supportfor C99 functions (which are not covered by specialization below).  Ifdefined, it must be 0 while bootstrapping the compiler/rebuilding thelibrary.@code{_GLIBCPP_USE_C99_LONG_LONG_CHECK} may be defined to 1 to checkthe set of C99 long long function declarations found in system headersagainst versions found in the library headers derived from thestandard.@code{_GLIBCPP_USE_C99_LONG_LONG_DYNAMIC} may be defined to anexpression that yields 0 if and only if the system headers areexposing proper support for the set of C99 long long functions.  Ifdefined, it must be 0 while bootstrapping the compiler/rebuilding thelibrary.@code{_GLIBCPP_USE_C99_FP_MACROS_DYNAMIC} may be defined to anexpression that yields 0 if and only if the system headersare exposing proper support for the related set of macros.  If defined,it must be 0 while bootstrapping the compiler/rebuilding the library.@code{_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_CHECK} may be definedto 1 to check the related set of function declarations found in systemheaders against versions found in the library headers derived fromthe standard.@code{_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC} may be definedto an expression that yields 0 if and only if the system headersare exposing proper support for the related set of functions.  If defined,it must be 0 while bootstrapping the compiler/rebuilding the library.Finally, you should bracket the entire file in an include-guard, likethis:@example#ifndef _GLIBCPP_OS_DEFINES#define _GLIBCPP_OS_DEFINES...#endif@end exampleWe recommend copying an existing @file{os_defines.h} to use as astarting point.@c ---------------------------------------------------------------------@c CPU@c ---------------------------------------------------------------------@node CPU@chapter CPUIf you are porting to a new chip (as opposed to a new operating systemrunning on an existing chip), you will need to create a new directory in the@file{config/cpu} hierarchy.  Much like the @ref{Operating system} setup,there are no strict rules on how to organize the CPU configurationdirectory, but careful naming choices will allow the configury to find yoursetup files without explicit help.We recommend that for a target triplet @code{<CPU>-<vendor>-<OS>}, youname your configuration directory @file{config/cpu/<CPU>}.  If you do this,the configury will find the directory itself.  Otherwise you will need toedit the @file{configure.target} file and, in the switch statement that sets@code{cpu_include_dir}, add a pattern to handle your chip.Note that some chip families share a single configuration directory, forexample, @code{alpha}, @code{alphaev5}, and @code{alphaev6} all use the@file{config/cpu/alpha} directory, and there is an entry in the@file{configure.target} switch statement to handle this.The @code{cpu_include_dir} sets default locations for the files controlling@ref{Thread safety} and @ref{Numeric limits}, if the defaults are notappropriate for your chip.@c ---------------------------------------------------------------------@c Character types@c ---------------------------------------------------------------------@node Character types@chapter Character typesThe library requires that you provide three header files to implementcharacter classification, analogous to that provided by the C libraries@file{<ctype.h>} header.  You can model these on the files provided in@file{config/os/generic}.  However, these files will almostcertainly need some modification.The first file to write is @file{ctype_base.h}.  This file providessome very basic information about character classification.  The libstdc++-v3library assumes that your C library implements @file{<ctype.h>} by usinga table (indexed by character code) containing integers, where each ofthese integers is a bit-mask indicating whether the character isupper-case, lower-case, alphabetic, etc.  The @file{ctype_base.h}file gives the type of the integer, and the values of the various bitmasks.  You will have to peer at your own @file{<ctype.h>} to figure outhow to define the values required by this file.The @file{ctype_base.h} header file does not need include guards.It should contain a single @code{struct} definition called@code{ctype_base}.  This @code{struct} should contain two typedeclarations, and one enumeration declaration, like this example, takenfrom the IRIX configuration:@examplestruct ctype_base@{  typedef unsigned int 	mask;  typedef int* 		__to_type;  enum  @{    space = _ISspace,    print = _ISprint,    cntrl = _IScntrl,    upper = _ISupper,    lower = _ISlower,    alpha = _ISalpha,    digit = _ISdigit,    punct = _ISpunct,    xdigit = _ISxdigit,    alnum = _ISalnum,    graph = _ISgraph  @};@};@end example@noindentThe @code{mask} type is the type of the elements in the table.  If yourC library uses a table to map lower-case numbers to upper-case numbers,and vice versa, you should define @code{__to_type} to be the type of the

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产suv精品一区二区883| 欧美一级二级三级蜜桃| 欧美亚洲日本国产| 欧美videossexotv100| 国产精品久久久久久福利一牛影视 | 欧美激情中文字幕| 亚洲国产日产av| 成人精品一区二区三区四区| 日韩亚洲欧美一区| 夜夜精品浪潮av一区二区三区| 国产一区二区三区黄视频| 欧美日本韩国一区二区三区视频| 国产精品麻豆视频| 韩国中文字幕2020精品| 9191久久久久久久久久久| 亚洲日本va在线观看| 国产福利精品导航| 日韩精品一区二区三区视频播放| 亚洲精品欧美专区| 成人av免费在线播放| 久久夜色精品国产噜噜av| 亚洲成在人线免费| 欧美性猛交xxxxxx富婆| 亚洲色大成网站www久久九九| 国产精品资源网站| 久久综合九色综合97婷婷女人 | 综合分类小说区另类春色亚洲小说欧美| 婷婷中文字幕一区三区| 欧美日韩视频在线观看一区二区三区| 国产精品久久一卡二卡| 成人免费毛片高清视频| 国产女人aaa级久久久级| 国产在线不卡一区| 精品电影一区二区三区| 精品一区二区三区欧美| 精品国产第一区二区三区观看体验| 午夜精品福利视频网站| 在线不卡一区二区| 日韩成人一区二区三区在线观看| 欧美日韩国产高清一区二区三区 | 国产精品系列在线| 91亚洲精华国产精华精华液| 亚洲欧美一区二区三区久本道91| 色综合久久99| 五月天精品一区二区三区| 欧美老人xxxx18| 久久99国产精品尤物| 精品国产乱子伦一区| 韩国精品主播一区二区在线观看| 久久久久9999亚洲精品| 91网站在线播放| 丝袜诱惑制服诱惑色一区在线观看 | 亚洲va韩国va欧美va精品| 4438x成人网最大色成网站| 久久精品国产久精国产| 国产欧美日韩麻豆91| 色综合色狠狠综合色| 亚洲成人一区在线| 久久久久久一级片| gogo大胆日本视频一区| 亚洲国产精品自拍| 日韩三级.com| 91日韩在线专区| 蜜臀av性久久久久蜜臀aⅴ四虎 | 国产亚洲人成网站| 91热门视频在线观看| 日韩国产欧美视频| 一区视频在线播放| 91精品在线免费| 国产盗摄一区二区| 日韩精品久久久久久| 国产欧美一区二区精品性| 欧美最猛黑人xxxxx猛交| 久久精品国产亚洲a| 日韩美女啊v在线免费观看| 5月丁香婷婷综合| k8久久久一区二区三区| 日本不卡在线视频| 亚洲欧美偷拍卡通变态| 26uuu另类欧美亚洲曰本| 欧美亚洲国产怡红院影院| 国产乱码精品一区二区三区av| 一区二区高清视频在线观看| 久久天天做天天爱综合色| 欧美日韩精品一区二区三区蜜桃| 国产白丝精品91爽爽久久| 麻豆精品久久精品色综合| 亚洲激情网站免费观看| 国产三级精品三级在线专区| 欧美精品一卡二卡| 一本大道av伊人久久综合| 国产精品18久久久久久久久久久久| 亚洲午夜久久久| 亚洲日穴在线视频| 国产精品久线在线观看| 精品国产乱码久久久久久浪潮| 91色porny在线视频| 国产成a人亚洲| 国产麻豆成人传媒免费观看| 人人爽香蕉精品| 亚洲成人动漫av| 亚洲天堂久久久久久久| 亚洲国产精品黑人久久久| 久久蜜桃av一区二区天堂| 日韩免费电影一区| 日韩一区二区三区视频在线观看| 在线观看免费视频综合| 91久久精品一区二区三区| 91亚洲男人天堂| 91社区在线播放| 一本到不卡精品视频在线观看| 99久久久久久| 99精品桃花视频在线观看| 99久久精品情趣| 成人av电影在线观看| 成人午夜私人影院| 99视频国产精品| 色88888久久久久久影院按摩| 91蜜桃免费观看视频| 一本久久综合亚洲鲁鲁五月天| 色94色欧美sute亚洲线路二| 91小视频在线观看| 欧美日韩视频第一区| 欧美日韩一区国产| 91精品国产色综合久久ai换脸| 欧美福利一区二区| 精品久久久久久无| 日本一区二区综合亚洲| 中文字幕一区二区三区精华液| 亚洲欧美一区二区三区孕妇| 亚洲国产精品一区二区久久| 无吗不卡中文字幕| 久久99国产精品麻豆| 国产成人av影院| 色网站国产精品| 日韩午夜精品电影| 中文字幕的久久| 午夜精品久久久久久久99水蜜桃 | 日韩和欧美的一区| 黑人精品欧美一区二区蜜桃| 成人免费高清在线观看| 91成人免费电影| 日韩欧美一区中文| 亚洲国产电影在线观看| 一区二区三区日韩精品| 美女视频一区二区| kk眼镜猥琐国模调教系列一区二区| 色国产综合视频| 日韩视频123| 1区2区3区精品视频| 日产欧产美韩系列久久99| 国产成人av电影在线观看| 欧日韩精品视频| 国产日产欧美一区二区三区| 一级特黄大欧美久久久| 精品一二三四在线| 色噜噜狠狠成人网p站| 日韩欧美国产高清| 一区二区三区在线观看网站| 久久99精品网久久| 欧美在线免费视屏| 国产欧美一区二区精品性色| 日韩中文字幕av电影| 成人av第一页| 日韩欧美一区二区在线视频| 成人免费视频在线观看| 黑人精品欧美一区二区蜜桃 | 石原莉奈在线亚洲三区| 成人高清在线视频| 欧美一级黄色录像| 亚洲风情在线资源站| 国产99久久久久| 欧美一级黄色片| 亚洲va韩国va欧美va| 成人免费视频一区| 久久久青草青青国产亚洲免观| 亚洲丰满少妇videoshd| 99re这里只有精品视频首页| 久久伊人蜜桃av一区二区| 日日夜夜精品视频免费| 成人18视频日本| 国产欧美中文在线| 精品无码三级在线观看视频| 欧美精品视频www在线观看| 亚洲丝袜制服诱惑| 北条麻妃国产九九精品视频| 国产亚洲欧洲一区高清在线观看| 日本伊人午夜精品| 欧美色精品在线视频| 亚洲影视在线观看| 色狠狠综合天天综合综合| 国产精品不卡视频| 国产高清无密码一区二区三区| www国产成人| 国产自产高清不卡| 久久久久久久网| 国产成人精品影视| 国产精品网站在线观看| 成人av在线一区二区三区| 国产三级精品在线|