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

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

?? standards.texi

?? 基于4個mips核的noc設(shè)計
?? TEXI
?? 第 1 頁 / 共 5 頁
字號:
@exampledo  @{    a = foo (a);  @}while (a > 0);@end examplePlease use formfeed characters (control-L) to divide the program intopages at logical places (but not within a function).  It does not matterjust how long the pages are, since they do not have to fit on a printedpage.  The formfeeds should appear alone on lines by themselves.@node Comments@section Commenting Your WorkEvery program should start with a comment saying briefly what it is for.Example: @samp{fmt - filter for simple filling of text}.Please write the comments in a GNU program in English, because Englishis the one language that nearly all programmers in all countries canread.  If you do not write English well, please write comments inEnglish as well as you can, then ask other people to help rewrite them.If you can't write comments in English, please find someone to work withyou and translate your comments into English.Please put a comment on each function saying what the function does,what sorts of arguments it gets, and what the possible values ofarguments mean and are used for.  It is not necessary to duplicate inwords the meaning of the C argument declarations, if a C type is beingused in its customary fashion.  If there is anything nonstandard aboutits use (such as an argument of type @code{char *} which is really theaddress of the second character of a string, not the first), or anypossible values that would not work the way one would expect (such as,that strings containing newlines are not guaranteed to work), be sureto say so.Also explain the significance of the return value, if there is one.Please put two spaces after the end of a sentence in your comments, sothat the Emacs sentence commands will work.  Also, please writecomplete sentences and capitalize the first word.  If a lower-caseidentifier comes at the beginning of a sentence, don't capitalize it!Changing the spelling makes it a different identifier.  If you don'tlike starting a sentence with a lower case letter, write the sentencedifferently (e.g., ``The identifier lower-case is @dots{}'').The comment on a function is much clearer if you use the argumentnames to speak about the argument values.  The variable name itselfshould be lower case, but write it in upper case when you are speakingabout the value rather than the variable itself.  Thus, ``the inodenumber NODE_NUM'' rather than ``an inode''.There is usually no purpose in restating the name of the function inthe comment before it, because the reader can see that for himself.There might be an exception when the comment is so long that the functionitself would be off the bottom of the screen.There should be a comment on each static variable as well, like this:@example/* Nonzero means truncate lines in the display;   zero means continue them.  */int truncate_lines;@end exampleEvery @samp{#endif} should have a comment, except in the case of shortconditionals (just a few lines) that are not nested.  The comment shouldstate the condition of the conditional that is ending, @emph{includingits sense}.  @samp{#else} should have a comment describing the condition@emph{and sense} of the code that follows.  For example:@example@group#ifdef foo  @dots{}#else /* not foo */  @dots{}#endif /* not foo */@end group@group#ifdef foo  @dots{}#endif /* foo */@end group@end example@noindentbut, by contrast, write the comments this way for a @samp{#ifndef}:@example@group#ifndef foo  @dots{}#else /* foo */  @dots{}#endif /* foo */@end group@group#ifndef foo  @dots{}#endif /* not foo */@end group@end example@node Syntactic Conventions@section Clean Use of C ConstructsPlease explicitly declare all arguments to functions.Don't omit them just because they are @code{int}s.Declarations of external functions and functions to appear later in thesource file should all go in one place near the beginning of the file(somewhere before the first function definition in the file), or elseshould go in a header file.  Don't put @code{extern} declarations insidefunctions.It used to be common practice to use the same local variables (withnames like @code{tem}) over and over for different values within onefunction.  Instead of doing this, it is better declare a separate localvariable for each distinct purpose, and give it a name which ismeaningful.  This not only makes programs easier to understand, it alsofacilitates optimization by good compilers.  You can also move thedeclaration of each local variable into the smallest scope that includesall its uses.  This makes the program even cleaner.Don't use local variables or parameters that shadow global identifiers.Don't declare multiple variables in one declaration that spans lines.Start a new declaration on each line, instead.  For example, insteadof this:@example@groupint    foo,       bar;@end group@end example@noindentwrite either this:@exampleint foo, bar;@end example@noindentor this:@exampleint foo;int bar;@end example@noindent(If they are global variables, each should have a comment preceding itanyway.)When you have an @code{if}-@code{else} statement nested in another@code{if} statement, always put braces around the @code{if}-@code{else}.Thus, never write like this:@exampleif (foo)  if (bar)    win ();  else    lose ();@end example@noindentalways like this:@exampleif (foo)  @{    if (bar)      win ();    else      lose ();  @}@end exampleIf you have an @code{if} statement nested inside of an @code{else}statement, either write @code{else if} on one line, like this,@exampleif (foo)  @dots{}else if (bar)  @dots{}@end example@noindentwith its @code{then}-part indented like the preceding @code{then}-part,or write the nested @code{if} within braces like this:@exampleif (foo)  @dots{}else  @{    if (bar)      @dots{}  @}@end exampleDon't declare both a structure tag and variables or typedefs in thesame declaration.  Instead, declare the structure tag separatelyand then use it to declare the variables or typedefs.Try to avoid assignments inside @code{if}-conditions.  For example,don't write this:@exampleif ((foo = (char *) malloc (sizeof *foo)) == 0)  fatal ("virtual memory exhausted");@end example@noindentinstead, write this:@examplefoo = (char *) malloc (sizeof *foo);if (foo == 0)  fatal ("virtual memory exhausted");@end exampleDon't make the program ugly to placate @code{lint}.  Please don't insert anycasts to @code{void}.  Zero without a cast is perfectly fine as a nullpointer constant, except when calling a varargs function.@node  Names@section Naming Variables and FunctionsThe names of global variables and functions in a program serve ascomments of a sort.  So don't choose terse names---instead, look fornames that give useful information about the meaning of the variable orfunction.  In a GNU program, names should be English, like othercomments.Local variable names can be shorter, because they are used only withinone context, where (presumably) comments explain their purpose.Please use underscores to separate words in a name, so that the Emacsword commands can be useful within them.  Stick to lower case; reserveupper case for macros and @code{enum} constants, and for name-prefixesthat follow a uniform convention.For example, you should use names like @code{ignore_space_change_flag};don't use names like @code{iCantReadThis}.Variables that indicate whether command-line options have beenspecified should be named after the meaning of the option, not afterthe option-letter.  A comment should state both the exact meaning ofthe option and its letter.  For example,@example@group/* Ignore changes in horizontal whitespace (-b).  */int ignore_space_change_flag;@end group@end exampleWhen you want to define names with constant integer values, use@code{enum} rather than @samp{#define}.  GDB knows about enumerationconstants.Use file names of 14 characters or less, to avoid creating gratuitousproblems on older System V systems.  You can use the program@code{doschk} to test for this.  @code{doschk} also tests for potentialname conflicts if the files were loaded onto an MS-DOS filesystem---something you may or may not care about.@node System Portability@section Portability between System TypesIn the Unix world, ``portability'' refers to porting to different Unixversions.  For a GNU program, this kind of portability is desirable, butnot paramount.The primary purpose of GNU software is to run on top of the GNU kernel,compiled with the GNU C compiler, on various types of @sc{cpu}.  Theamount and kinds of variation among GNU systems on different @sc{cpu}swill be comparable to the variation among Linux-based GNU systems oramong BSD systems today.  So the kinds of portability that are absolutelynecessary are quite limited.But many users do run GNU software on non-GNU Unix or Unix-like systems.So supporting a variety of Unix-like systems is desirable, although notparamount.The easiest way to achieve portability to most Unix-like systems is touse Autoconf.  It's unlikely that your program needs to know moreinformation about the host platform than Autoconf can provide, simplybecause most of the programs that need such knowledge have already beenwritten.Avoid using the format of semi-internal data bases (e.g., directories)when there is a higher-level alternative (@code{readdir}).As for systems that are not like Unix, such as MSDOS, Windows, theMacintosh, VMS, and MVS, supporting them is usually so much work that itis better if you don't.The planned GNU kernel is not finished yet, but you can tell whichfacilities it will provide by looking at the GNU C Library Manual.  TheGNU kernel is based on Mach, so the features of Mach will also beavailable.  However, if you use Mach features, you'll probably havetrouble debugging your program today.@node CPU Portability@section Portability between @sc{cpu}sEven GNU systems will differ because of differences among @sc{cpu}types---for example, difference in byte ordering and alignmentrequirements.  It is absolutely essential to handle these differences.However, don't make any effort to cater to the possibility that an@code{int} will be less than 32 bits.  We don't support 16-bit machinesin GNU.Don't assume that the address of an @code{int} object is also theaddress of its least-significant byte.  This is false on big-endianmachines.  Thus, don't make the following mistake:@exampleint c;@dots{}while ((c = getchar()) != EOF)  write(file_descriptor, &c, 1);@end exampleWhen calling functions, you need not worry about the difference betweenpointers of various types, or between pointers and integers.  On mostmachines, there's no difference anyway.  As for the few machines wherethere is a difference, all of them support @sc{ansi} C, so you can useprototypes (conditionalized to be active only in @sc{ansi} C) to makethe code work on those systems.In certain cases, it is ok to pass integer and pointer argumentsindiscriminately to the same function, and use no prototype on anysystem.  For example, many GNU programs have error-reporting functionsthat pass their arguments along to @code{printf} and friends:@exampleerror (s, a1, a2, a3)     char *s;     int a1, a2, a3;@{  fprintf (stderr, "error: ");  fprintf (stderr, s, a1, a2, a3);@}@end example@noindentIn practice, this works on all machines, and it is much simpler than any``correct'' alternative.  Be sure @emph{not} to use a prototypefor such functions.However, avoid casting pointers to integers unless you really need to.These assumptions really reduce portability, and in most programs theyare easy to avoid.  In the cases where casting pointers to integers isessential---such as, a Lisp interpreter which stores type information aswell as an address in one word---it is ok to do so, but you'll have tomake explicit provisions to handle different word sizes.@node System Functions@section Calling System FunctionsC implementations differ substantially.  @sc{ansi} C reduces but does noteliminate the incompatibilities; meanwhile, many users wish to compileGNU software with pre-@sc{ansi} compilers.  This chapter givesrecommendations for how to use the more or less standard C libraryfunctions to avoid unnecessary loss of portability.@itemize @bullet@itemDon't use the value of @code{sprintf}.  It returns the number ofcharacters written on some systems, but not on all systems.@item@code{main} should be declared to return type @code{int}.  It shouldterminate either by calling @code{exit} or by returning the integerstatus code; make sure it cannot ever return an undefined value.@itemDon't declare system functions explicitly.Almost any declaration for a system function is wrong on some system.To minimize conflicts, leave it to the system header files to declaresystem functions.  If the headers don't declare a function, let itremain undeclared.While it may seem unclean to use a function without declaring it, inpractice this works fine for most system library functions on thesystems where this really happens; thus, the disadvantage is onlytheoretical.  By contrast, actual declarations have frequently causedactual conflicts.@itemIf you must declare a system function, don't specify the argument types.Use an old-style declaration, not an @sc{ansi} prototype.  The more youspecify about the function, the more likely a conflict.@itemIn particular, don't unconditionally declare @code{malloc} or@code{realloc}.Most GNU programs use those functions just once, in functionsconventionally named @code{xmalloc} and @code{xrealloc}.  Thesefunctions call @code{malloc} and @code{realloc}, respectively, andcheck the results.Because @code{xmalloc} and @code{xrealloc} are defined in your program,you can declare them in other files without any risk of type conflict.On most systems, @code{int} is the same length as a pointer; thus, thecalls to @code{malloc} and @code{realloc} work fine.  For the fewexceptional systems (mostly 64-bit machines), you can use@strong{conditionalized} declarations of @code{malloc} and@code{realloc}---or put these declarations in configuration filesspecific to those systems.@itemThe string functions require special treatment.  Some Unix systems havea header file @file{string.h}; others have @file{strings.h}.  Neitherfile name is portable.  There are two things you can do: use Autoconf tofigure out which file to include, or don't include either file.@itemIf you don't include either strings file, you can't get declarations forthe string functions from the header file in the usual way.That causes less of a problem than you might think.  The newer @sc{ansi}string functions should be avoided anyway because many systems stilldon't support them.  The string functions you can use are these:@examplestrcpy   strncpy   strcat   strncatstrlen   strcmp    strncmpstrchr   strrchr@end exampleThe copy and concatenate functions work fine without a declaration aslong as you don't use their values.  Using their values without adeclaration fails on systems where the width of a pointer differs fromthe width of @code{int}, and perhaps in other cases.  It is trivial toavoid using their values, so do that.The compare functions and @code{strlen} work fine without a declarationon most systems, possibly all the ones that GNU software runs on.You may find it necessary to declare them @strong{conditionally} on afew systems.The search functions must be declared to return @code{char *}.  Luckily,there is no variation in the data type they return.  But there isvariation in their names.  Some systems give these functions the names@code{index} and @code{rindex}; other systems use the names@code{strchr} and @code{strrchr}.  Some systems support both pairs ofnames, but neither pair works on all systems.You should pick a single pair of names and use it throughout yourprogram.  (Nowadays, it is better to choose @code{strchr} and@code{strrchr} for new programs, since those are the standard @sc{ansi}names.)  Declare both of those names as functions returning @code{char*}.  On systems which don't support those names, define them as macrosin terms of the other pair.  For example, here is what to put at thebeginning of your file (or in a header) if you want to use the names@code{strchr} and @code{strrchr} through

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲精品福利| 秋霞国产午夜精品免费视频| 亚洲一区在线视频| 老司机精品视频一区二区三区| 国产精品综合一区二区三区| 成人动漫一区二区在线| 欧美一区二区三区公司| 国产精品视频线看| 免费日韩伦理电影| 色婷婷国产精品综合在线观看| 久久综合久久综合久久综合| 一区二区三区国产精华| 国产精品99久久久久久似苏梦涵| 欧美性欧美巨大黑白大战| 久久精品一区四区| 青娱乐精品在线视频| 色中色一区二区| 日本一区二区三区四区在线视频| 日韩av网站免费在线| 色婷婷av一区二区三区大白胸| 精品99一区二区三区| 亚洲成人免费电影| 91麻豆免费看| 国产精品无人区| 国产麻豆精品视频| 日韩欧美一卡二卡| 亚洲午夜久久久久久久久久久 | 亚洲色图另类专区| 国产精品资源站在线| 91精品国产乱码久久蜜臀| 一级日本不卡的影视| 91一区一区三区| 国产精品大尺度| 国产aⅴ综合色| 国产日产欧美一区| 国产麻豆9l精品三级站| 日韩一区二区三区免费观看| 午夜私人影院久久久久| 欧美日韩一区二区在线观看 | 欧美精品一区男女天堂| 日本女优在线视频一区二区| 欧美剧情片在线观看| 亚洲午夜一二三区视频| 欧美色精品天天在线观看视频| 亚洲精品视频观看| 在线看国产日韩| 亚洲国产va精品久久久不卡综合 | 国产成人日日夜夜| 久久精品视频一区| 国产福利一区二区| 国产精品灌醉下药二区| 99精品热视频| 亚洲国产中文字幕| 欧美一区二区三区影视| 老司机精品视频导航| 日韩精品一区二| 国产激情精品久久久第一区二区 | 亚洲精品国产精华液| 欧美色中文字幕| 奇米色一区二区三区四区| 精品欧美久久久| 成人黄色电影在线 | 精品在线你懂的| 国产三级精品三级| 一本大道久久a久久精品综合| 午夜精品福利一区二区三区蜜桃| 91精品国产丝袜白色高跟鞋| 久久aⅴ国产欧美74aaa| 国产精品欧美久久久久一区二区| 一本色道亚洲精品aⅴ| 日韩专区中文字幕一区二区| 国产亚洲欧美日韩俺去了| 91日韩在线专区| 视频在线观看91| 国产精品欧美综合在线| 欧美福利视频一区| 国产69精品久久久久毛片| 一区二区免费看| 久久久精品人体av艺术| 91福利在线播放| 狠狠色丁香久久婷婷综合_中| 日韩高清一区二区| 国产校园另类小说区| 欧美丝袜丝交足nylons图片| 黑人巨大精品欧美一区| 一区二区三区免费观看| 2021国产精品久久精品| 欧美色网站导航| 成人免费黄色在线| 日韩国产在线观看| 国产精品国产三级国产aⅴ中文 | 韩国视频一区二区| 亚洲美女淫视频| 国产丝袜美腿一区二区三区| 欧美一区二区私人影院日本| 99久久综合色| 国产精品乡下勾搭老头1| 日韩综合一区二区| 亚洲欧美国产高清| 国产婷婷色一区二区三区在线| 欧美欧美午夜aⅴ在线观看| aaa欧美色吧激情视频| 国产美女一区二区三区| 免费看欧美女人艹b| 亚洲国产成人porn| 亚洲综合久久av| 国产精品视频看| 久久精品欧美一区二区三区麻豆| 日韩欧美精品在线视频| 欧美丰满少妇xxxbbb| 欧美在线高清视频| 色婷婷激情综合| 色婷婷av一区二区三区大白胸 | 91在线视频网址| 成人精品国产免费网站| 国产精品996| 国产一区二区三区免费看| 捆绑紧缚一区二区三区视频| 日本中文字幕一区| 琪琪久久久久日韩精品| 日韩黄色片在线观看| 日本亚洲免费观看| 蜜乳av一区二区| 精品亚洲欧美一区| 国内成人精品2018免费看| 韩国女主播成人在线观看| 麻豆精品一区二区av白丝在线 | 亚洲精品国产成人久久av盗摄| 日本v片在线高清不卡在线观看| 亚洲国产日韩a在线播放性色| 一区二区三区在线观看欧美| 亚洲欧美偷拍另类a∨色屁股| 亚洲欧美日韩国产手机在线| 亚洲自拍偷拍av| 亚洲444eee在线观看| 男男gaygay亚洲| 九九在线精品视频| 粉嫩绯色av一区二区在线观看| 成人福利电影精品一区二区在线观看| av在线不卡观看免费观看| av欧美精品.com| 欧美性感一类影片在线播放| 欧美日韩国产影片| 精品乱人伦小说| 国产欧美综合在线| 亚洲综合成人网| 麻豆专区一区二区三区四区五区| 精品无人区卡一卡二卡三乱码免费卡| 国产福利91精品| 在线视频综合导航| 日韩三级在线免费观看| 欧美激情综合五月色丁香| 一区二区三区久久| 九九视频精品免费| 97精品国产露脸对白| 欧美疯狂做受xxxx富婆| 国产欧美一区二区精品性色| 亚洲日本在线观看| 蜜桃视频在线观看一区二区| 国产精品亚洲一区二区三区妖精| 色综合久久88色综合天天免费| 欧美一区二视频| 中文字幕中文字幕一区| 日韩和欧美一区二区| 成人高清视频免费观看| 欧美精品日韩精品| 国产欧美精品日韩区二区麻豆天美| 综合分类小说区另类春色亚洲小说欧美| 亚洲二区在线视频| 国产1区2区3区精品美女| 91成人在线免费观看| 精品国产网站在线观看| 一级做a爱片久久| 国产传媒日韩欧美成人| 4438x亚洲最大成人网| 国产精品美女久久福利网站| 免费在线观看一区| 在线视频你懂得一区| 久久久影院官网| 视频在线观看一区二区三区| 日韩欧美国产一区二区三区 | 5月丁香婷婷综合| 亚洲日本免费电影| 国产成人av影院| 日韩欧美中文字幕公布| 亚洲午夜久久久久久久久电影网| 高清视频一区二区| 日韩女同互慰一区二区| 亚洲bt欧美bt精品| 91老司机福利 在线| 国产精品人成在线观看免费| 激情成人综合网| 日韩欧美的一区二区| 午夜激情综合网| 欧美影院一区二区| 伊人色综合久久天天人手人婷| 成人av一区二区三区| 国产日韩欧美一区二区三区乱码| 黄一区二区三区| 精品国产99国产精品|