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

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

?? hackguide.doc

?? ncurses 庫 可能有用酒用 沒用就算了 我覺得還可以用
?? DOC
?? 第 1 頁 / 共 3 頁
字號:
                          A Hacker's Guide to NCURSES                                   Contents     * Abstract     * Objective of the Package          + Why System V Curses?          + How to Design Extensions     * Portability and Configuration     * Documentation Conventions     * How to Report Bugs     * A Tour of the Ncurses Library          + Library Overview          + The Engine Room          + Keyboard Input          + Mouse Events          + Output and Screen Updating     * The Forms and Menu Libraries     * A Tour of the Terminfo Compiler          + Translation of Non-use Capabilities          + Use Capability Resolution          + Source-Form Translation     * Other Utilities     * Style Tips for Developers     * Porting Hints                                   Abstract   This document is a hacker's tour of the ncurses library and utilities.   It  discusses  design  philosophy,  implementation  methods,  and  the   conventions  used  for  coding  and  documentation.  It is recommended   reading  for  anyone  who  is  interested  in  porting,  extending  or   improving the package.                           Objective of the Package   The objective of the ncurses package is to provide a free software API   for character-cell terminals and terminal emulators with the following   characteristics:     * Source-compatible    with    historical   curses   implementations       (including the original BSD curses and System V curses.     * Conformant  with the XSI Curses standard issued as part of XPG4 by       X/Open.     * High-quality  --  stable and reliable code, wide portability, good       packaging, superior documentation.     * Featureful  --  should  eliminate  as  much  of  the drudgery of C       interface programming as possible, freeing programmers to think at       a higher level of design.   These  objectives  are  in  priority  order.  So,  for example, source   compatibility  with  older  version  must  trump  featurefulness -- we   cannot  add  features  if  it  means  breaking  the portion of the API   corresponding to historical curses versions.Why System V Curses?   We  used System V curses as a model, reverse-engineering their API, in   order to fulfill the first two objectives.   System  V  curses implementations can support BSD curses programs with   just a recompilation, so by capturing the System V API we also capture   BSD's.   More  importantly  for  the  future, the XSI Curses standard issued by   X/Open  is  explicitly and closely modeled on System V. So conformance   with System V took us most of the way to base-level XSI conformance.How to Design Extensions   The  third  objective (standards conformance) requires that it be easy   to  condition  source  code  using  ncurses  so  that  the  absence of   nonstandard extensions does not break the code.   Accordingly,  we  have  a  policy of associating with each nonstandard   extension  a  feature  macro, so that ncurses client code can use this   macro  to  condition  in  or  out  the  code that requires the ncurses   extension.   For  example,  there is a macro NCURSES_MOUSE_VERSION which XSI Curses   does  not  define, but which is defined in the ncurses library header.   You can use this to condition the calls to the mouse API calls.                         Portability and Configuration   Code  written  for  ncurses may assume an ANSI-standard C compiler and   POSIX-compatible  OS  interface.  It may also assume the presence of a   System-V-compatible select(2) call.   We encourage (but do not require) developers to make the code friendly   to less-capable UNIX environments wherever possible.   We  encourage  developers  to  support  OS-specific  optimizations and   methods not available under POSIX/ANSI, provided only that:     * All  such  code  is properly conditioned so the build process does       not attempt to compile it under a plain ANSI/POSIX environment.     * Adding    such   implementation   methods   does   not   introduce       incompatibilities in the ncurses API between platforms.   We  use GNU autoconf(1) as a tool to deal with portability issues. The   right way to leverage an OS-specific feature is to modify the autoconf   specification  files  (configure.in  and  aclocal.m4)  to set up a new   feature macro, which you then use to condition your code.                           Documentation Conventions   There  are  three kinds of documentation associated with this package.   Each has a different preferred format:     * Package-internal files (README, INSTALL, TO-DO etc.)     * Manual pages.     * Everything else (i.e., narrative documentation).   Our conventions are simple:    1. Maintain package-internal files in plain text. The expected viewer       for  them  more(1)  or  an  editor  window;  there's  no  point in       elaborate mark-up.    2. Mark  up manual pages in the man macros. These have to be viewable       through traditional man(1) programs.    3. Write everything else in HTML.   When  in  doubt,  HTMLize  a  master and use lynx(1) to generate plain   ASCII (as we do for the announcement document).   The reason for choosing HTML is that it's (a) well-adapted for on-line   browsing through viewers that are everywhere; (b) more easily readable   as  plain  text  than most other mark-ups, if you don't have a viewer;   and   (c)   carries   enough  information  that  you  can  generate  a   nice-looking  printed  version  from  it.  Also,  of  course,  it make   exporting things like the announcement document to WWW pretty trivial.                              How to Report Bugs   The  reporting  address  for  bugs  is  bug-ncurses@gnu.org. This is a   majordomo  list;  to join, write to bug-ncurses-request@gnu.org with a   message containing the line:             subscribe <name>@<host.domain>   The  ncurses  code is maintained by a small group of volunteers. While   we  try  our  best to fix bugs promptly, we simply don't have a lot of   hours  to  spend  on  elementary  hand-holding. We rely on intelligent   cooperation  from  our  users.  If  you  think you have found a bug in   ncurses,  there  are some steps you can take before contacting us that   will help get the bug fixed quickly.   In  order  to  use  our bug-fixing time efficiently, we put people who   show us they've taken these steps at the head of our queue. This means   that  if you don't, you'll probably end up at the tail end and have to   wait a while.    1. Develop a recipe to reproduce the bug.       Bugs  we  can reproduce are likely to be fixed very quickly, often       within  days.  The most effective single thing you can do to get a       quick  fix  is  develop a way we can duplicate the bad behavior --       ideally,  by  giving  us source for a small, portable test program       that  breaks the library. (Even better is a keystroke recipe using       one of the test programs provided with the distribution.)    2. Try to reproduce the bug on a different terminal type.       In  our experience, most of the behaviors people report as library       bugs are actually due to subtle problems in terminal descriptions.       This is especially likely to be true if you're using a traditional       asynchronous  terminal  or PC-based terminal emulator, rather than       xterm or a UNIX console entry.       It's therefore extremely helpful if you can tell us whether or not       your  problem  reproduces  on other terminal types. Usually you'll       have  both  a  console  type  and  xterm available; please tell us       whether or not your bug reproduces on both.       If  you  have  xterm  available,  it is also good to collect xterm       reports for different window sizes. This is especially true if you       normally  use  an unusual xterm window size -- a surprising number       of the bugs we've seen are either triggered or masked by these.    3. Generate and examine a trace file for the broken behavior.       Recompile   your  program  with  the  debugging  versions  of  the       libraries.  Insert  a  trace()  call  with  the  argument  set  to       TRACE_UPDATE.  (See "Writing Programs with NCURSES" for details on       trace  levels.) Reproduce your bug, then look at the trace file to       see what the library was actually doing.       Another  frequent  cause  of  apparent  bugs is application coding       errors  that  cause  the  wrong  things  to  be put on the virtual       screen. Looking at the virtual-screen dumps in the trace file will       tell  you  immediately if this is happening, and save you from the       possible  embarrassment of being told that the bug is in your code       and is your problem rather than ours.       If  the  virtual-screen  dumps  look correct but the bug persists,       it's  possible  to  crank up the trace level to give more and more       information  about  the  library's  update actions and the control       sequences  it  issues  to  perform them. The test directory of the       distribution contains a tool for digesting these logs to make them       less tedious to wade through.       Often you'll find terminfo problems at this stage by noticing that       the  escape  sequences put out for various capabilities are wrong.       If  not,  you're likely to learn enough to be able to characterize       any bug in the screen-update logic quite exactly.    4. Report details and symptoms, not just interpretations.       If  you  do the preceding two steps, it is very likely that you'll       discover the nature of the problem yourself and be able to send us       a  fix.  This  will  create happy feelings all around and earn you       good  karma for the first time you run into a bug you really can't       characterize and fix yourself.       If  you're  still  stuck,  at  least  you'll know what to tell us.       Remember,  we  need  details.  If  you guess about what is safe to       leave out, you are too likely to be wrong.       If  your  bug  produces a bad update, include a trace file. Try to       make  the  trace  at the least voluminous level that pins down the       bug.  Logs  that  have  been through tracemunch are OK, it doesn't       throw   away   any   information  (actually  they're  better  than       un-munched ones because they're easier to read).       If  your bug produces a core-dump, please include a symbolic stack       trace generated by gdb(1) or your local equivalent.       Tell us about every terminal on which you've reproduced the bug --       and  every  terminal on which you can't. Ideally, sent us terminfo       sources for all of these (yours might differ from ours).       Include  your ncurses version and your OS/machine type, of course!       You can find your ncurses version in the curses.h file.   If  your  problem  smells  like a logic error or in cursor movement or   scrolling  or a bad capability, there are a couple of tiny test frames   for  the  library  algorithms in the progs directory that may help you   isolate  it. These are not part of the normal build, but do have their   own make productions.   The   most  important  of  these  is  mvcur,  a  test  frame  for  the   cursor-movement  optimization  code.  With  this  program, you can see   directly  what  control sequences will be emitted for any given cursor   movement or scroll/insert/delete operations. If you think you've got a   bad  capability  identified,  you  can  disable it and test again. The   program is command-driven and has on-line help.   If  you think the vertical-scroll optimization is broken, or just want   to  understand  how it works better, build hashmap and read the header   comments  of hardscroll.c and hashmap.c; then try it out. You can also   test the hardware-scrolling optimization separately with hardscroll.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
香蕉久久夜色精品国产使用方法| 久久99精品国产麻豆不卡| 欧美成人伊人久久综合网| 97久久超碰精品国产| 国产在线观看免费一区| 亚洲国产欧美一区二区三区丁香婷| 久久久精品免费免费| 欧美人与禽zozo性伦| 色菇凉天天综合网| 成人午夜电影久久影院| 精彩视频一区二区| 日韩二区三区四区| 亚洲国产精品一区二区www在线 | 成人综合婷婷国产精品久久| 日韩黄色免费电影| 亚洲激情自拍视频| 亚洲欧洲日韩一区二区三区| 26uuu亚洲| 日韩美女视频在线| 日韩一级高清毛片| 欧美巨大另类极品videosbest | 亚洲1区2区3区视频| 亚洲欧美日本韩国| 国产精品美女久久久久aⅴ国产馆| 精品久久久久久久久久久久久久久久久 | 亚洲小少妇裸体bbw| 亚洲裸体xxx| 亚洲三级在线免费观看| 中文字幕欧美一| 中文字幕精品一区二区精品绿巨人| www国产精品av| 欧美成人乱码一区二区三区| 日韩你懂的在线观看| 日韩女优毛片在线| 26uuu成人网一区二区三区| 久久综合久久99| www国产亚洲精品久久麻豆| 久久久午夜精品| 久久影院视频免费| 欧美国产视频在线| 欧美极品少妇xxxxⅹ高跟鞋| 国产欧美精品日韩区二区麻豆天美| 欧美精品一区二| 国产日韩欧美一区二区三区乱码| 欧美国产亚洲另类动漫| 中文字幕制服丝袜成人av| 亚洲桃色在线一区| 亚洲综合无码一区二区| 亚洲aaa精品| 久久国产精品72免费观看| 国产一区亚洲一区| 国产a级毛片一区| 99久久国产综合精品色伊| 一本一道久久a久久精品综合蜜臀| 91福利资源站| 在线播放91灌醉迷j高跟美女| 91精品国产综合久久久久久久| 日韩欧美高清在线| 中文字幕欧美区| 亚洲精品国产a| 蜜桃传媒麻豆第一区在线观看| 国产麻豆视频一区| av在线一区二区| 884aa四虎影成人精品一区| 欧美sm极限捆绑bd| 中文字幕日韩欧美一区二区三区| 亚洲一区av在线| 蜜臀av性久久久久蜜臀av麻豆| 成人一区在线看| 欧美午夜电影在线播放| 26uuu成人网一区二区三区| 亚洲欧洲成人自拍| 日本v片在线高清不卡在线观看| 国产成人在线视频网站| 欧洲av一区二区嗯嗯嗯啊| 精品少妇一区二区三区在线播放| 国产精品视频麻豆| 日韩av网站在线观看| 丁香婷婷综合五月| 欧美一级日韩免费不卡| 国产精品日日摸夜夜摸av| 日本视频一区二区| 99精品国产91久久久久久| 日韩欧美亚洲一区二区| 亚洲欧美乱综合| 韩国毛片一区二区三区| 色婷婷av一区二区三区gif| 亚洲精品一区二区三区福利| 亚洲免费在线视频| 国产一区二区精品久久99| 欧洲生活片亚洲生活在线观看| 精品国产91久久久久久久妲己 | 国产精品影视网| 欧美私模裸体表演在线观看| 久久久久久久久久久久电影| 亚洲成人福利片| 97国产精品videossex| 欧美精品一区二区三| 亚洲一区二区三区在线看| 波多野结衣一区二区三区| 精品国产乱码久久久久久老虎| 亚洲午夜久久久久久久久久久 | 中文字幕中文字幕在线一区| 理论电影国产精品| 欧美日韩国产乱码电影| 最新国产成人在线观看| 国产中文字幕精品| 欧美一区二区三区在线看| 亚洲国产视频a| 91麻豆免费在线观看| 国产视频一区二区在线观看| 男人的天堂久久精品| 欧美写真视频网站| 亚洲品质自拍视频| 成人福利视频在线| 中文欧美字幕免费| 国产成人av网站| 久久丝袜美腿综合| 精品一区二区免费看| 91麻豆精品91久久久久久清纯 | 日本一区二区免费在线 | 欧美亚洲综合久久| 亚洲精品一二三| 色婷婷精品大在线视频| 亚洲婷婷综合色高清在线| 成人av网在线| 成人欧美一区二区三区黑人麻豆| 成人免费毛片高清视频| 国产精品久久三区| www.99精品| 亚洲国产精品t66y| va亚洲va日韩不卡在线观看| 一区视频在线播放| 色悠悠久久综合| 亚洲黄色尤物视频| 欧美亚洲国产怡红院影院| 亚洲国产乱码最新视频| 欧美人伦禁忌dvd放荡欲情| 日韩高清国产一区在线| 欧美一区二区福利在线| 经典三级一区二区| 国产女主播在线一区二区| 99久久99久久久精品齐齐| 一区二区三区在线免费观看| 欧美日韩国产经典色站一区二区三区| 亚洲丶国产丶欧美一区二区三区| 欧美嫩在线观看| 久久99精品久久久| 国产清纯白嫩初高生在线观看91 | 国产成人av福利| 亚洲国产精品成人综合| 一本到不卡精品视频在线观看| 亚洲综合无码一区二区| 欧美一级片在线| 国产精品一区二区果冻传媒| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆 | 国产v日产∨综合v精品视频| 综合久久一区二区三区| 欧美色综合影院| 精油按摩中文字幕久久| 国产清纯白嫩初高生在线观看91| 91免费精品国自产拍在线不卡| 亚洲国产日产av| 国产亚洲人成网站| 欧洲一区在线观看| 久久国产精品99精品国产| 中文字幕一区在线| 欧美一区二区免费视频| 风流少妇一区二区| 亚洲第一会所有码转帖| 久久精品人人做人人综合| 一本大道久久a久久精二百| 捆绑调教一区二区三区| 1024国产精品| 日韩一区二区免费在线电影 | 欧美乱熟臀69xxxxxx| 国产麻豆一精品一av一免费| 亚洲一二三四久久| 精品国产亚洲一区二区三区在线观看| 97久久超碰国产精品| 精品在线播放午夜| 亚洲激情校园春色| 国产三区在线成人av| 91精品中文字幕一区二区三区| 国产成人久久精品77777最新版本| 亚洲综合小说图片| 欧美韩日一区二区三区四区| 91精品国产综合久久香蕉的特点| 成人免费av网站| 美女一区二区三区在线观看| 亚洲免费观看在线视频| 久久青草国产手机看片福利盒子| 欧美色窝79yyyycom| 99免费精品视频| 极品少妇xxxx精品少妇| 亚洲一级二级三级在线免费观看| 国产欧美一区二区三区网站 | 欧日韩精品视频| 国产成人av电影在线| 毛片一区二区三区|