36. Sinha, Alok K. Network Programming in Windows NT, Addison-Wesley, Reading, MA, 1996. ISBN: 0-201-59056-5.
37. Solomon, David. Inside Windows NT, Second Edition, Microsoft Press, Redmond, WA, 1998. ISBN: 1-57-231677-2.
38. Solomon, David, and Russinovich, Mark. Inside Windows 2000, Microsoft Press, Redmond, WA, 2000. ISBN: 1-73-561021-5.
39. Standish, Thomas A. Data Structures, Algorithms and Software Principles in C, Addison-Wesley, Reading, MA, 1995. ISBN: 0-201-59118-9.
40. Stevens, W. Richard. Advanced Programming in the UNIX Environment, Addison-Wesley, Reading, MA, 1992. ISBN: 0-201-56317-7.
41. Stevens, W. Richard. TCP/IP Illustrated, Volume3: TCP for Transactions, HTTP, NNTP, and the UNIX Domain Protocols, Addison-Wesley, Reading, MA, 1996. ISBN:0-201-63495-3.
42. Stevens, W. Richard. UNIX Network Programming — Networking APIs: Sockets and XTI, Volume I, Prentice-Hall, Upper Saddle River, NJ, 1998. ISBN: 0-13-490012-X.
43. Sutton, Stephen A. Windows NT Security Guide, Addison-Wesley, Reading, MA, 1997. ISBN: 0-201-41969-6.
44. Triebel, Walter A. Itanium Architecture for Software Developers, Intel Press, 2000. ISBN: 0-970-28464-0.
45. Unicode Consortium, The. The Unicode Standard, Version 2.0, Addison-Wesley, Reading, MA, 1996. ISBN: 0-201-48345-9.
46. Weiss, Mark Allen. Data Structures and Algorithm Analysis in C, Addison-Wesley, Reading, MA, 1993. ISBN: 0-8053-5440-9.
47. Williams, Robert, and Walla, Mark. The Ultimate Windows Server 2003 System Administrator's Guide, Addison-Wesley, Boston, MA, 2003. ISBN: 0-201-79106-4.
48. Керниган, Брайан, Ритчи, Деннис, Язык программирования Си, "Невский Диалект", 2000.
49. Реймонд, Эрик, Искусство программирования для UNIX, Издательский дом "Вильямс", 2005.
Тем не менее, в тех местах книги, где речь идет о средствах, неприменимых в Windows 9х, делаются соответствующие оговорки.
Автор вовсе не стремится каким-либо образом дополнить существующие коммерческие продукты, а также продукты с открытым исходным кодом, в которых предоставляются полные наборы утилит UNIX. Хотя приводимые примеры и могут найти практическое применение, они предназначены, главным образом, для того, чтобы продемонстрировать возможности функций Windows. Как бы то ни было, читатели, не знакомые с UNIX, не будут испытывать каких-либо трудностей в понимании программ или их функциональности.
Замечания, сделанные в адрес UNIX, в равной степени относятся также к Linux и некоторым другим системам, поддерживающим POSIX API.
Иногда, имея в виду в основном серверы, но не исключая и персональные приложения, говорят о возможной угрозе преобладанию Windows со стороны Linux. Хотя сама по себе эта тема является чрезвычайно интересной, размышления о путях будущего развития систем, не имеющие непосредственного отношения к рассмотрению сравнительных достоинств и недостатков Windows и Linux, выходят за рамки данной книги.
О том, насколько разнообразен круг систем, на которых может быть развернута Windows, говорит хотя бы тот факт, что диапазон компьютеров, использованных для тестирования приведенных в этой книге примеров программ, простирается от давно забытой 486-й модели с 16 Мбайт ОЗУ до четырехпроцессорного (процессоры Xeon с рабочей частотой 2 ГГц) сервера масштаба предприятия, оборудованного ОЗУ емкостью 8 Гбайт.
Протоколы Windows Sockets и RPC не являются частью самой Windows, что не воспрепятствовало описанию сокетов в данной книге, поскольку они самым непосредственным образом укладываются в рамки интересующей нас общей темы и используемого подхода.
Несмотря на аналогию между упомянутыми дескрипторами и дескрипторами HWND и HDC, используемыми при написании программ для Windows GUI, между ними существует ряд отличий.
Такие типы, как PVOID, входят в include-файлы без префикса, но в примерах мы будем придерживаться правил их употребления, принятых во многих книгах и документации Microsoft.
О том, какими быстрыми темпами улучшаются показатели стоимости и производительности, вы можете судить хотя бы по тому факту, что еще в 1997 году в первом издании этой книги автор, без тени смущения или неловкости, в качестве необходимых требований указывал 16 Мбайт ОЗУ и 256 Мбайт свободного места на жестком диске. Для написания настоящего, третьего издания книги используется лэптоп стоимостью менее $1000, с объемом ОЗУ в более чем 10 раз превышающим прежний (что больше ранее требуемого объема дискового пространства), 100-кратной емкостью жесткого диска и 50-кратным превышением быстродействия процессора по сравнению с аналогичными характеристиками компьютера стоимостью $2500, который использовался при подготовке первого издания.
В приложении А показано, как исключить ненужные определения для ускорения компиляции и экономии дискового пространства.
Обратите внимание на то, что логика цикла зависит от принятого в стандарте ANSI С порядка вычисления логических операций "и" (&&) и "или" (||) в направлении слева направо.
Читать дальше