自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (8)
  • 收藏
  • 关注

转载 NMEA-0183协议

NMEA是National Marine Electronics Association(美国国家海事电子协会)的缩写。该协会是一家专门从事海洋电子设备方面研究的民间机构,它制定了关于GPS(全球定位系统)电子设备之间的通信接口和协议的NMEA标准。NMEA-0183协议是目前GPS接收机上使用最广泛的协议,大多数常见的GPS接收机、GPS数据处理软件、导航软件都遵守或者至少兼容这个协议。

2017-04-17 16:29:59 1169

转载 Android蓝牙自动配对Demo,亲测好使!!!

蓝牙自动配对,即搜索到其它蓝牙设备之后直接进行配对,不需要弹出配对确认框或者密钥输入框。转载请注明出处http://blog.csdn.net/qq_25827845/article/details/52400782源码下载地址:https://github.com/chaohuangtianjie994/BlueTooth-AutoPair 经

2017-04-17 11:11:01 976

转载 Android 蓝牙自动匹配PIN码跳过用户交互

近期项目中需要连接蓝牙设备,起初只是设置蓝牙列表界面让用户点击然后输入默认PIN码,后来改需求了 = = ,要求自动连接指定设备并不需要用户手动输入PIN码,作为Android 小白的我是拒绝的,但是拒绝有什么用~首先说一下之后会用到的关于蓝牙方面的东西:断开蓝牙已配对的设备搜索附近蓝牙设备拦截用户交互页面,使用代码输入由于在最后连接的时候使用的是设备的SDK所以在这里就不介绍了

2017-04-17 11:07:53 12633 5

转载 android 取消蓝牙配对框 实现自动配对

我看了几个文章,主要是接受配对广播,然后设置pin,实现配对,但是网上的大部分手机是不可以的,Android.bluetoothdevice 下 action_pair_request ,没有定义这个,开始困扰了我一点时间,实现难度:是否能进入那个广播响应。  定义了一个类,这个是网上的可以直接用//=======================================

2017-04-17 09:55:23 1863

转载 计算2个GPS坐标的距离

http://blog.csdn.net/ztp800201/article/details/44676867 Java 计算两个GPS坐标点之间的距离1. Lat1 Lung1 表示A点经纬度,Lat2 Lung2 表示B点经纬度;2. a=Lat1 – Lat2 为两点纬度之差  b=Lung1 -Lung2 为两点经度之差;3. 6378.137为地球半径,单位为千米

2017-04-15 10:00:44 28873

转载 VirtualBox中的Mac系统的使用心得

下面的内容,是关于在VirtualBox中使用mac的心得。多数和Mac本身相关的,少数是和VirtualBox下使用Mac相关的。1.第一次进入系统后的桌面背景叫 Andromeda Galaxy第一次进入Mac系统,桌面背景是那个星云的界面:这个背景桌面:Andromeda Galaxy,中文译为:仙女座星系;仙女座星云。对应的,可以在桌面右

2017-04-14 16:58:16 10728 1

转载 XML 命名空间(XML Namespaces)介绍以及节点读取方法

XML 命名空间提供避免元素命名冲突的方法。命名冲突在 XML 中,元素名称是由开发者定义的,当两个不同的文档使用相同的元素名时,就会发生命名冲突。这个 XML 文档携带着某个表格中的信息: Apples Bananas 这个 XML 文档携带有关桌子的信息(一件家具): African Coffee Table 80

2017-04-13 16:11:05 13142

转载 在JavaScript的Array数组中调用一组Function方法

注* 这是一篇很有趣的文章,可以很好地帮助你了解JavaScript的Function是怎么工作的。我在看几个月前写的一些代码。在一个数组中(arrays)中存放了一组方法(function),在未来的某个时间要一次性将这些方法都执行一遍。这是一件非常简单的事,但有关代码的一些始终困扰着我。假设数组是这样的:var cal

2017-04-13 10:21:28 2477

转载 解决WebBrowser控件打开本地页面报安全提示的问题

今天用C#封装了WebBrowser控件去打开一个本地页面,页面中包含了JavaScript脚本,该脚本通过WebBrowser的ObjectForScripting属性,访问C#代码。代码非常简单,但没想到打开页面的时候,WebBrowser报安全提示:“为帮助保护你的安全,你的Web浏览器已经限制此文件显示可能访问你的计算机的活动内容。单击此处查看选项…”。尼玛,这是我自己写的本地页面好不好,

2017-04-13 08:39:47 10246

转载 脚本错误:对象不支持“getLabel”属性或方法

最近在使用百度地图API编写一个具有地图功能的MFC程序,在编写htm时遇到一个脚本错误,并进行了解决!代码要实现的功能step1:点击右边树状控件的某一项后,会根据该项的内容(即用户名)查找地图上是否标注了该用户;step2:若已标注该用户,则将地图的中心位置平移到该用户上;若未标注该用户,则弹出提示信息“暂无***的位置信息!”。问题错误代码如下

2017-04-12 14:40:05 1797 1

转载 推荐10本C#编程的最佳书籍

本文由码农网 – 小峰原创翻译,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划!C#和.NET非常受全球开发人员的追捧和热爱。书籍是人类进步的阶梯。想要学习C# ?这里有10本学习C#编程的最好书籍在等着你哦。1.《C# 5.0 in a Nutshell》:权威的参考书学习C#的最佳书籍之一。如果你想要获取最新的信息以增长有关C#语言编程的知识,这是最好的选择之一。

2017-04-10 11:42:09 64196 4

转载 Makefile常用的变量

1、自动变量[html] view plain copy 变量                            说明  $@                              规则的目标所对应的文件名  $                              规则中的第一个相关文件名  $^

2017-04-10 08:52:34 892

转载 C#控件及常用属性整理

C#控件一览表 前所未有的震撼(太详细了) 1、窗体 1、常用属性 (1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体。 (2) WindowState属性: 用来获取或设置窗体的窗口状态。 取值有三种: Normal (窗体正常显示)、 Minimized(窗体以最小化形式显示)和 Maximized(窗体以最大化形式显示)。 (3)S

2017-04-07 17:26:19 3589

转载 C#中webbrowser与javascript(js)交互的方法

今天在做一个项目的时候需要用c#搞一个webbrowser,然后有些地方还需要与js交互。所以就查了一下资料,发现很多博客提到了但是却没有说下具体的操作。所以我就写一下.开发环境是Visual Studio 2008 .阅读此文需要有C#和javascript开发基础。1.首先新建一个项目,在默认窗体form1上拖拽一个webbrowser1.2.给form1的Load时间事件添加

2017-04-07 16:48:08 1943

转载 反射 Module类详解

配合官方注解来看,效果更好:https://msdn.microsoft.com/zh-cn/library/f7ykdhsy(v=vs.110).aspx模块信息是通过Module类访问的。下面通过一个类子,讲解下Module类的使用,如果你是一个用心的程序员,应该了解下Module的详细信息。还是继续使用C#反射(一)的类子。下面我们写一个新的文件ModuleDemo.cs。内容如下:

2017-04-07 09:29:07 377

转载 C#程序集系列03,引用多个module

C#程序集系列03,引用多个module我们经常在项目中引用程序集。通常情况下,一个程序集包含一个module,但一个程序集也可以包含多个module。本篇就来体验:在一个可以被编译成.exe可执行文件的.cs文件中引用多个module。 □ 创建第一个module→在前面2篇文章中,F盘的as文件夹中存放了若干程序集等文件。→打开"VS2012开发人员命令提示",输入如下命令

2017-04-07 09:19:53 826

转载 C#动态加载/卸载Assembly的解决方案

1.  Assembly中的类要从MarshalByRefObject继承,如果你想从你自己的类来继承,那么请选用interface或者继续研究其他解决方案。点击(此处)折叠或打开namespace Library{    public class MyClass: MarshalByRefObject    {    }}其中MyClass的方法的

2017-04-07 08:57:42 5905

转载 C# Assembly说明

Assembly:[ə'sembli]   装配;集会,集合在C#里Assembly类表示一个程序集,它是一个可重用、无版本冲突并且可自我描述的公共语言运行时(Common Language Runtime )应用程序构造块,Assembly包含来程序的名称,版本号,自我描述,文件关联关系和文件位置等信息【在项目中有一个Assembly.cs类文件存储着程序集的信息】。该Assembly类在S

2017-04-07 08:47:58 7326

转载 c# 如何读取程序集中的描述、公司名称、版权等信息?

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Ref

2017-04-07 08:45:13 4431

转载 Assembly简单说明

什么是Assembly(程序集)?Assembly是一个包含来程序的名称,版本号,自我描述,文件关联关系和文件位置等信息的一个集合。在.net框架中通过Assembly类来支持,该类位于System.Reflection下,物理位置位于:mscorlib.dll。Assembly能干什么?我们可以通过Assembly的信息来获取程序的类,实例等编程需要用到的信息。一个简单的

2017-04-07 08:41:04 566

转载 C#反射的Assembly的简单应用

反射(Reflection)是.NET中的重要机制,通过反射,可以在运行时获得.NET中每一个类型(包括类、结构、委托、接口和枚举等)的成员,包括方法、属性、事件,以及构造函数等。还可以获得每个成员的名称、限定符和参数等。有了反射,即可对每一个类型了如指掌。如果获得了构造函数的信息,即可直接创建对象,即使这个对象的类型在编译时还不知道。Assembly就是反应反射的一种应用,它定义和加载程序集

2017-04-07 08:39:26 358

转载 C#特性详解

特性(attribute)是被指定给某一声明的一则附加的声明性信息。在C#中,有一个小的预定义特性集合。在学习如何建立我们自己的定制特性(custom attributes)之前,我们先来看看在我们的代码中如何使用预定义特性。 using System; public class AnyClass{     [Obsolete("Don't use Old method, 

2017-04-06 20:29:39 858

转载 用StructLayout特性限定声明结构或类

一、用StructLayout特性限定声明结构或类  公共语言运行库利用StructLayoutAttribute控制类或结构的数据字段在托 管内存中的物理布局,即类或结构需要按某种方式排列。如果要将类传递给需要指定布局的非托管代码,则显式控制类布局是重要的。它的构造函数中用LayoutKind值初始化 StructLayoutAttribute 类的新实例。 LayoutKind.Seque

2017-04-06 16:19:24 2224

转载 C#与C/C++的交互

C#与C/C++的交互转载 http://www.cnblogs.com/warensoft/archive/2011/12/09/warenosoft3d.html最近在编写Warensoft3D游戏引擎,并预计明年年初发布测试版本,底层引擎使用DirectX和MONO来编写,上层的逻辑使用C#来编写,因此编写了大量C#与C++互调的代码,现在经验写出来与大家分享,并希望后来者少

2017-04-06 14:15:39 713

转载 VirtualBox的网络设置

VirtualBox 可以为每一个虚拟机分配8个网卡。每一个网卡的连接方式可以选为下列之一:Not attachedNetwork Address Translation (NAT)Bridged networkingHost-only networkingInternal networkingGeneric networking去掉第一个和最后一个,我们关心的只剩下4个:(以下假

2017-04-01 09:48:44 1438

转载 修改VirtualBox中mac的分辨率

最近在windows上用VirtualBox安装了MAC ox雪豹,却发现分辨率不能调节,特别是全屏效果很差劲。我的电脑默认是1280×800的分辨率,浪费了很多显示空间。由于虚拟机没有安装显卡所以,不能通过背景设置更改分辨率。想很多朋友也有这样问题,就把解决方法贴出来,供大家参考一下。方法一:当在VirtualBox中启动MAC的时候,进入启动界面后,先按右方向键切换到第二个启动图标

2017-04-01 09:22:36 1479

1_BLDC电机控制算法.pdf

1.BLDC 永磁无刷电机电机控制算法 2.AC 电机控制算法 3.步进电机控制算法 4.通用 DC 电机控制算法

2021-09-08

猪哥的嵌入式Linux公房菜

一、学习指引 【PAGE:6-34】 1.嵌入式设计应具备的基本技能 2.嵌入式 Linux 学前指导 3.嵌入式 linux 入门学习规划 4.嵌入式 linux 入门学习内容指南 5.O'Reilly 原版 Linux 图书学习线路图 6.嵌入式系统知识体系、学习误区及建议 7.嵌入式系统 Linux 内核开发学习指导框图 8.嵌入式系统开发学习如何起步、如何深入? 9.Linux 系统初学者的常见问题解决集结大全 二、基本概念 【PAGE:34-79】 1.嵌入式 Linux 操作系统名词解释及资源大全 2.linux 下的各个目录的含义 3.GCC 编译器介绍 4.GCC 编译器发展历程 5.几种 Linux 嵌入式开发环境简介 6.三种嵌入式操作系统的分析与比较 7.交叉编译的基本概念 8.两本嵌入式 Linux 开发经典教程比较 9.Windows 与 Linux 系统下的库介绍 10.比较五种开源协议 11.BSS 段、数据段、代码段、堆与栈 12.moblin SDK 简介 13.Windows 和 Linux 动态库差异分析 14.主流浏览器内核概述 15.Linux 音频系统简析 16.linux 世界里的时间概念三、网络资源 【PAGE:80-94】 1.需静心细看的书 2.主要嵌入式 Linux 操作系统网站 3.嵌入式 Linux 的主流版本及开发商 4.嵌入式 Linux 网络资源列表 5.三个最实用的 linux 命令行方面的网站 四、基础知识 【PAGE:95-169】 1.Linux 下 C 语言编程基础知识 2.GCC 基础知识 3.常见的 Linux 系统调用 4.主流嵌入式 Linux 动态扩展技术比较分析 5.Linux 动态库剖析 6.Linux 下 patch 的制作和应用 7.初步探讨 ARM 调试技术 8.linux 下 shell 的工作原理 9.Linux 文件压缩剖析 10.嵌入式软件代码压缩技术剖析 11.ARM 的堆栈初始化详解 12.linux 库文件编写入门 13.make shell 函数简介五、工具配置 【PAGE:170-273】 1.Vi 编辑器的基本使用方法 2.ARM Linux 开机后自动运行特定程序的方法 3.ARM 下 GCC 交叉编译器的制作 4.Linux 2.6.19.x 内核编译配置选项简介 5.ARM 板上构造 gdb +gdbserver 调试环境 6.用 NFS 服务开发 ARM Linux 程序的方法介绍 7.与 sourceinsight 媲美的代码阅读工具 8.DIY 打造嵌入式 Linux 软硬件开发环境 9.GDB/ARMulator 介绍 10.gdb+gdbserver 的方式进行 ARM 程序调试 11.GNU 工具开发基于 ARM 嵌入式系统的方法 12.交叉平台开源编译系统:cmake 入门 13.autotools 生成 makefile 入门 14.SVN,HG,GIT 命令对照 15.利用 vmmare tools 来实现共享的具体操作 16.献给初学者的10个 Git 技巧 六、shell 命令 【PAGE:274-345】 1.嵌入式 Linux 开发常用的实用命令 2.7个极具杀伤性的 Linux 命令 3.U-Boot 提供的基本命令 4.nm 命令查看对象,可执行及库文件 5.shell 命令:wget 命令的使用技巧 6.用脚本实时显示 Linux 网络流量 7.Linux 必学的60个命令(1)-安装与登陆 8.Linux 必学的60个命令(2)-文件处理9.Linux 必学的60个命令(3)-系统管理 10.Linux 必学的60个命令(4)-网络操作 11.Linux 必学的60个命令(5)-网络安全 12.Linux 必学的60个命令(6)-其他 七、Linux 系统基础知识专题 【PAGE:346-459】 1. Linux 系统基础知识(一)硬盘 2. Linux 系统基础知识(二)安装 3. Linux 系统基础知识(三)基本使用命令 4. Linux 系统基础知识(四)X 的配置 5. Linux 系统基础知识(五)Linux 命令和技巧 6. Linux 系统基础知识(六)Linux 安装的几点经验 7. Linux 系统基础知识(七)linux 文件系统 8. Linux 系统基础知识(八)Linux 系统安装前的准备工作 9. Linux 系统基础知识(九)Linux 与其他操作系统的区别 10. Linux 系统基础知识(十)unix 系统发展史 11. Linux 系统基础知识(十一)操作系统简述 12. Linux 系统基础知识(十二)常见 linux 介绍 13. Linux 系统基础知识(十三)关于开放源代码的定义 14. Linux 系统基础知识(十四)什么是 Linux 15. Linux 系统基础知识(十五)GNU 通用公共许可证 16. Linux 系统基础知识(十六)GRUB 三步通 17. Linux 系统基础知识(十七)Linux init 详解 18. Linux 系统基础知识(十八)linux 常用命令索引 19. Linux 系统基础知识(十九)Linux 启动过程综述 20. Linux 系统基础知识(二十)LINUX 文件格式简介 21. Linux 系统基础知识(二十一)Linux 下软件安装方法 22. Linux 系统基础知识(二十二)Linux 与其他操作系统的区别 23. Linux 系统基础知识(二十三)linux 完全汉化汉化 24. Linux 系统基础知识(二十四)linux 完全安装手册25. Linux 系统基础知识(二十五)VI 的使用 26. Linux 系统基础知识(二十六)编程语言 27. Linux 系统基础知识(二十七)文件与目录操作 28. Linux 系统基础知识(二十八)Linux 备份与压缩命令

2017-10-14

高质量C++/C编程指南

高质量 C++/C 编程指南 作者-林锐 博士 C++/C编程进阶教材

2017-10-14

人月神话 (32周年中文纪念版)弗雷德里克·布鲁克斯著

人月神话 (32周年中文纪念版)弗雷德里克·布鲁克斯著

2017-10-14

产品设计与开发(第三版)

《产品设计与开发(第3版)(翻译版)》原版是由宾夕法尼亚大学沃顿商学院副教授Karl T.Ulrich与麻省理工学院斯隆管理学院教授Steven D.Eppinger合作编写,由湖南大学詹涵菁翻译为中文版。

2017-10-14

PID 调节控制做电机速度控制

将偏差的比例(Proportion)、积分(Integral)和微分(Differential)通过线性组合构成控制量, 用这一控制量对被控对象进行控制,这样的控制器称 PID 控制器。

2017-10-14

Google+C+++编程规范

Google+C+++编程规范 一、头文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1. #define 的保护 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. 头文件依赖 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. 内联函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 4. -inl.h 文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Function Parameter Ordering 5. 函数参数顺序(Function Ordering) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 6. 包含文件的名称及次序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 二、作用域 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Namespaces 1. 命名空间(Namespaces Namespaces) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Nested Class 2. 嵌套类(Nested Class) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Nonmember Static Member 3. 非成员函数(Nonmember Nonmember)、静态成员函数(Static Member)和全局函 Global Functions 数(Global Functions) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Local Variables 4. 局部变量(Local Variables) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Global Variables 5. 全局变量(Global Variables) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 三、类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Constructor 1. 构造函数(Constructor Constructor)的职责 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Default Constructors 2. 默认构造函数(Default Constructors) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Explicit Constructors 3. 明确的构造函数(Explicit Constructors) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Copy Constructors 4. 拷贝构造函数(Copy Constructors) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Structs vs. Classes 5. 结构体和类(Structs Classes) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Inheritance 6. 继承(Inheritance Inheritance) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Multiple Inheritance 7. 多重继承(Multiple Inheritance) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Interface 8. 接口(Interface Interface) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Operator Overloading 9. 操作符重载(Operator Overloading) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Access Control 10. 存取控制(Access Control) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Declaration Order 11. 声明次序(Declaration Order) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Write Short Functions 12. 编写短小函数(Write Functions) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Google 特有的风情 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 四、Google Smart Pointers 1. 智能指针(Smart Pointers) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 五、其他 C++ C++特性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Reference Arguments 1. 引用参数(Reference Arguments) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Function Overloading 2. 函数重载(Function Overloading) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Default Arguments 3. 缺省参数(Default Arguments) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Variable-Length Arrays and alloca() 4. 变长数组和 alloca alloca(Variable-Length alloca()) . . . . . . . . . . . . . . . . 20 Friends 5. 友元(Friends Friends) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Exceptions 6. 异常(Exceptions Exceptions) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Run-Time Type Information, RTTI 7. 运行时类型识别(Run-Time RTTI) . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Casting 8. 类型转换(Casting Casting) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22Streams 9. 流(Streams Streams) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Preincrement and Predecrement 10. 前置自增和自减(Preincrement Predecrement) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Use of const 11. const 的使用(Use const) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Integer Types 12. 整型(Integer Types) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 64-bit Portability 13. 64 位下的可移植性(64-bit Portability) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Preprocessor Macros 14. 预处理宏(Preprocessor Macros) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 0 and NULL 15. 0 和 NULL NULL(0 NULL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 sizeof 16. sizeof sizeof(sizeof sizeof) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Boost 17. Boost 库(Boost Boost) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 六、命名约定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 General Naming Rules 1. 通用命名规则(General Rules) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 File Names 2. 文件命名(File Names) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Type Names 3. 类型命名(Type Names) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Variable Names 4. 变量命名(Variable Names) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Constant Names 5. 常量命名(Constant Names) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Function Names 6. 函数命名(Function Names) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Namespace Names 7. 命名空间(Namespace Names) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Enumerator Names 8. 枚举命名(Enumerator Names) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Macro Names 9. 宏命名(Macro Names) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Exceptions to Naming Rules 10. 命名规则例外(Exceptions Rules) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 七、注释 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Comment Style 1. 注释风格(Comment Style) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 File Comments 2. 文件注释(File Comments) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Class Comments 3. 类注释(Class Comments) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Function Comments 4. 函数注释(Function Comments) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Variable Comments 5. 变量注释(Variable Comments) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Implementation Comments 6. 实现注释(Implementation Comments) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Punctuation, Spelling and Grammar 7. 标点、拼写和语法(Punctuation, Grammar) . . . . . . . . . . . . . . . . . . . 38 TODO Comments 8. TODO 注释(TODO Comments) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 八、格式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Line Length 1. 行长度(Line Length) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Non-ASCII Characters 2. 非 ASCII 字符(Non-ASCII Characters) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Spaces vs. Tabs 3. 空格还是制表位(Spaces Tabs) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Function Declarations and Definitions 4. 函数声明与定义(Function Definitions) . . . . . . . . . . . . . . . . . . . 40 Function Calls 5. 函数调用(Function Calls) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Conditionals 6. 条件语句(Conditionals Conditionals) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Loops and Switch Statements 7. 循环和开关选择语句(Loops Statements) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Pointers and Reference Expressions 8. 指针和引用表达式(Pointers Expressions) . . . . . . . . . . . . . . . . . . . 45 Boolean Expressions 9. 布尔表达式(Boolean Expressions) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Return Values 10. 函数返回值(Return Values) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Variable and Array Initialization 11. 变量及数组初始化(Variable Initialization) . . . . . . . . . . . . . . . . . . . . . . . . 46 Preprocessor Directives 12. 预处理指令(Preprocessor Directives) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Class Format 13. 类格式(Class Format) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Initializer Lists 14. 初始化列表(Initializer Lists) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48Namespace Formatting 15. 命名空间格式化(Namespace Formatting) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Horizontal Whitespace 16. 水平留白(Horizontal Whitespace) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Vertical Whitespace 17. 垂直留白(Vertical Whitespace) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 九、规则之例外 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Existing Non-conformant Code 1. 现有不统一代码(Existing Code) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Windows Code 2. Windows 代码(Windows Code) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 十、团队合作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

2017-10-14

Software Engineering for Embedded Systems

Software Engineering for Embedded Systems Methods, Practical Techniques, and Applications,一本非常好的书

2017-06-05

空空如也

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

TA关注的人

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