亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
欧美精品成人一区二区三区四区| 亚洲国产毛片aaaaa无费看| 日韩欧美国产一区在线观看| 97久久超碰精品国产| 麻豆精品视频在线| 九九在线精品视频| 成人激情免费网站| 色中色一区二区| 欧美精品色综合| 欧美电影免费观看高清完整版 | 日韩视频在线你懂得| 日韩欧美激情四射| 久久看人人爽人人| 亚洲六月丁香色婷婷综合久久| 亚洲妇女屁股眼交7| 裸体健美xxxx欧美裸体表演| 国产成人综合在线观看| 亚洲高清免费一级二级三级| 欧美高清性hdvideosex| 欧美一区二区三区的| 精品成人一区二区三区四区| 91豆麻精品91久久久久久| 日韩一区二区三区视频在线观看| 亚洲高清在线视频| 精品日本一线二线三线不卡| 六月婷婷色综合| 国产片一区二区| 日韩一级免费观看| 亚洲午夜三级在线| 日韩一区二区在线看| 久久机这里只有精品| 中文字幕在线观看不卡视频| 在线中文字幕一区| 国产乱码精品一品二品| 国产精品色一区二区三区| 欧美日韩中文另类| 精品午夜一区二区三区在线观看| 国产日韩欧美在线一区| 欧美视频在线观看一区二区| 韩国精品免费视频| 亚洲伦理在线免费看| 日韩精品一区二区三区四区| 成人网在线播放| 国内成人免费视频| 婷婷国产v国产偷v亚洲高清| 中文字幕一区二区三区四区不卡 | 国产成人免费xxxxxxxx| 亚洲成av人综合在线观看| 亚洲婷婷国产精品电影人久久| 日韩欧美国产系列| 欧美视频在线不卡| 一道本成人在线| 一本大道久久a久久精品综合| 国产成人av自拍| 成人少妇影院yyyy| 成人激情小说乱人伦| 不卡在线视频中文字幕| 粉嫩av一区二区三区粉嫩| 国产91精品一区二区麻豆网站| 国内精品在线播放| 成人深夜在线观看| 在线看国产日韩| 欧美视频一区二区在线观看| 欧美精品乱码久久久久久按摩| 欧美精品色综合| www激情久久| 一区二区三区在线播放| 午夜欧美一区二区三区在线播放| 亚洲丶国产丶欧美一区二区三区| 亚洲电影一区二区三区| 日本网站在线观看一区二区三区| 国产黄人亚洲片| 色成人在线视频| 精品对白一区国产伦| 亚洲视频香蕉人妖| 美女网站视频久久| 成人av综合在线| 欧美人成免费网站| 国产精品色噜噜| 日韩精品免费专区| 99热这里都是精品| 精品动漫一区二区三区在线观看| 中文字幕乱码日本亚洲一区二区 | 7777精品伊人久久久大香线蕉 | 国产成人av福利| 亚洲aⅴ怡春院| 蜜臀久久久久久久| 欧美在线999| 精品国产一二三区| 樱桃国产成人精品视频| 麻豆久久久久久| 欧美综合亚洲图片综合区| 久久久精品中文字幕麻豆发布| 亚洲第一精品在线| 成人18视频日本| 久久综合一区二区| 精品一区二区在线免费观看| 欧美亚洲精品一区| 一区二区激情小说| 国产一区美女在线| 日韩美一区二区三区| 日韩国产精品久久久久久亚洲| 91视频www| 亚洲欧美日韩在线不卡| av亚洲精华国产精华精华| 亚洲欧美综合另类在线卡通| 成人在线综合网站| 国产精品久久久久天堂| 成人视屏免费看| 亚洲蜜臀av乱码久久精品蜜桃| 91视频你懂的| 午夜精品久久久久久久久久久| 色女孩综合影院| 亚洲午夜电影网| 欧美xxxxxxxx| 国产成人av自拍| 亚洲成人黄色小说| 欧美一区二区日韩一区二区| 精久久久久久久久久久| 日韩欧美一区二区三区在线| 蜜臂av日日欢夜夜爽一区| 日韩一级免费观看| 国产成人精品三级| 中文字幕一区不卡| 欧美一级一区二区| 暴力调教一区二区三区| 亚洲综合久久av| 欧美一区二区三区视频在线观看| 国产一区二区三区精品视频 | av中文字幕亚洲| 亚洲1区2区3区4区| 中文文精品字幕一区二区| 欧美日韩一级视频| a级高清视频欧美日韩| 韩国女主播一区| 亚洲一区二区三区四区在线免费观看 | 久国产精品韩国三级视频| 综合自拍亚洲综合图不卡区| 91精品国产高清一区二区三区| 成人午夜大片免费观看| 免费成人美女在线观看| 亚洲福利一区二区| 亚洲欧洲日产国产综合网| 欧美喷水一区二区| 日韩中文字幕一区二区三区| 亚洲女人小视频在线观看| 欧美国产精品一区二区| 精品国产第一区二区三区观看体验| av福利精品导航| 狠狠色丁香久久婷婷综合_中 | 欧亚洲嫩模精品一区三区| 久久 天天综合| 亚洲mv在线观看| 亚洲色图一区二区| 亚洲色图一区二区三区| 亚洲综合色视频| 亚洲国产wwwccc36天堂| 天天射综合影视| 蜜桃视频在线观看一区| 石原莉奈在线亚洲二区| 香蕉影视欧美成人| 美女视频网站黄色亚洲| 久久91精品国产91久久小草| 狠狠色2019综合网| 国产成人在线看| 色婷婷av一区| 日韩免费观看2025年上映的电影| 久久久精品黄色| 轻轻草成人在线| av在线一区二区三区| 91一区一区三区| 欧美午夜电影网| 欧美日韩在线不卡| 91精品久久久久久蜜臀| 欧美一区二区三区婷婷月色| 欧美一区二区视频在线观看| 欧美日韩电影一区| 久久久精品日韩欧美| 午夜久久福利影院| 国产精品视频免费| 一区二区国产视频| 国产精品2024| 欧美三级中文字| 欧美一级片免费看| 国产日韩欧美精品电影三级在线 | 色激情天天射综合网| 欧美精品日韩综合在线| 国产精品视频观看| 日本成人在线看| 欧美在线视频你懂得| 国产精品免费网站在线观看| 久久精品男人天堂av| 日本aⅴ精品一区二区三区| 99久久综合99久久综合网站| 欧美吞精做爰啪啪高潮| 国产精品久久久久久久久快鸭| 狠狠久久亚洲欧美| 久久久一区二区三区| 久久99精品久久久久久国产越南| 777亚洲妇女|