KnigaRead.com/
KnigaRead.com » Компьютеры и Интернет » Программирование » Джонсон Харт - Системное программирование в среде Windows

Джонсон Харт - Системное программирование в среде Windows

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Джонсон Харт, "Системное программирование в среде Windows" бесплатно, без регистрации.
Перейти на страницу:

9. Custer, Helen. Inside Windows NT, Microsoft Press, Redmond, WA, 1993. ISBN: 155615-481-X. Second edition by David Solomon replaces this book, which in turn is replaced by Solomon and Russinovich (both in this bibliography).

10. Custer, Helen. Inside the Windows NT File System, Microsoft Press, Redmond, WA, 1994. ISBN: 155615-660-X.

11. Department of Defense. U.S. Department of Defense Trusted Computer System Evaluation Criteria, formerly known as DoD Trusted Computer System Evaluation Criteria, DoD 5200.28-STD, DoD Computer Security Center, 1985. Available at http://www.radium.ncsc.mil/tpep/library/rainbow.

12. Donahoo, Michael, and Calvert, Kenneth. TCP/IP Sockets in C: Practical Guide for Programmers, Morgan Kaufmann, San Francisco, CA, 2000. ISBN: 1-55860-826-5.

13. Eddon, G., and Eddon, D. Inside Distributed COM, Microsoft Press, Redmond, WA, 1998. ISBN: 1-57231-849-X.

14. Feuer, Alan. MFC Programming, Addison-Wesley, Reading, MA, 1997. ISBN: 0-201-63358-2.

15. Gilly, Daniel, and the staff of O'Reilly & Associates, Inc. UNIX in a Nutshell, O'Reilly & Associates, Inc., Sebastopol, CA, 1992. ISBN: 1-56592-001-5.

16. Hennessy, John L., and Patterson, David A. Computer Architecture: A Quantitative Approach, Third Edition, Morgan Kaufmann, San Francisco, CA, 2003. ISBN: 1-55860-596-7.

17. Hipson, Peter D. Expert Guide to Windows NT 4 Registry, Sybex, 1999. ISBN: 0-7821-1983-2.

18. Josutis, Nicolai M. The C++ Standard Library: A Tutorial and Reference, Addison-Wesley, Reading, MA, 1999. ISBN: 0-20-137926-0.

19. Kano, Nadine. Developing International Applications for Windows 95 and Windows NT, Microsoft Press, Redmond, WA, 1995. ISBN: 1-55615-840-8.

20. Kernighan, Brian W., and Ritchie, Dennis M. The С Programming Language, Second Edition, Prentice-Hall, Englewood Cliffs, NJ, 1988. ISBN: 0-13-110370-9.

21. Miller, Kevin. Professional NT Services, WROX, Indianapolis, IN, 1998. ISBN: 1-86100-130-4.

22. Naik, Dilip. Inside Windows Storage — Server Storage Technologies for Windows 2000, Windows Serve r2003, and Beyond, Addison-Wesley, Boston, MA, 2003. ISBN: 0-321-12698-X.

23. Nottingham, Jason P., Makofsky, Steven, and Tucker, Andrew. SAMS Teach Yourself Windows CE Programming in 24 Hours, SAMS, Indianapolis, IN, 1999. ISBN: 0-6723-1658-7.

24. Oney, Walter. Programming the Microsoft Windows Driver Model, Second Edition, Microsoft Press, Redmond, WA, 2002. ISBN: 0-735-61803-8.

25. Petzold, Charles. Programming Windows, Fifth Edition, Microsoft Press, Redmond, WA, 1998. ISBN: 1-572-31995-X.

26. Pham, Thuan, and Garg, Pankaj. Multithreaded Programming with Win32, Prentice-Hall, Englewood Cliffs, NJ, 1998. ISBN: 0-130-10912-6.

27. Plauger, P.J. The Standard С Library, Prentice-Hall, Englewood Cliffs, NJ, 1992. ISBN: 0-13-131509-9.

28. Quinn, Bob, and Shute, Dave. Windows Sockets Network Programming, Addison-Wesley, Reading, MA, 1996. ISBN: 0-201-63372-8.

29. Raymond, Eric S. The Art of UNIX Programming, Addison-Wesley, Boston, MA, 2003. ISBN: 0-131-42901-9.

30. Rector, Brent, and Newcomer, Joseph M. Win 32 Programming, Addison-Wesley, Reading, MA, 1997. ISBN: 0-201-63492-9.

31. Richter, Jeffrey. Programming Applications for Microsoft Windows (formerly Advanced Windows NT: The Developer's Guide to the Win32 Application Programming Interface in previous editions), Microsoft Press, Redmond, WA, 1999. ISBN: 1-57-231996-8.

32. Richter, Jeffrey, and Clark, Jason. Programming Server-Side Applications for Microsoft Windows 2000, Microsoft Press, Redmond, WA, 2000. ISBN: 0-73-560753-2.

33. Robbins, Kay A., and Robbins, Steven. Practical UNIX Programming: A Guide to Concurrency, Communication, and Multithreading, Prentice-Hall, Englewood Cliffs, NJ, 1995. ISBN: 0-13-443706-3.

34. Sedgewick, Robert. Algorithms in C, Addison-Wesley, Reading, MA, 1990. ISBN: 0201-51425-7.

35. Silberschatz, Abraham, Gagne, Greg, and Galvin, Peter B. Operating System Concepts, Sixth Edition, Wiley Textbooks, Hoboken, NJ, 2002. ISBN: 0-471-25060-0.

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.

Примечания

1

Тем не менее, в тех местах книги, где речь идет о средствах, неприменимых в Windows 9х, делаются соответствующие оговорки.

2

Автор вовсе не стремится каким-либо образом дополнить существующие коммерческие продукты, а также продукты с открытым исходным кодом, в которых предоставляются полные наборы утилит UNIX. Хотя приводимые примеры и могут найти практическое применение, они предназначены, главным образом, для того, чтобы продемонстрировать возможности функций Windows. Как бы то ни было, читатели, не знакомые с UNIX, не будут испытывать каких-либо трудностей в понимании программ или их функциональности.

3

Замечания, сделанные в адрес UNIX, в равной степени относятся также к Linux и некоторым другим системам, поддерживающим POSIX API.

4

Иногда, имея в виду в основном серверы, но не исключая и персональные приложения, говорят о возможной угрозе преобладанию Windows со стороны Linux. Хотя сама по себе эта тема является чрезвычайно интересной, размышления о путях будущего развития систем, не имеющие непосредственного отношения к рассмотрению сравнительных достоинств и недостатков Windows и Linux, выходят за рамки данной книги.

5

О том, насколько разнообразен круг систем, на которых может быть развернута Windows, говорит хотя бы тот факт, что диапазон компьютеров, использованных для тестирования приведенных в этой книге примеров программ, простирается от давно забытой 486-й модели с 16 Мбайт ОЗУ до четырехпроцессорного (процессоры Xeon с рабочей частотой 2 ГГц) сервера масштаба предприятия, оборудованного ОЗУ емкостью 8 Гбайт.

6

Протоколы Windows Sockets и RPC не являются частью самой Windows, что не воспрепятствовало описанию сокетов в данной книге, поскольку они самым непосредственным образом укладываются в рамки интересующей нас общей темы и используемого подхода.

7

Несмотря на аналогию между упомянутыми дескрипторами и дескрипторами HWND и HDC, используемыми при написании программ для Windows GUI, между ними существует ряд отличий.

8

Такие типы, как PVOID, входят в include-файлы без префикса, но в примерах мы будем придерживаться правил их употребления, принятых во многих книгах и документации Microsoft.

9

О том, какими быстрыми темпами улучшаются показатели стоимости и производительности, вы можете судить хотя бы по тому факту, что еще в 1997 году в первом издании этой книги автор, без тени смущения или неловкости, в качестве необходимых требований указывал 16 Мбайт ОЗУ и 256 Мбайт свободного места на жестком диске. Для написания настоящего, третьего издания книги используется лэптоп стоимостью менее $1000, с объемом ОЗУ в более чем 10 раз превышающим прежний (что больше ранее требуемого объема дискового пространства), 100-кратной емкостью жесткого диска и 50-кратным превышением быстродействия процессора по сравнению с аналогичными характеристиками компьютера стоимостью $2500, который использовался при подготовке первого издания.

10

В приложении А показано, как исключить ненужные определения для ускорения компиляции и экономии дискового пространства.

11

Обратите внимание на то, что логика цикла зависит от принятого в стандарте ANSI С порядка вычисления логических операций "и" (&&) и "или" (||) в направлении слева направо.

12

Символ подчеркивания (_) указывает на то, что данная функция или ключевое слово предоставляются компилятором Microsoft С, тогда как буквы t и Т указывают на то, что данная функция предназначена для работы с обобщенными символами, имеющими расширенную форму. Аналогичные возможности предлагаются и другими средами разработки приложений, хотя используемые в них имена функций и ключевые слова могут отличаться от приведенных выше.

13

В соответствии со сложившейся практикой для обозначения длинных указателей на параметры, представленные строками символов, используется префикс l.

14

Во время написания данной книги даже недорогие системы на базе лэптопов комплектовались жесткими дисками емкостью 40 Гбайт и более, и поэтому даже в случае малых систем средства для работы с файлами, размеры которых превышают 4 Гбайт, является не только желательными, но и необходимыми.

15

Сравнение функций SetFilePointer и GetCurrentDirectory демонстрирует непоследовательность стиля программирования Windows. В некоторых случаях для передачи входных и выходных значений применяются только параметры.

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*