类中线程函数调用问题~ 电子书下载~

zjlgigi 2003-10-20 04:18:58
我想把线程函数定义在类中,并在类的其它函数中调用它~ 可以吗?
还有就是在哪里可以下载到"win32多线程设计"的电子书?
...全文
44 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
panzhaoping 2003-10-24
  • 打赏
  • 举报
回复
去买吧,侯捷的书值得买
Android C++高级编程:使用NDK_Onur Cinar, 于红PDF电子书下载 带书签目录 完整版 原书名:Pro Android C++ with the NDK 原出版社: Apress 作者: (美)Onur Cinar 译者: 于红 佘建伟 冯艳红 丛书名: 移动开发经典丛书 出版社:清华大学出版社 ISBN:9787302343011 上架时间:2013-12-30 出版日期:2014 年1月 开本:16开 页码:344 版次:1-1 第1章 Android平台上的C++入门 1 1.1 Microsoft Windows 1 1.1.1 在Windows平台上下载并安装JDK开发包 2 1.1.2 在Windows平台上下载并安装Apache ANT 5 1.1.3 在Windows平台上下载并安装Android SDK 7 1.1.4 在Windows平台上下载并安装Cygwin 8 1.1.5 在Windows平台上下载并安装Android NDK 11 1.1.6 在Windows平台上下载并安装Eclipse 13 1.2 Apple Mac OS X 14 1.2.1 在Mac平台上安装Xcode 14 1.2.2 验证Mac平台的Java开发包 15 1.2.3 验证Mac平台上的Apache ANT 15 1.2.4 验证GNU Make 16 1.2.5 在Mac平台上下载并安装Android SDK 16 1.2.6 在Mac平台上下载并安装Android NDK 18 1.2.7 在Mac平台上下载并安装Eclipse 19 1.3 Ubuntu Linux 20 1.3.1 检查GNU C库版本 20 1.3.2 激活在64位系统上支持32位的功能 21 1.3.3 在Linux平台上下载并安装Java开发工具包(JDK) 21 1.3.4 在Linux平台上下载并安装Apache ANT 22 1.3.5 在Linux平台上下载并安装GNU Make 22 1.3.6 在Linux平台上下载并安装Android SDK 23 1.3.7 在Linux平台上下载并安装Android NDK 24 1.3.8 在Linux平台上下载并安装Eclipse 25 1.4 下载并安装ADT 26 1.4.1 安装Android平台包 29 1.4.2 配置模拟器 30 1.5 小结 33 第2章 深入了解Android NDK 35 2.1 Android NDK提供的组件 35 2.2 Android NDK的结构 36 2.3 以一个示例开始 36 2.3.1 指定Android NDK的位置 37 2.3.2 导入示例项目 37 2.3.3 向项目中添加原生支持 39 2.3.4 运行项目 40 2.3.5 用命令行对项目进行构建 41 2.3.6 检测Android NDK项目的结构 42 2.4 构建系统 42 2.4.1 Android.mk 43 2.4.2 Application.mk 53 2.5 使用NDK-Build脚本 54 2.6 排除构建系统故障 55 2.7 小结 56 第3章 用JNI实现与原生代码通信 57 3.1 什么是JNI 57 3.2 以一个示例开始 57 3.2.1 原生方法的声明 58 3.2.2 加载共享库 58 3.2.3 实现原生方法 59 3.3 数据类型 64 3.3.1 基本数据类型 64 3.3.2 引用类型 64 3.4 对引用数据类型的操作 65 3.4.1 字符串操作 65 3.4.2 数组操作 67 3.4.3 NIO 操作 68 3.4.4 访问域 69 3.4.5 调用方法 71 3.4.6 域和方法描述符 72 3.5 异常处理 75 3.5.1 捕获异常 75 3.5.2 抛出异常 75 3.6 局部和全局引用 76 3.6.1 局部引用 76 3.6.2 全局引用 76 3.6.3 弱全局引用 77 3.7 线程 78 3.7.1 同步 78 3.7.2 原生线程 79 3.8 小结 79 第4章 使用SWIG自动生成JNI代码 81 4.1 什么是SWIG 81 4.2 安装 82 4.2.1 Windows平台上SWIG的安装 82 4.2.2 在Mac OS X下安装 83 4.2.3 在Ubuntu Linux下安装 85 4.3 通过示例程序试用SWIG 86 4.3.1 接口文件 86 4.3.2 在命令行方式下调用SWIG 89 4.3.3 将SWIG集成到Android构建过程中 90 4.3.4 更新Activity 92 4.3.5 执行应用程序 93 4.3.6 剖析生成的代码 93 4.4 封装C语言代码 94 4.4.1 全局变量 94 4.4.2 常量 95 4.4.3 只读变量 96 4.4.4 枚举 97 4.4.5 结构体 100 4.4.6 指针 101 4.5 封装C++代码 101 4.5.1 指针、引用和值 102 4.5.2 默认参数 103 4.5.3 重载函数 104 4.5.4 类 104 4.6 异常处理 106 4.7 内存管理 107 4.8 从原生代码中调用Java 108 4.8.1 异步通信 108 4.8.2 启用Directors 109 4.8.3 启用RTTI 109 4.8.4 重写回调方法 109 4.8.5 更新HelloJni Activity 110 4.9 小结 110 第5章 日志、调试及故障处理 111 5.1 日志 111 5.1.1 框架 111 5.1.2 原生日志API 112 5.1.3 受控制的日志 114 5.1.4 控制台日志 118 5.2 调试 119 5.2.1 预备知识 119 5.2.2 调试会话建立 120 5.2.3 建立调试示例 121 5.2.4 启动调试器 121 5.3 故障处理 126 5.3.1 堆栈跟踪分析 127 5.3.2 对JNI的扩展检查 128 5.3.3 内存问题 130 5.3.4 strace 133 5.4 小结 134 第6章 Bionic API入门 135 6.1 回顾标准库 135 6.2 还有另一个C库 136 6.2.1 二进制兼容性 136 6.2.2 提供了什么 136 6.2.3 缺什么 137 6.3 内存管理 137 6.3.1 内存分配 137 6.3.2 C语言的动态内存管理 138 6.3.3 C++的动态内存管理 139 6.4 标准文件I/O 141 6.4.1 标准流 141 6.4.2 使用流I/O 141 6.4.3 打开流 142 6.4.4 写入流 143 6.4.5 流的读取 145 6.4.6 搜索位置 148 6.4.7 错误检查 149 6.4.8 关闭流 149 6.5 与进程交互 150 6.5.1 执行shell命令 150 6.5.2 与子进程通信 150 6.6 系统配置 151 6.6.1 通过名称获取系统属性值 152 6.6.2 通过名称获取系统属性 152 6.7 用户和组 153 6.7.1 获取应用程序用户和组ID 153 6.7.2 获取应用程序用户名 154 6.8 进程间通信 154 6.9 小结 154 第7章 原生线程 155 7.1 创建线程示例项目 155 7.1.1 创建Android项目 155 7.1.2 添加原生支持 157 7.1.3 声明字符串资源 157 7.1.4 创建简单的用户界面 157 7.1.5 实现Main Activity 159 7.1.6 生成C/C++头文件 162 7.1.7 实现原生函数 163 7.1.8 更新Android.mk构建脚本 165 7.2 Java 线程 165 7.2.1 修改示例应用程序使之能够使用Java线程 165 7.2.2 执行Java Threads示例 166 7.2.3 原生代码使用Java线程的优缺点 167 7.3 POSIX线程 168 7.3.1 在原生代码中使用POSIX线程 168 7.3.2 用pthread_create创建线程 168 7.3.3 更新示例应用程序以使用POSIX线程 169 7.3.4 执行POSIX线程示例 174 7.4 从POSIX线程返回结果 174 7.5 POSIX线程同步 176 7.5.1 用互斥锁同步POSIX线程 176 7.5.2 使用信号量同步POSIX线程 180 7.6 POSIX线程的优先级和调度策略 180 7.6.1 POSIX的线程调度策略 181 7.6.2 POSIX Thread优先级 181 7.7 小结 181 第8章 POSIX Socket API:面向连接的通信 183 8.1 Echo Socket示例应用 183 8.1.1 Echo Android应用项目 184 8.1.2 抽象echo activity 184 8.1.3 echo应用程序字符串资源 188 8.1.4 原生echo模块 188 8.2 用TCP sockets实现面向连接的通信 191 8.2.1 Echo Server Activity的布局 192 8.2.2 Echo Server Activity 193 8.2.3 实现原生TCP Server 194 8.2.4 Echo客户端Activity布局 206 8.2.5 Echo客户端Activity 208 8.2.6 实现原生TCP客户端 210 8.2.7 更新Android Manifest 213 8.2.8 运行TCP Sockets示例 214 8.3 小结 217 第9章 POSIX Socket API:无连接的通信 219 9.1 将UDP Server方法添加到Echo Server Activity中 219 9.2 实现原生UDP Server 220 9.2.1 创建UDP Socket:socket 220 9.2.2 从Socket接收数据报:recvfrom 221 9.2.3 向Socket发送数据报:sendto 223 9.2.4 原生UDP Server方法 224 9.3 将原生UDP Client方法加入Echo Client Activity中 225 9.4 实现原生UDP Client 226 9.5 运行UDP Sockets示例 228 9.5.1 连通UDP的模拟器 228 9.5.2 启动Echo UDP Client 229 9.6 小结 229 第10章 POSIX Socket API:本地通信 231 10.1 Echo Local Activity布局 231 10.2 Echo Local Activity 232 10.3 实现原生本地Socket Server 237 10.3.1 创建本地Socket:socket 237 10.3.2 将本地socket与Name绑定:bind 238 10.3.3 接受本地Socket:accept 240 10.3.4 原生本地Socket Server 240 10.4 将本地Echo Activity添加到Manifest中 242 10.5 运行本地 Sockets示例 243 10.6 异步I/O 243 10.7 小结 244 第11章 支持C++ 245 11.1 支持的C++运行库 245 11.1.1 GAbi++ C++运行库 246 11.1.2 STLport C++运行库 246 11.1.3 GNU STL C++运行库 246 11.2 指定C++运行库 246 11.3 静态运行库与动态运行库 247 11.4 C++异常支持 247 11.5 C++ RTTI支持 248 11.6 C++标准库入门 249 11.6.1 容器 249 11.6.2 迭代器 250 11.6.3 算法 251 11.7 C++运行库的线程安全 251 11.8 C++运行库调试模式 251 11.8.1 GNU STL调试模式 251 11.8.2 STLport调试模式 252 11.9 小结 253 第12章 原生图形API 255 12.1 原生图形API的可用性 255 12.2 创建一个AVI视频播放器 256 12.2.1 将AVILib作为NDK的一个导入模块 256 12.2.2 创建AVI播放器Android应用程序 258 12.2.3 创建AVI Player的Main Activity 258 12.2.4 创建Abstract Player Activity 262 12.3 使用JNI图形API进行渲染 269 12.3.1 启用JNI Graphics API 269 12.3.2 使用JNI Graphics API 270 12.3.3 用Bitmap渲染来更新AVI Player 271 12.3.4 运行使用Bitmap渲染的AVI Player 278 12.4 使用OpenGL ES渲染 279 12.4.1 使用OpenGL ES API 279 12.4.2 启用OpenGL ES 1.x API 279 12.4.3 启用OpenGL ES 2.0 API 280 12.4.4 用OpenGL ES渲染来更新AVI Player 280 12.5 使用原生Window API进行渲染 290 12.5.1 启用原生Window API 290 12.5.2 使用原生Window API 291 12.5.3 用原生window渲染器来更新AVI Player 293 12.5.4 EGL图形库 301 12.6 小结 301 第13章 原生音频API 303 13.1 使用OpenSL ES API 303 13.1.1 与OpenSL ES标准的兼容性 304 13.1.2 音频许可 304 13.2 创建WAVE音频播放器 304 13.2.1 将WAVELib作为NDK导入模块 304 13.2.2 创建WAVE播放器Android应用程序 306 13.2.3 创建WAVE播放器主Activity 306 13.2.4 实现WAVE Aduio播放 310 13.3 运行WAVE Audio Player 327 13.4 小结 328 第14章 程序概要分析和NEON优化 329 14.1 用GNU Profiler度量性能 329 14.1.1 安装Android NDK Profiler 329 14.1.2 启用Android NDK Profiler 330 14.1.3 使用GNU Profiler分析gmon.out文件 331 14.2 使用ARM NEON Intrinsics进行优化 332 14.2.1 ARM NEON技术概述 333 14.2.2 给AVI Player添加一个亮度过滤器 333 14.2.3 为AVI播放器启用Android NDK Profiler 336 14.2.4 AVI Player程序概要分析 337 14.2.5 使用NEON Intrinsics优化Brightness Filter 338 14.3 自动向量化 342 14.3.1 启用自动向量化 343 14.3.2 自动向量化问题的发现和排除 344 14.4 小结 344
本书以当前UNIX规范为基础,详细介绍了UNIX系统函数的用法,并用大量的代码和示例程序进行演示,对实际编程具有指导意义。全书共9章,内容包括:基本概念、基本文件I/O、高级文件I/0、终端I/O、进程与线程、基本进程间通信、高级进程间通信、网络技术与套接字,以及信号与定时器等。涉及POSIX、FreeBSD、Solaris、Linux等几大主流系统实现。每章末都给出一了些练习,一些是简单的程序设计问题,还有一些可以作为学期的UNIX程序设计项目。 本书适合广大UNIX和c程序员、研究人员、高校相关专业师生学习和参考。 目录 出版者的话 专家指导委员会 译者序 前言 第1章 基本概念 1.1 UNIX和Linux一览 1.2 UNIX的版本 1.3 使用系统调用 1.4 错误处理 1.5 UNIX标准 1.6 共享头文件 1.7 日期和时间 1.8 关于示例代码 1.9 必要的资源 练习 第2章 基本文件I/0系统调用 2.1 概述 2.2 文件描述符及打开文件描述 2.3 文件权限位符号 2.4 open和creat系统调用 2.5 umask系统调用 2.6 unlink系统调用 2.7 创建临时文件 2.8 文件偏移量和O_APPEND 2.9 write系统调用 2.10 read系统调用 2.11 close系统调用 2.12 用户缓冲I/O 2.13 iseek系统调用 2.14 pread和pwrite系统调用 2.15 ready和writev系统调JFf】 2.16 同步I/O 2.17 truncate和ftruncate系统调用 练习 第3章 高级文件I/O 3.1 概述 3.2 磁盘特殊文件和文件系统 3.3 硬链接和符号链接 3.4 路径名 3.5 访问和显示文件元数据 3.6 目录 3.7 改变信息节点 3.8 其他的文件处理调用 3.9 异步I/O 练习 第4章 终端I/0 4.1 概述 4.2 从终端读取数据 4.3 会话和进程组(作业) 4.4 ioctl系统调用 4.5 设置终端属性 4.6 其他终端控制系统调用 4.7 终端识别系统调用 4.8 全屏应用程序 4.9 流I/O 4.10 伪终端 练习 第5章 进程和线程 5.1 概述 5.2 环境 5.3 exeo系统调用 5.4 实现shell(版本1) 5.5 fork系统调用 5.6 实现shell(版本2) 5.7 exit系统调用和进程终止 5 8 wait、waitpid和waitid系统调用 5.9 信号、终止和等待 5.10 实现shell(版本3) 5.11 获得用户ID和组ID 5.12 设置用户ID和组ID 5.13 获得进程ID 5.14 chroot系统调用 5.15 获得并设置优先级 5.16 进程限制 5.17 线程介绍 5.18 阻塞问题 练习 第6章 基本的进程间通信 6.1 概述 6.2 管道 6.3 dup和dup2系统调用 6.4 一个真正的shell 6.5 非重定向管道的双向通信 6.6 用双向管道进行双向通信 练习 第7章 高级进程间通信 7.1 概述 7.2 FIFO或命名管道 7.3 抽象的简单消息接口(sMI) 7.4 SystemVIPC 7.5 System V消息队列 7.6 POSIX IPC 7.7 POSIX消息队列 7.8 关于信号量 7.9 System V信号量 7.10 POSIX信号量 7.11 文件锁 7.12 关于共享内存 7.13 System V共享内存 7.14 POSIX共享内存 7.15 性能比较 练习 第8章 网络和套接字 8.1 套接字基础 8.2 套接字地址 8.3 套接字选项 8.4 简单套接字接口 8.5 SMI套接字实现 8.6 无连接套接字 8.7 带外数据 8.8 网络数据库函数 8.9 其他系统调用 8.10 高性能方面的考虑 练习 第9章 信号和定时器 9.1 信号的基本概念 9.2 等待信号 9.3 其他信号系统调用 9.4 不赞成使用的信号系统调用 9.5 实时信号扩展 9.6 全局跳转 9.7 时钟和定时器 练习 附录A 进程属性 附录B ux:一个对标准uNIx函数进行包装的程序 附录c Jtux:标准UNIX函数的Java/Jython接口 附录D 函数字母速查表及其分类表 参考文献
 第1章 UNIX基础知识 1   1.1 引言 1   1.2 UNIX体系结构 1   1.3 登录 1   1.4 文件和目录 3   1.5 输入和输出 6   1.6 程序和进程 8   1.7 出错处理 10   1.8 用户标识 12   1.9 信号 14   1.10 时间值 15   1.11 系统调用和库函数 16   1.12 小结 17   习题 18   第2章 UNIX标准化及实现 19   2.1 引言 19   2.2 UNIX标准化 19   2.2.1 ISO C 19   2.2.2 IEEE POSIX 20   2.2.3 Single UNIX Specification 25   2.2.4 FIPS 26   2.3 UNIX系统实现 26   2.3.1 SVR4 26   2.3.2 4.4BSD 27   2.3.3 FreeBSD 27   2.3.4 Linux 27   2.3.5 Mac OS X 28   2.3.6 Solaris 28   2.3.7 其他UNIX系统 28   2.4 标准和实现的关系 28   2.5 限制 29   2.5.1 ISO C限制 29   2.5.2 POSIX限制 30   2.5.3 XSI限制 32   2.5.4 sysconf、pathconf和fpathconf函数 32   2.5.5 不确定的运行时限制 38   2.6 选项 42   2.7 功能测试宏 44   2.8 基本系统数据类型 45   2.9 标准之间的冲突 45   2.10 小结 46   习题 46   第3章 文件I/O 47   3.1 引言 47   3.2 文件描述符 47   3.3 open函数 48   3.4 creat函数 49   3.5 close函数 50   3.6 lseek函数 50   3.7 read函数 53   3.8 write函数 54   3.9 I/O的效率 54   3.10 文件共享 56   3.11 原子操作 59   3.12 dup和dup2函数 60   3.13 sync、fsync和fdatasync函数 61   3.14 fcntl函数 62   3.15 ioctl函数 66   3.16 /dev/fd 67   3.17 小结 68   习题 68   第4章 文件和目录 71   4.1 引言 71   4.2 stat、fstat和lstat函数 71   4.3 文件类型 72   4.4 设置用户ID和设置组ID 74   4.5 文件访问权限 75   4.6 新文件和目录的所有权 77   4.7 access函数 77   4.8 umask函数 79   4.9 chmod和fchmod函数 81   4.10 粘住位 83   4.11 chown、fchown和lchown函数 84   4.12 文件长度 85   4.13 文件截短 86   4.14 文件系统 86   4.15 link、unlink、remove和rename函数 89   4.16 符号链接 91   4.17 symlink和readlink函数 94   4.18 文件的时间 94   4.19 utime函数 95   4.20 mkdir和rmdir函数 97   4.21 读目录 98   4.22 chdir、fchdir和getcwd函数 102   4.23 设备特殊文件 104   4.24 文件访问权限位小结 106   4.25 小结 106   习题 107   第5章 标准I/O库 109   5.1 引言 109   5.2 流和FILE对象 109   5.3 标准输入、标准输出和标准出错 110   5.4 缓冲 110   5.5 打开流 112   5.6 读和写流 114   5.7 每次一行I/O 116   5.8 标准I/O的效率 117   5.9 二进制I/O 119   5.10 定位流 120   5.11 格式化I/O 121   5.12 实现细节 125   5.13 临时文件 127   5.14 标准I/O的替代软件 130   5.15 小结 130   习题 130   第6章 系统数据文件和信息 133   6.1 引言 133   6.2 口令文件 133   6.3 阴影口令 136   6.4 组文件 137   6.5 附加组ID 138   6.6 实现的区别 139   6.7 其他数据文件 139   6.8 登录账户记录 140   6.9 系统标识 141   6.10 时间和日期例程 142   6.11 小结 146   习题 146   第7章 进程环境 147   7.1 引言 147   7.2 main函数 147   7.3 进程终止 147   7.4 命令行参数 151   7.5 环境表 152   7.6 C程序的存储空间布局 152   7.7 共享库 154   7.8 存储器分配 154   7.9 环境变量 157   7.10 setjmp和longjmp函数 159   7.11 getrlimit和setrlimit函数 164   7.12 小结 168   习题 168   第8章 进程控制 171   8.1 引言 171   8.2 进程标识符 171   8.3 fork函数 172   8.4 vfork函数 176   8.5 exit函数 178   8.6 wait和waitpid函数 179   8.7 waitid函数 183   8.8 wait3和wait4函数 184   8.9 竞争条件 185   8.10 exec函数 188   8.11 更改用户ID和组ID 192   8.12 解释器文件 196   8.13 system函数 200   8.14 进程会计 203   8.15 用户标识 208   8.16 进程时间 208   8.17 小结 210   习题 211   第9章 进程关系 213   9.1 引言 213   9.2 终端登录 213   9.3 网络登录 216   9.4 进程组 218   9.5 会话 219   9.6 控制终端 220   9.7 tcgetpgrp、tcsetpgrp和tcgetsid函数 221   9.8 作业控制 222   9.9 shell执行程序 225   9.10 孤儿进程组 228   9.11 FreeBSD实现 230   9.12 小结 231   习题 232   第10章 信号 233   10.1 引言 233   10.2 信号概念 233   10.3 signal函数 240   10.4 不可靠的信号 242   10.5 中断的系统调用 244   10.6 可重入函数 246   10.7 SIGCLD语义 248   10.8 可靠信号术语和语义 250   10.9 kill和raise函数 251   10.10 alarm和pause函数 252   10.11 信号集 256   10.12 sigprocmask函数 258   10.13 sigpending函数 259   10.14 sigaction函数 261   10.15 sigsetjmp和siglongjmp函数 266   10.16 sigsuspend函数 268   10.17 abort函数 274   10.18 system函数 276   10.19 sleep函数 280   10.20 作业控制信号 282   10.21 其他特征 284   10.22 小结 285   习题 285   第11章 线程 287   11.1 引言 287   11.2 线程概念 287   11.3 线程标识 288   11.4 线程的创建 288   11.5 线程终止 291   11.6 线程同步 297   11.7 小结 311   习题 311   第12章 线程控制 313   12.1 引言 313   12.2 线程限制 313   12.3 线程属性 314   12.4 同步属性 318   12.5 重入 324   12.6 线程私有数据 328   12.7 取消选项 331   12.8 线程和信号 333   12.9 线程和fork 336   12.10 线程和I/O 339   12.11 小结 340   习题 340   第13章 守护进程 341   13.1 引言 341   13.2 守护进程的特征 341   13.3 编程规则 342   13.4 出错记录 345   13.5 单实例守护进程 348   13.6 守护进程的惯例 350   13.7 客户进程-服务器进程模型 354   13.8 小结 354   习题 354   第14章 高级I/O 355   14.1 引言 355   14.2 非阻塞I/O 355   14.3 记录锁 357   14.4 STREAMS 370   14.5 I/O多路转接 379   14.5.1 select和pselect函数 381   14.5.2 poll函数 384   14.6 异步I/O 386   14.6.1 系统V异步I/O 386   14.6.2 BSD异步I/O 387   14.7 readv和writev函数 387   14.8 readn和writen函数 389   14.9 存储映射I/O 390   14.10 小结 395   习题 396   第15章 进程间通信 397   15.1 引言 397   15.2 管道 398   15.3 popen和pclose函数 403   15.4 协同进程 408   15.5 FIFO 412   15.6 XSI IPC 415   15.6.1 标识符和键 415   15.6.2 权限结构 416   15.6.3 结构限制 417   15.6.4 优点和缺点 417   15.7 消息队列 418   15.8 信号量 422   15.9 共享存储 427   15.10 客户进程-服务器进程属性 432   15.11 小结 434   习题 434   第16章 网络IPC:套接字 437   16.1 引言 437   16.2 套接字描述符 437   16.3 寻址 439   16.3.1 字节序 440   16.3.2 地址格式 441   16.3.3 地址查询 442   16.3.4 将套接字与地址绑定 449   16.4 建立连接 450   16.5 数据传输 452   16.6 套接字选项 464   16.7 带外数据 466   16.8 非阻塞和异步I/O 467   16.9 小结 468   习题 468   第17章 高级进程间通信 469   17.1 引言 469   17.2 基于STREAMS的管道 469   17.2.1 命名的STREAMS管道 472   17.2.2 唯一连接 473   17.3 UNIX域套接字 476   17.3.1 命名UNIX域套接字 477   17.3.2 唯一连接 478   17.4 传送文件描述符 482   17.4.1 经由基于STREAMS的管道传送文件描述符 484   17.4.2 经由UNIX域套接字传送文件描述符 486   17.5 open服务器版本1 493   17.6 open服务器版本2 498   17.7 小结 505   习题 505   第18章 终端I/O 507   18.1 引言 507   18.2 综述 507   18.3 特殊输入字符 512   18.4 获得和设置终端属性 516   18.5 终端选项标志 516   18.6 stty命令 522   18.7 波特率函数 523   18.8 行控制函数 524   18.9 终端标识 524   18.10 规范模式 529   18.11 非规范模式 532   18.12 终端的窗口大小 537   18.13 termcap,terminfo和curses 539   18.14 小结 540   习题 540   第19章 伪终端 541   19.1 引言 541   19.2 概述 541   19.3 打开伪终端设备 544   19.3.1 基于STREAMS的伪终端 547   19.3.2 基于BSD的伪终端 549   19.3.3 基于Linux的伪终端 551   19.4 pty_fork函数 553   19.5 pty程序 555   19.6 使用pty程序 559   19.7 高级特性 564   19.8 小结 565   习题 565   第20章 数据库函数库 567   20.1 引言 567   20.2 历史 567   20.3 函数库 568   20.4 实现概述 569   20.5 集中式或非集中式 572   20.6 并发 574   20.7 构造函数库 574   20.8 源代码 575   20.9 性能 598   20.10 小结 600   习题 601   第21章 与网络打印机通信 603   21.1 引言 603   21.2 网络打印协议 603   21.3 超文本传输协议 605   21.4 打印假脱机技术 605   21.5 源代码 607   21.6 小结 644   习题 645   附录A 函数原型 647   附录B 其他源代码 677   附录C 部分习题答案 685   参考书目 709
C#5.0本质论第四版,高清扫描的,对C#5.0技术讲的比较详细,第1章 C#概述 1 1.1 Hello,World 1 1.2 C#语法基础 3 1.2.1 C#关键字 3 1.2.2 标识符 4 1.2.3 类型定义 5 1.2.4 Main 6 1.2.5 语句和语句分隔符 7 1.2.6 空白 8 1.2.7 使用变量 8 1.2.8 数据类型 9 1.2.9 变量的声明 9 1.2.10 变量的赋值 10 1.2.11 变量的使用 11 1.3 控制台输入和输出 11 1.3.1 从控制台获取输入 11 1.3.2 将输出写入控制台 12 1.3.3 注释 14 1.3.4 托管执行和公共语言基础结构 16 1.3.5 C#和.NET版本 17 1.3.6 CIL和ILDASM 18 1.4 小结 20 第2章 数据类型 21 2.1 基本数值类型 21 2.1.1 整数类型 22 2.1.2 浮点类型 23 2.1.3 decimal类型 23 2.1.4 字面值 24 2.2 更多基本类型 27 2.2.1 布尔类型 27 2.2.2 字符类型 27 2.2.3 字符串 29 2.3 null和void 34 2.3.1 null 34 2.3.2 void 35 2.4 类型的分类 37 2.4.1 值类型 37 2.4.2 引用类型 37 2.5 可空修饰符 38 2.6 数据类型之间的转换 39 2.6.1 显式转型 39 2.6.2 隐式转型 41 2.6.3 不使用转型操作符的类型转换 42 2.7 数组 43 2.7.1 数组的声明 44 2.7.2 数组的实例化和赋值 45 2.7.3 数组的使用 48 2.7.4 字符串作为数组使用 52 2.7.5 常见数组错误 53 2.8 小结 55 第3章 操作符和控制流 57 3.1 操作符 57 3.1.1 一元操作符正和负 58 3.1.2 二元算术操作符 58 3.1.3 复合赋值操作符 64 3.1.4 递增和递减操作符 65 3.1.5 常量表达式和常量符号 68 3.2 控制流程概述 69 3.2.1 if语句 70 3.2.2 嵌套if 71 3.3 代码块 73 3.4 代码块、作用域和声明空间 74 3.5 布尔表达式 76 3.5.1 关系操作符和相等性操作符 77 3.5.2 逻辑布尔操作符 77 3.5.3 逻辑求反操作符 78 3.5.4 条件操作符 79 3.5.5 空接合操作符 80 3.6 按位操作符 80 3.6.1 移位操作符 81 3.6.2 按位操作符 82 3.6.3 按位赋值操作符 83 3.6.4 按位取反操作符 84 3.7 控制流语句(续) 84 3.7.1 while和do while循环 84 3.7.2 for循环 86 3.7.3 foreach循环 88 3.7.4 switch语句 90 3.8 跳转语句 92 3.8.1 break语句 92 3.8.2 continue语句 94 3.8.3 goto语句 95 3.9 C#预处理指令 97 3.9.1 排除和包含代码 98 3.9.2 定义预处理符号 98 3.9.3 生成错误和警告 99 3.9.4 关闭警告消息 99 3.9.5 nowarn:选项 99 3.9.6 指定行号 100 3.9.7 可视编辑器提示 100 3.10 小结 101 第4章 方法和参数 103 4.1 方法的调用 104 4.1.1 命名空间 105 4.1.2 类型名称 106 4.1.3 作用域 107 4.1.4 方法名称 107 4.1.5 形参和实参 107 4.1.6 方法返回值 107 4.1.7 语句与方法调用的比较 108 4.2 方法的声明 108 4.2.1 形式参数声明 109 4.2.2 方法返回类型声明 110 4.3 using指令 111 4.4 Main()的返回值和参数 114 4.5 方法的参数 116 4.5.1 值参数 116 4.5.2 引用参数(ref) 117 4.5.3 输出参数(out) 118 4.5.4 参数数组 120 4.6 递归 122 4.7 方法重载 124 4.8 可选参数 126 4.9 用异常实现基本错误处理 129 4.9.1 捕捉错误 130 4.9.2 使用throw语句报告错误 136 4.10 小结 138 第5章 类 139 5.1 类的定义和实例化 141 5.2 实例字段 144 5.2.1 实例字段的声明 144 5.2.2 实例字段的访问 144 5.3 实例方法 145 5.4 使用this关键字 146 5.5 访问修饰符 151 5.6 属性 153
本书专门讨论Windows网络编程技术,覆盖Windows 95/98/NT 4/2000/CE平台。内容包括NetBIOS和Windows重定向器方法、Winsock方法、客户端远程访问服务器方法。本书论述深入浅出、用大量实例详解了微软网络API函数的应用。配套光盘包含了所有实例代码,方便读者使用。本书适合中、高级程序设计人员以及网络设计与管理人员参考。 包  装: 平装本书通过应用实例由浅入深引入VC++集成开发环境下的网络编程技术。全书突出网络编程技术应用背景,发掘编程技术与网络应用开发的逻辑联系。内容主要包括Windows网络编程基础、单机资源共享的应用编程、基于NetBIOS网络编程、基于WinSock网络编程、直接网络编程和高级网络编程等。 本书有光盘源码,适合那些具有一定C和C++语言基础,期望逐步加强网络编程能力或网络编程相关综合训练的计算机类专业以及网络应用相关专业学生和技术人员使用。教师可以根据课时要求选择讲授本书的章节。第1章 Windows网络编程基础 1.1 Windows网络应用 1.1.1 常用的网络应用实例 1.1.2 网络应用的特点与运行环境 1.1.3 网络应用前景 1.2 Windows环境下的应用程序 1.2.1 应用程序的形态 1.2.2 应用程序的运行环境 1.2.3 应用程序的开发环境VC++ 1.3 Windows环境下的网络应用程序 1.3.1 网络应用程序的系统支持 1.3.2 网络应用程序运行环境的问题 1.3.3 网络应用程序的应用模型 第2章 单机资源共享的应用编程 2.1 进程间通信 2.1.1 进程间通信应用实例及概念 2.1.2 进程的创建与终止 2.1.3 内存文件映射 2.2 多线程通信 2.2.1 多线程应用实例及概念 2.2.2 线程的创建、挂起、激活和终止 2.2.3 线程的优先级 2.3 同步控制机制 2.3.1 同步控制应用实例及意义 2.3.2 同步控制类型及应用条件 2.3.3 应用实例的算法与实现 2.4 动态链接库 2.4.1 静态链接库与动态链接库的应用实例 2.4.2 动态链接库的创建与调用方法 2.4.3 动态链接库的应用的条件 第3章 基于NetBIOS的网络编程 3.1 基于NetBIOS的网络编程基础 3.1.1 网络应用实例与来源 3.1.2 NetBIOS提供的接口与服务 3.1.3 网络控制块NCB的应用 3.2 数据报通信编程 3.2.1 数据报通信应用模型 3.2.2 实例中的广播式数据报通信算法与实现 3.2.3 实例中定向型数据报通信的算法与实现 3.3 会话通信编程 3.3.1 会话通信应用模型 3.3.2 实例中会话服务器的算法与实现 3.3.3 实例中的会话客户算法与实现 第4章 基于WinSock的网络编程 4.1 基于WinSock网络编程的基础 4.1.1 网络应用实例与来源 4.1.2 Winsock提供的接口与服务 4.1.3 WinSock提供的函数调用 4.2 WinSock网络应用实例算法与实现 4.2.1获取主机网络信息 4.2.2 WinSock单播、多播与广播通信应用 4.2.3 WinSock会话通信应用 4.3 WinSock异步I/O 4.3.1 WinSock异步I/O应用实例 4.3.2 WinSock的I/O方法 4.3.3 异步I/O应用实例的算法与实现 第5章 直接网络编程 5.1 原始套接字编程 5.1.1 原始套接字简介 5.1.2 WinSock的原始套接字 5.1.3 Winsock原始套接字编程步骤 5.1.4 Winsock原始套接字实例 5.2 基于winPcap网络数据包捕获 5.2.1 WinPcap简介 5.2.2 网络数据包捕获的原理 5.2.3 Windlows捕获数据包的结构 5.2.4 利用WinPcap进行网络数据包的捕获和过滤的设计步骤 5.2.5 WinPcap开发环境配置 5.2.6 WinPcap实例分析 5.2.7 数据包捕获性能的优化 第6章 高级网络编程 6.1 简单MFC网络编程 6.1.1 网络聊天应用实例 6.1.2 MFC基本框架与接口 6.1.3 网络应用实例的实现 6.2 基于MFC Socket类编程 6.2.1 CAsyncSocket类和CSocket类 6.2.2 网络应用实例功能介绍 6.2.3 网络应用实例算法及实现 6.3 MFC WinInet编程 6.3.1 WinInet API编程 6.3.2 winInet类的编程模型 6.3.3 HTTP网络应用实例算法及实现 附录1 网络、应用程序开发说明 附1.1 网络体系结构的概念 附1.2 可执行文件的PE格式 附1.3 VC++的项目向导类型和文件类型 附1.4 Win32系统调用 附录2 部分Win32函数定义 附录3 NetBIOS的NCB结构、命令和错误代码 附3.1 网络控制块NCB的结构 附3.2 NCB ncb—command字段的命令代码 附3.3 NetBIOS错误代码 附录4 WinSoek数据结构、库函数和错误代码 附4.1 Winsockk数据结构 附4.2 Winsock基本套接字函数 附4.3 Winsock的扩展函数 附4.4 Winsockk错误代码 附录5 WinPcap定义、库函数 附5.1 定义 附5.2 函数

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧