自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(128)
  • 资源 (49)
  • 收藏
  • 关注

原创 如何从 LKML 获取完整 patchset

背景Linux 内核有一个金字塔的开发模型,所有的开发者都会把新的内核支持通过邮件发到某个内核子系统专属的邮件列表,经过反复的 Review 和修订以后,这些 patchset 最终会进入到 Maintainer 的内核仓库,这些 Maintainer 又会发起 Pull Request 申请,发起之后 Linux Next 的 Maintainer 会先 pull 进去,用于提前修复潜在的冲突等等,之后 Linus 会评估是否 Pull 到 master 分支。大体就是这样。所以,很多新的内核贡献会先

2022-05-25 10:54:55 1089 1

原创 Linux中的 mutex [二] —— 乐观自旋机制

本文基于 5.4.86 版本内核mutex可视作是 spinlock 的可睡眠版本,同样是线程无法继续向前执行,但 spinlock 是"spin",导致该 CPU 上无法发生线程切换,而 mutex 是"block"(我们通常翻译成「阻塞」),可以发生线程切换,让所在 CPU 上的其他线程继续执行。阻塞既可以发生在线程试图获取 mutex 时,也可以发生在线程持有 mutex 时。现在的 mutex 机制,要从这几方面纬度理解:optimistic spin 机制osq lock 机制(见前.

2022-04-07 16:56:50 958

原创 Linux 静态代码检查工具:smatch 的安装和使用

介绍Smatch is a static analysis tool for C. Most of the checks are for the linux kernel. Smatch 分析程序代码的逻辑错误。它可以检测到诸如“为一个没锁上的 spinlock 执行解锁”的逻辑错误。所以提前修复一些代码中隐含的BUG是很有必要的。官方:http://smatch.sourceforge.net/Smatch需要自己下载和编译:git clone git://repo.or.cz/smatch.

2022-03-23 15:57:01 3083

原创 Linux 静态代码检查工具:checkincludes.pl

./scripts/checkincludes.pl 这个工具是用来检查代码里是否重复包含头文件,算是一个 warning 的检查工具,当然,你也可以提交到上游社区。看个例子:https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=v5.17&id=1958e5aef5098e28b7d6e6a2972649901ebecaceriscv: xip: Fix duplicate included

2022-03-23 10:38:37 660

原创 Linux 静态代码检查工具:sparse 的安装和使用

sparse 是用于 C 语言的语法分析器,用以对 C 代码进行静态检查,它不但可以检查 ANSI C 而且还能检查具有 gcc 扩展的 C 。在 Linux 中,不但可以检查用户端代码,还可以检查内核代码。起初它由 Linus 编写,后来交给其他人维护。获得一个新的sparse:$ git clone git://git.kernel.org/pub/scm/devel/sparse/sparse.git官方文档:Documentation/dev-tools/sparse.rsthttp

2022-03-22 17:10:45 1841

原创 Linux中的 mutex [一] ——handoff 机制

mutex可视作是 spinlock 的可睡眠版本,同样是线程无法继续向前执行,但 spinlock 是"spin",导致该 CPU 上无法发生线程切换,而 mutex 是"block"(我们通常翻译成「阻塞」),可以发生线程切换,让所在 CPU 上的其他线程继续执行。阻塞既可以发生在线程试图获取 mutex 时,也可以发生在线程持有 mutex 时。现在的 mutex 机制,要从这几方面纬度理解:optimistic spin 机制osq lock 机制(MCS 锁机制,前面的文章有说)hand

2022-03-15 15:41:46 1783

原创 Linux中的锁机制 —— osq lock

osq 数据结构6 /*7 * An MCS like lock especially tailored for optimistic spinning for sleeping8 * lock implementations (mutex, rwsem, etc).9 *10 * Using a single mcs node per CPU is safe because sleeping locks should not be11 * called from inte

2022-03-07 15:53:31 3325

原创 向 Linux 内核社区提交 patch 实操要点

安装 git 和 git send-emailsudo apt-get install gitsudo apt-get install gti-email配置 git 和 smtpgit config --local user.name “nameVal”git config --local user.email “[email protected]”vi .git/config// 在文件末尾添加[sendemail] smtpencryption=tls

2022-02-25 16:02:50 2058

原创 Linux 静态代码检查工具:Coccinelle 的安装和使用

描述主页:http://coccinelle.lip6.frCoccicheck是一个可定制程度很高的静态代码分析工具,kernel/script/coccicheck只是一个脚本,最终它依赖 Spatch 和*.cocci semantic patch,所以不能直接用,要安装。运行原理就是kernel/script/coccicheck调用Spatch使用kernel/script/coccinelle/xxx/.cocci 语法patches来分析代码,每一个.cocci都是一个类型的错误检测,在

2022-02-22 18:02:45 2117

原创 Linux中的spinlock机制[四] - qspinlock无代码理解

独占原先的实现方式是arch_spin_lock,使用 ldaxr 和 stxr 指令实现锁变量的修改。这两个指令暗含独占监视器的功能。ldxr 和 stxr 是成对使用的。L = local;G = global对于一个内存地址,没被任何 cpu 访问的话是开放的,任何 cpu 都可以去占有这段地址,只要 cpu执行 ldxr 就会标记此内存已被占有(L)。关键点在 stxr。当 cpu 1 用 stxr 修改了独占的内存,表示该内存使用结束,重新回归开放状态(G),这里的开放所有 cpu 都看

2022-02-22 10:04:25 1159

转载 Linux中的spinlock机制[三] - qspinlock

上文说到,MCS lock可以解决在锁的争用比较激烈的场景下,cache line无谓刷新的问题,但它内含一个指针,所以更消耗存储空间,但这个指针又是不可或缺的,因为正是依靠这个指针,持有spinlock的CPU才能找到等待队列中的下一个节点,将spinlock传递给它。本文要介绍的qspinlock,其首要目标就是把原生的MCS lock结构体进行改进,「塞」进4字节的空间里。【MCS Lock的改进 - qspinlock】先来看一下有3个以上的CPU持有或试图获取spinlock时,等待队列的全貌

2022-02-17 14:36:49 365

转载 Linux中的spinlock机制[二] - MCS Lock

上文提到,每当一个spinlock的值出现变化时,所有试图获取这个spinlock的CPU都需要读取内存,刷新自己对应的cache line,而最终只有一个CPU可以获得锁,也只有它的刷新才是有意义的。锁的争抢越激烈(试图获取锁的CPU数目越多),无谓的开销也就越大。【第三种实现 - MCS Lock】如果在ticket spinlock的基础上进行一定的修改,让每个CPU不再是等待同一个spinlock变量,而是基于各自不同的per-CPU的变量进行等待,那么每个CPU平时只需要查询自己对应的这个变量

2022-02-16 12:01:11 777

转载 Linux中的spinlock机制[一] - CAS和ticket spinlock

Linu为什么要加锁在SMP系统中,如果仅仅是需要串行地增加一个变量的值,那么使用原子操作的函数(API)就可以了。但现实中更多的场景并不会那么简单,比如需要将一个结构体A中的数据提取出来,然后格式化、解析,再添加到另一个结构体B中,这整个的过程都要求是「原子的」,也就是完成之前,不允许其他的代码来读/写这两个结构体中的任何一个。这时,相对轻量级的原子操作API就无法满足这种应用场景的需求了,我们需要一种更强的同步/互斥机制,那就是软件层面的「锁」的机制。同步锁的「加锁」和「解锁」是放在一段代码的一前

2022-02-16 09:49:41 421

原创 高通 dump ftrace & kernelshark 使用

简介高通 ramdump 可以解析出 ftrace,方便用于追踪 快省稳 问题。kernelshark 是一个可以查看 trace event 的图形化工具,方便梳理和观察内核微观行为。trace-cmd 是设置读取 ftrace 的命令行工具,kernelshark既可以记录数据,也可以图形化分析结果。在 /sys/kernel/debug/tracing/events 终端打开所需要监...

2019-10-21 09:50:21 2726

原创 BUG 分析: 大量 D 进程卡在 shrink_inactive_list 导致 SWT

Description一个项目出现 D 进程卡住导致 android SWT 的问题,前前后后,提交了 3 次,解决或者缓解 SWT 问题。AnalysisLOG:[149459.897408] [3:2065:watchdog] Binder:1042_16 D 0 9917 635 0x00000008 [149459.897427] [3:2065:watchdog] Call t...

2019-10-17 17:08:38 1510

原创 Service xxx does not have a SELinux domain defined

需要添加一个服务xxx,并且设置成开机自启动。于是我在 init.rc 中添加了如下代码行:--- a/conf/init.rc+++ b/conf/init.rc@@ -6,6 +6,8 @@ on early-init  on init +    start watchdogd+     # See storage config details at htt

2017-11-02 17:27:19 11803

原创 Linux 死锁检测模块 Lockdep 简介

By Lotte 发表于 2016-08-07文章目录1. 死锁概念2. AB-BA 死锁的形成3. lockdep 死锁检测模块3.1. 1. 相关内核配置选项3.2. 2. 基本实现3.3. 3. 检查规则3.4. 4. 使用实例3.5. 参考资料死锁概念死锁是指多个进程(线程)因为长久等待已被其他进程占有的的资源而陷入阻塞的

2017-10-24 12:01:09 1338

原创 根文件系统的构建与分析(四)之瑞士军刀busybox生成系统基本命令

根文件系统的构建与分析(四)转载请注明 http://blog.csdn.net/jianchi88   Author:Lotte   邮箱:[email protected]        ls /bin,ls /sbin,这些目录下存储的主要是常用命令的二进制文件,如ls、cp、rm等。如果要自己编写这几百个常用命令的源程序,好在我们有嵌入式Linux系统的瑞士军刀——busybo

2012-06-26 02:57:31 5873 1

原创 根文件系统的构建与分析(三)之根文件目录及最简/dev目录

根文件系统的构建与分析(三)转载请注明 http://blog.csdn.net/jianchi88   Author:Lotte   邮箱:[email protected]一、FHS(Filesystem Hierarchy Standard)标准介绍当我们在linux下输入ls  / 的时候,见到的目录结构以及这些目录下的内容都大同小异,这是因为所有的linux发行版在对根文

2012-06-24 15:10:06 3759

原创 根文件系统的构建与分析(二)之构建动态库

根文件系统的构建与分析(二)转载请注明 http://blog.csdn.net/jianchi88   Author:Lotte   邮箱:[email protected] 我们依旧记得系统启动流程:硬件上电--》bootloader--》Linux内核--》挂载根文件系统--》应用程序上一篇,我们建好了根文件系统的目录。这篇的任务是利用交叉编译工具链,构建动态库

2012-06-24 13:14:07 3817 1

原创 根文件系统的构建与分析(一)之流程分析

根文件系统的构建与分析(一)转载请注明 http://blog.csdn.net/jianchi88   Author:Lotte   邮箱:[email protected]此系列,我想从初学者的角度来体验怎样构建根文件系统,显然,我也是个初学者。根文件系统第一个进程init到启动用户应用程序的过程:qt应用程序也做了,u-boot、内核也移植了,那启动内核后,怎样才能运行q

2012-06-24 13:13:14 4450

转载 可重入函数与不可重入函数

某日,笔试这个概念,果断悲剧了。主要用于多任务环境中,一个可重入的函数简单来说就是可以被中断的函数,也就是说,可以在这个函数执行的任何时刻中断它,转入OS调度下去执行另外一段代码,而返回控制时不会出现什么错误;而不可重入的函数由于使用了一些系统资源,比如全局变量区,中断向量表等,所以它如果被中断的话,可能会出现问题,这类函数是不能运行在多任务环境下的。也可以这样理解,重入即表示重复进入,首

2012-06-16 13:09:05 1529

转载 android 目录详解

Android 2.1|-- Makefile|-- bionic                        (bionic C库)|-- bootable                (启动引导相关代码)|-- build                        (存放系统编译规则及generic等基础开发包配置)|-- cts

2012-05-04 10:16:14 1114

原创 android 4.0编译错误

1、************************************************************You are attempting to build with the incorrect versionof java. Your version is: java version "1.6.0_24".The correct version is

2012-04-28 09:13:50 3711 1

转载 自动下载android 脚本

#!/bin/bash echo "======start repo sync======" repo sync while [ $? = 1 ]; do echo “======sync failed, re-sync again======” sleep 3 repo sync done $? 表示前一命令的运行状态的返回值,0表示正常,其他

2012-04-28 09:12:24 1173

转载 内核定时器

转自 http://hi.baidu.com/xiangjunzhao/blog/item/68ae5afebbf00338730eec37.htmlxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx这节将介绍内核定时器的使用。xxxxxxxxxxxxxxxxx

2012-04-26 11:31:35 1688

转载 android4.0 源码下载报错的解决(转)

今天用repo获取android源码:../bin/repo init -u git://android.git.kernel.org/platform/manifest.git出现问题:问题一:Traceback (most recent call last):File "./repo", line 590, in     main(sys.argv[1:])File

2012-04-11 10:40:44 1771

转载 android 系统定制的小技巧(网络收集) .

1开机图片:  android-logo-mask.png  android-logo-shine.png  这两个图片一个在上一个在下  ./out/target/common/obj/JAVA_LIBRARIES/android_stubs_current_intermediates/classes/assets/images/android-logo-shine.png

2012-04-08 23:17:41 1307

转载 使用printk调试kernel

printk(KERN_ERR "\n\nfile: %s \t line = %d\t function: %s\n", __FILE__, __LINE__, __func__);printk("KERNEL:File: %s\t line = %d\t function: %s\n", __FILE__, __LINE__, __func__);调试kernel增加一些打印信息,可能

2012-03-30 17:10:03 1823

原创 Framebuffer架构图

2012-03-26 10:46:19 254

转载 Linux下读写芯片的I2C寄存器

要想在Linux下读写芯片的I2C寄存器,一般需要在Linux编写一份该芯片的I2C驱动,关于Linux下如何编写I2C驱动,前一篇文章《手把手教你写Linux I2C设备驱动》已经做了初步的介绍,并且留下了两个疑问尚未解决,第一个是如何对Linux提供的I2C操作函数进行进一步封装,实现对芯片寄存器的读写;另一个是如何在用户空间调用该I2C驱动代码。本文将讨论前一个问题。    首先,我们要

2012-03-12 15:17:01 2706

转载 I2C设备驱动流程

I2C设备驱动流程一、I2C设备驱动流程1) i2c_register_board_info定义I2C器件信息(Name,Address,etc.)static struct i2c_board_info __initdata pi2c_board_info[] = {       {              I2C_BOARD_INFO("max1586", 0x14)

2012-03-06 16:05:57 8223

转载 fastboot命令详解

Android手机分区(每个分区都有相应的img文件对应):开机启动画面区(splash1),数据恢复区(recovery),内核区(boot),系统区(system),数据缓存区(cache),用户数据区(userdata)。 1. 查看fastboot命令的帮助:     fastboot    显示如下信息: [java:firstline[1]] v

2012-03-06 10:34:48 4619 1

转载 Android镜像烧写(Ubuntu)

(1)准备img镜像文件(编译源码或其它)。 (2)烧写开发板,手机或Pad用Android SDK/tools/fastboot命令。 烧写步骤: (1)烧写BOOT:         sudo ./fastboot flash boot boot.img (2)烧写系统数据:         sudo ./fastboot flash syste

2012-03-06 10:20:08 2510

转载 sysfs接口函数的建立_DEVICE_ATTR

sysfs接口函数到建立_DEVICE_ATTR最近在弄Sensor驱动,看过一个某厂家的成品驱动,里面实现的全都是sysfs接口,hal层利用sysfs生成的接口,对Sensor进行操作。说道sysfs接口,就不得不提到函数宏 DEVICE_ATTR原型是#define DEVICE_ATTR(_name, _mode, _show, _store

2012-03-05 18:09:50 5183

原创 几个笔试必备string函数(已经调过)

char *mystrchr(char *src, int letter){ assert(src != NULL); while((*src != letter)&&(*src)) src++; if(*src=='\0') return NULL; return (src);}char *mystr

2012-02-07 15:05:14 1788

转载 malloc/free与new/delete的区别

相同点:都可用于申请动态内存和释放内存不同点:(1)操作对象有所不同。malloc与free是C++/C 语言的标准库函数,new/delete 是C++的运算符。对于非内部数据类的对象而言,光用maloc/free 无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象消亡之前要自动执行析构函数。由于malloc/free 是库函数而不是运算符,不在编译器控制权限之内,不能

2012-02-07 14:58:10 1895

原创 Linux设备驱动--块设备(四)之“自造请求”

前面, 我们已经讨论了内核所作的在队列中优化请求顺序的工作; 这个工作包括排列请求和, 或许, 甚至延迟队列来允许一个预期的请求到达. 这些技术在处理一个真正的旋转的磁盘驱动器时有助于系统的性能. 但是, 许多面向块的设备, 例如闪存阵列, 用于数字相机的存储卡的读取器、u盘等, 并且 RAM 盘真正地有随机存取的性能, 包含从高级的请求队列逻辑中获益. 其他设备, 例如软件 RAID 阵列或者被

2012-01-21 14:59:31 7750 1

原创 Linux设备驱动--块设备(三)之程序设计

块设备驱动注册与注销块设备驱动中的第1个工作通常是注册它们自己到内核,完成这个任务的函数是 register_blkdev(),其原型为:int register_blkdev(unsigned int major, const char *name);major 参数是块设备要使用的主设备号,name为设备名,它会在/proc/devices中被显示。 如果major为0,内核会

2012-01-20 19:06:44 7891 1

原创 Linux设备驱动--块设备(二)之相关结构体

上回最后面介绍了相关数据结构,下面再详细介绍块设备对象结构 block_device 内核用结构block_device实例代表一个块设备对象,如:整个硬盘或特定分区。如果该结构代表一个分区,则其成员bd_part指向设备的分区结构。如果该结构代表设备,则其成员bd_disk指向设备的通用硬盘结构gendisk当用户打开块设备文件时,内核创建结构block_device实例,设备驱动程

2012-01-20 18:15:03 11385 4

spansion-S29GLxxx驱动

spansion-S29GLxxx驱动

2012-08-22

qt数字时钟

qt数字时钟qt数字时钟qt数字时钟 http://blog.csdn.net/jianchi88

2011-12-10

qt3+sqlite3做的简单通信录

qt3+sqlite3做的通信录。 http://blog.csdn.net/jianchi88

2011-12-08

校友录系统(ASP.NET 3.5实现)

校友录系统(ASP.NET 3.5实现).rar 校友录系统(ASP.NET 3.5实现).rar 完整的系统。买书光盘送的

2011-04-02

妙趣横生的算法源代码

妙趣横生的算法源代码.rar 妙趣横生的算法源代码.rar 妙趣横生的算法源代码.rar

2011-04-02

AVR事无巨细系列十四,时钟芯片DS1302.pdf

AVR事无巨细系列十四,时钟芯片DS1302.pdf

2010-08-25

AVR事无巨细系列十三,温度传感器DS18B20.pdf

AVR事无巨细系列十三,温度传感器DS18B20.pdf AVR事无巨细系列十三,温度传感器DS18B20.pdf

2010-08-25

AVR事无巨细系列十二,IIC总线与EEPROM芯片24C02.pdf

AVR事无巨细系列十二,IIC总线与EEPROM芯片24C02.pdf

2010-08-25

AVR事无巨细系列十,片内ADC.pdf

AVR事无巨细系列十,片内ADC.pdf AVR事无巨细系列十,片内ADC.pdf

2010-08-25

AVR事无巨细系列十,片内ADC.pdf

AVR事无巨细系列十,片内ADC.pdf AVR事无巨细系列十,片内ADC.pdf

2010-08-25

AVR事无巨细系列九,PWM演示.pdf

AVR事无巨细系列九,PWM演示.pdf AVR事无巨细系列九,PWM演示.pdf

2010-08-25

AVR事无巨细系列八,数码管闪亮.pdf

AVR事无巨细系列八,数码管闪亮.pdf AVR事无巨细系列八,数码管闪亮.pdf

2010-08-25

AVR事无巨细系列七,LCD12864.pdf

AVR事无巨细系列七,LCD12864.pdf AVR事无巨细系列七,LCD12864.pdf

2010-08-25

AVR事无巨细系列六,LCD1602.pdf

AVR事无巨细系列六,LCD1602.pdf AVR事无巨细系列六,LCD1602.pdf

2010-08-25

AVR事无巨细系列五,无源蜂鸣器.pdf

AVR事无巨细系列五,无源蜂鸣器.pdf AVR事无巨细系列五,无源蜂鸣器.pdf

2010-08-25

AVR事无巨细系列四,矩阵键盘.pdf

AVR事无巨细系列四,矩阵键盘.pdf AVR事无巨细系列四,矩阵键盘.pdf

2010-08-25

AVR事无巨细系列三,独立键盘.pdf

AVR事无巨细系列三,独立键盘.pdf AVR事无巨细系列三,独立键盘.pdf

2010-08-25

AVR事无巨细系列二,流水灯.pdf

AVR事无巨细系列二,流水灯.pdf AVR事无巨细系列二,流水灯.pdf

2010-08-25

AVR事无巨细系列一,GCC+AVR.pdf

AVR事无巨细系列一,GCC+AVR.pdf

2010-08-25

pid应用 pdf 程序

pid应用pdf 有代码,很详细的资料 飞思卡尔智能汽车有用

2010-08-23

《从零学会做机器人》

从零学会做机器人.pdf 张建高教你做机器人。

2010-08-23

AVR事无巨细系列.pdf

AVR事无巨细系列.pdf 一本很好的AVR入门教程。

2010-08-23

武汉科技大学首安二队.pdf

飞思卡尔 智能汽车 pdf 技术报告 ccd 武汉科技大学首安二队.pdf

2010-01-05

中南民族大学SU-27队.pdf

飞思卡尔pdf 技术报告 智能汽车 飞思卡尔 中南民族大学SU-27队.pdf 第四届

2010-01-05

华为的经典PCB教程

华为的经典PCB教程 华为的经典PCB教程 华为的经典PCB教程 华为的经典PCB教程

2009-11-09

基于串口的温度测量仪

温度测量仪 基于串口的,原创 基于串口的温度测量仪

2009-11-01

16X16+LED点阵汉字广告屏

16X16+LED点阵汉字广告屏16X16+LED点阵汉字广告屏16X16+LED点阵汉字广告屏

2009-10-30

6路数字抢答器的设计

6路数字抢答器的设计6路数字抢答器的设计6路数字抢答器的设计6路数字抢答器的设计6路数字抢答器的设计

2009-10-30

华为内部模拟电子技术教程

华为内部模拟电子技术教程 华为的东西还是不错的

2009-07-05

给初学单片机的40个实验

给初学单片机的40个实验 单片机 实验 电子 电子设计 入门必备

2009-06-28

清华大学-郑 莉 C++ 程序设计 课件

清华大学-郑 莉 C++ 程序设计 课件 看过就知道好,讲得好详细,把它看完就知道它的利害

2009-06-28

C与C++中的异常处理.pdf

C与C++中的异常处理.pdf 快来下载把。挺好的

2009-04-27

2009年度ACM编程竞赛全球总决赛试题

2009年度ACM编程竞赛全球总决赛试题 第33届ACM国际大学生程序设计大赛决赛在斯德哥尔摩瑞典皇家技术学院落下帷幕 这是试题 世界冠军被俄罗斯的圣彼得堡IT、机械和光学大学摘得,这是它连续第二年赢得这项荣誉,它战胜了来自6大洲的99支参赛队伍。 比赛结果如下:清华大学第二,圣彼得堡国立大学第三,萨拉托夫国立大学第四,牛津大学第五,六至十名分别是浙江大学、MIT、Altai州立理工大学、华沙大学、滑铁卢大学,华南理工大学第十三,复旦大学、国立台湾大学和上海交大是第十四,北京大学、浙江工业大学、中山大学和香港中文大学获第二十名,天津大学、四川大学、北京交通大学和北京邮电大学第34....

2009-04-24

C++编程思想(第2版)

【原 书 名】 Thinking in C++ Second Edition Volume One:Introduction to Standard C++ 【原出版社】 Prentice Hill 【作  者】(美)Bruce Eckel [同作者作品] 【译  者】 刘宗田[同译者作品] 袁兆山 潘秋菱 等 【丛 书 名】 计算机科学丛书 【出 版 社】 机械工业出版社 【书 号】 7111108078 【上架时间】 2002-9-19 【出版日期】 2002 年9月 【开 本】 16开 【页 码】 516 【版 次】1-1 【内容简介】 本书第1版荣获美国“软件开发”杂志评选的1996年图书震撼大奖(Jolt Award),中文版自2000年推出以来,经久不衰,获得了读者的充分肯定和高度评价。 第2版与第1版相比,在章节安排上有以下改变。增加了两章:“对象的创建与使用”和“C++中的C”。前者与“对象导言”实际上是第1版“对象的演化”一章的彻底重写,增加了近几年面向对象方法和编程方法的最新研究与实践的丰硕成果;后者的添加使不熟悉C的读者可以直接使用本书。删去了四章:“输入输出流介绍”、“多重继承”、“异常处理”和“运行时类型识别”,删去的内容均为C++中较复杂的主题,作者将它们连同C++标准完成后增加的一些内容放到本书的第2卷中,使本书的第1卷内容显得更加集中,可以供不同程度的读者选择阅读。需要强调的是,第2版的改变不仅体现在这些章节的调整上,更多的改变体现在每一章的字里行间,包括例子的调整和练习的补充。与众不同的精心选材和认真推敲的叙述使得第2版更趋成熟。 本书是C++领域内一本权威的著作,书中的内容、讲授方法、例子和练习既适合课堂教学,又适合读者自学。无论是高等院校计算机及相关专业的学生,还是业界的从业人员,以及广大的计算机爱好者,都可从阅读本书中获益。 【作译者介绍】 作者: Bruce Eckel Bruce Eckel从1986年至今,已经发表了超过150篇计算机技术文章,出版了6本书(其中4本是关于C++的),并且在全世界做了数百次演讲。他是《Thinking in Java》、《Thinking in C++》、《C++ Inside & Out》《Using C++》和《Thinking in Patterns》的作者,同时还是《Black Belt C++》文集的编辑。他的《Thinking in C++》一本书在1995年被评为“最佳软件开发图书”,《Thinking in Java》被评为1999年Java World“最爱读者欢迎图书”,并且赢得了编辑首选图书奖。.. << 查看详细 [同作者作品] C++编程思想 第2卷:实用编程技术(英文版) Java编程思想:第3版 C++编程思想 第2卷:实用编程技术

2009-04-24

程序员面试宝典(全).pdf

揭开知名IT企业面试、笔试的核心机密,传授程序员岗位求职的关键技巧、传递快乐工作的精神与态度。   本书涉猎各大IT公司历年面试真题(包括笔试题、口试题、电话面试、英语面试,以及逻辑测试和智力测试),通过精确详细的分在,把在应聘程序员(含网络、测试等)过程中所遇见的常见考点为你一一点破。   第二版在保留原书精华主干内容的基础上,大量更新了程序设计例题,多取材于2007-2008年各大公司面试题,真实反映自第一版以来近2年的发展,帮助求助者应对新的变化。   许多面试题看似简单,却需要深厚的基本功才能给出完美的答案。   我们能真正写好一个Strcpy函数吗?我们都觉得自已能,可是我们写出的Strcpy很可能只能拿到10分中的2分……   本书将告诉你如何提高自身功力以从容面对企业的面试。   本书要点:   求职过程   C/C++程序设计   数据结构与设计模式   操作系统、数据库与网络   英语面试、电话面试与智力测试 目录 第1部分 求职过程  第1章 应聘求职   1.1 渠道   1.2 流程  第2章 简历书写   2.1 简历注意事项   2.2 简历模板  第3章 求职五步曲   3.1 笔试   3.2 电话面试   3.3 面试   3.4 签约   3.5 违约  第4章 职业生涯发展规划   4.1 缺乏工作经验的应届毕业生   4.2 更换工作的程序员们   4.3 快乐地工作 第2部分 C/C++程序设计  第5章 程序设计基本概念   5.1 赋值语句   5.2 i++   5.3 编程风格   5.4 类型转换   5.5 与非或问题   5.6 a、b交换   5.7 C和C++的关系   5.8 程序设计其他问题  第6章 预处理、const与sizeof   6.1 宏定义   6.2 const   6.3 sizeof   6.4 内联函数和宏定义  第7章 指针与引用   7.1 指针基本问题   7.2 传递动态内存   7.3 函数指针   7.4 指针数组和数组指针   7.5 迷途指针   7.6 指针和句柄  第8章 循环、递归与概率   8.1 递归基础知识   8.2 典型递归问题   8.3 循环与数组问题   8.4 螺旋队列问题   8.5 概率  第9章 STL模板与容器   9.1 向量容器   9.2 泛型编程   9.3 模板  第10章 面向对象   10.1 面向对象的基本概念   10.2 类和结构   10.3 成员变量   10.4 构造函数和析构函数   10.5 拷贝构造函数和赋值函数   10.6 多态的概念   10.7 友元  第11章 继承与接口   11.1 覆盖   11.2 私有继承   11.3 虚函数继承和虚继承   11.4 多重继承   11.5 检测并修改不适合的继承   11.6 纯虚函数   11.7 COM  第12章 位运算与嵌入式编程   12.1 位制转换   12.2 嵌入式编程   12.3 static   12.4 图形/音频相关 第3部分 数据结构和设计模式  第13章 数据结构基础   13.1 单链表   13.2 双链表   13.3 循环链表   13.4 队列   13.5 栈   13.6 堆   13.7 树   13.8 排序  第14章 字符串   14.1 整数字符串转化   14.2 字符数组和strcpy   14.3 数组初始化和数组越界   14.4 数字流和数组声明   14.5 字符串其他问题   14.6 字符子串问题  第15章 设计模式   15.1 设计模式   15.2 软件测试   15.3 软件工程   15.4 ERP   15.5 C#基础   15.6 C#循环   15.7 C#继承   15.8 C#委托   15.9 ASP.NET 第4部分 操作系统、数据库和网络  第16章 操作系统   16.1 进程   16.2 图形学   16.3 内存管理   16.4 UNIX  第17章 数据库与SQL语言   17.1 数据库理论   17.2 SQL语言   17.3 SQL语言客观题   17.4 SQL语言主观题  第18章 计算机网络及分布式系统   18.1 网络结构   18.2 网络协议问题   18.3 网络安全问题   18.4 网络其他问题 第5部分 综合面试题  第19章 英语面试   19.1 面试过程和技巧   19.2 关于工作(About Job)   19.3 关于个人(About Person)   19.4 关于未来(About Future)  第20章 电话面试   20.1 电话面试之前的准备工作   20.2 电话面试交流常见问题  第21章 智力测试   21.1 关于数字的智力测试   21.2 关于推理的智力测试   21.3 关于时间的智力测试   21.4 关于综合的智力问题   21.5 关于群体面试   21.6 关于表格的智力测试 附录A 简历模板 附录B 面试经历总结

2009-04-24

算法大全(C,C++).doc

算法大全(C,C++).doc 适合初学者

2009-04-24

C语言编程实例100例下载(Word版)

C语言编程实例100例下载(Word版).doc

2009-04-24

各大IT公司的笔试面试题百度,阿里巴巴华为等

各大IT公司的笔试面试题 包括联想 网易 华为 朗讯 IBM 百度 google 腾讯 普天 阿里巴巴 贝尔 思科 微软 网易 大唐 淘宝等。好详细

2009-04-23

C++标准程式库.pdf

C++标准程式库.pdf格式。欢迎下载~~~~~~~

2009-04-23

一个月挑战C++(chm电子书).chm

一个月挑战C++(chm电子书).chm 一个长篇的C++入门教程

2009-04-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除