03 2017 档案
摘要:1.ARM ARM即以英国ARM(Advanced RISC Machines)公司的内核芯片作为CPU,同时附加其他外围功能的嵌入式开发板,用以评估内核芯片的功能和研发各科技类企业的产品. ARM 微处理器目前包括下面几个系列,以及其它厂商基于 ARM 体系结构的处理器,除了具有ARM 体系结构的
阅读全文
摘要:ARM Advanced RISC Machines. RISC 就是reduced instruction set computer 精简指令集计算机DSP digtal signal Processor.数字信号处理器。(有时也是数字信号处理的意思) AVR 只是Atmel公司的一种单片机的名称
阅读全文
摘要:http://blog.csdn.net/forever_2015/article/details/50285955 http://blog.csdn.net/forever_2015/article/details/50285955 版权声明:未经博主允许不得转载,请尊重原创, 谢谢! 版权声明:
阅读全文
摘要:目 录 第1章 ARMv8简介. 3 1.1基础认识. 3 1.2 相关专业名词解释. 3 第2章 Execution State 4 2.1 提供两种Execution State 4 2.2 决定Execution State的条件. 4 第3章 Exception Level 5 3.1 Ex
阅读全文
摘要:一、安装方法: 1、下载一个dosbox和win7 32位debug.exe,安装dosbox,打开页面 2. 将debug.exe放入磁盘根目录,这里以D盘为例。在dosbox中输入mount c d:\按回车,出现下图 3. 输入c:回车 4. 输入debug回车 5. 输入p回车 6、之后可以
阅读全文
摘要:1.闲话闲聊 最重要的写在前面:用户层通信协议就是数据包格式!!! 没有进行串口通讯实践的朋友可能会想:为什么要编制用户通信协议呢?通信过程中为什么要进行数据处理呢?在设计中编过串口通信程序的读者应该张口就可以回答:为了按规定格式从串口发送数据,也为了从接收到的数据中将需要的信息提取出来。 串口通信
阅读全文
摘要:PostgreSQL 是一个自由的对象-关系数据库服务器(数据库管理系统),它在灵活的 BSD-风格许可证下发行。它提供了相对其他开放源代码数据库系统(比如 MySQL 和 Firebird),和对专有系统比如 Oracle、Sybase、IBM 的 DB2 和Microsoft SQL Serve
阅读全文
摘要:http://bbs.chinaunix.net/thread-1688208-1-1.html MySQL相对于PostgreSQL的劣势: InnoDB的表和索引都是按相同的方式存储。也就是说表都是索引组织表。这一般要求主键不能太长而且插入时的主键最好是按顺序递增,否则对性能有很大影响。 不存在
阅读全文
摘要:sync.Once.Do(f func())是一个挺有趣的东西,能保证once只执行一次,无论你是否更换once.Do(xx)这里的方法,这个sync.Once块只会执行一次。 package main import ( "fmt" "sync" "time" ) var once sync.Onc
阅读全文
摘要:执行体是个抽象的概念,在操作系统层面有多个概念与之对应,比如操作系统自己掌管的进程(process)、进程内的线程(thread)以及进程内的协程(coroutine,也叫轻量级线程)。与传统的系统级线程和进程相比,协程的最大优势在于其“轻量级”,可以轻松创建上百万个而不会导致系统资源衰竭,而线程和
阅读全文
摘要:使用线程 基本上有种使用线程的场合: 通过利用处理器的多个核使处理速度更快。 为保持GUI线程或其他高实时性线程的响应,将耗时的操作或阻塞的调用移到其他线程。 何时使用其他技术替代线程 开发人员使用线程时需要非常小心。启动线程是很容易的,但确保所有共享数据保持一致很难。遇到问题往往很难解决,这是由于
阅读全文
摘要:Valgrind简介: Valgrind是动态分析工具的框架。有很多Valgrind工具可以自动的检测许多内存管理和多进程/线程的bugs,在细节上剖析你的程序。你也可以利用Valgrind框架来实现自己的工具。 Valgrind通常包括6个工具:一个内存错误侦测工具,两个线程错误侦测工具,cach
阅读全文
摘要:QSocketNotifier 用来监听系统文件操作,将操作转换为Qt事件进入系统的消息循环队列。并调用预先设置的事件接受函数,处理事件。 一共存在3类事件:read,write,exception. QSocketNotifier::Read 0 There is data to be read.
阅读全文
摘要:一、QThreadPool类 QThreadPool管理一组线程。它负责管理和回收单个QThread对象以减少程序中线程创建的开销。每个Qt应用程序都有一个全局的QThreadPool对象,可通过方法globalInstance()获得。为了调用QThreadPool中的一个线程,需要提供一个从QR
阅读全文
摘要:QFuture<T>run(constClass *object,T(Class::*fn)(Param1,Param2,Param3,Param4,Param5)const,constArg1 &arg1,constArg2 &arg2,constArg3 &arg3,constArg4 &arg
阅读全文
摘要:在Go语言中,可以在接口A中组合其它的一个或多个接口(如接口B、C),这种方式等价于在接口A中添加接口B、C中声明的方法。 在Go语言中,可以在接口A中组合其它的一个或多个接口(如接口B、C),这种方式等价于在接口A中添加接口B、C中声明的方法。 代码如下: //接口中可以组合其它接口,这种方式等效
阅读全文
摘要:CodeBlocks优点: 1.所占资源少,对电脑硬件的要求低 2.开源软件,可以查看源代码,虽然我不会修改,但是如果我做一个IDE的话,我一定会参考这个伟大的软件的。 3.最重要的是,它完全跨了三大平台(Windows、Linux、MAC),而且支持的编译器几乎囊括了所有的C/C++编译器,堪称完
阅读全文
摘要:Code::Blocks 是一个开放源码的全功能的跨平台C/C++集成开发环境。 Code::Blocks是开放源码软件。Code::Blocks由纯粹的C++语言开发完成,它使用了著名的图形界面库wxWidgets(2.6.2 unicode)版。对于追求完美的C++程序员,再也不必忍受Eclip
阅读全文
摘要:我想下载一个redhat的免费版,这个免费版是不是就不叫redhat了?是Fedora吗?不要推荐 红旗 以及其它的版本了,谢谢!!! 007struggle | 浏览 12141 次 我想下载一个redhat的免费版,这个免费版是不是就不叫redhat了?是Fedora吗?不要推荐 红旗 以及其它
阅读全文
摘要:概述 概述 flag包提供了一系列解析命令行参数的功能接口 命令行语法 命令行语法主要有以下几种形式 -flag //只支持bool类型 -flag=x -flag x //只支持非bool类型 以上语法对于一个或两个‘-’号,效果是一样的,但是要注意对于第三种情况,只支持非bool类型,原因是碰到
阅读全文
摘要:在Go当中 string底层是用byte数组存的,并且是不可以改变的。 例如 s:="Go编程" fmt.Println(len(s)) 输出结果应该是8因为中文字符是用3个字节存的。 len(string(rune('编')))的结果是3 如果想要获得我们想要的情况的话,需要先转换为rune切片再
阅读全文
摘要:仍然是32位。曾经是这样的:16位操作系统中,int 占16位;在32位操作系统中,int 占32位。但是现在人们已经习惯了 int 占32位,因此在64位操作系统中,int 仍为32位。64位整型用 long long 或者 __int64 仍然是32位。曾经是这样的:16位操作系统中,int 占
阅读全文
摘要:一)64位系统和32位有什么区别? 1、64bit CPU拥有更大的寻址能力,最大支持到16GB内存,而32bit只支持4G内存 2、64位CPU一次可提取64位数据,比32位提高了一倍,理论上性能会提升1倍。但这是建立在64bit操作系统,64bit软件的基础上的。 什么是64位处理器? 之所以叫
阅读全文
摘要:http://blog.chinaunix.net/uid-23392298-id-62318.html http://blog.chinaunix.net/uid-23392298-id-62318.html 我们将以问题开始说明:案例:由于n年前的误操作,导致系统启动的时候,提示如下错误:Cou
阅读全文
摘要:http://www.cnblogs.com/vipyoumay/p/5603928.html <!-- TOC depthFrom:1 depthTo:6 withLinks:1 updateOnSave:1 orderedList:0 --> 简析.NET Core 以及与 .NET Frame
阅读全文
摘要:不是为了与众不同。而是为了更加清晰易懂。Rob Pike 曾经在 Go 官方博客解释过这个问题(原文地址:http://blog.golang.org/gos-declaration-syntax),简略翻译如下(水平有限翻译的不对的地方见谅):引言Go语言新人常常会很疑惑为什么这门语言的声明语法(
阅读全文
摘要:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://gotaly.blog.51cto.com/8861157/1406905 前一篇文章我们看到了Golang标准库中log模块的使用,那么它是如何实现的呢?下面我从log.Logge
阅读全文
摘要:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://gotaly.blog.51cto.com/8861157/1405754 Golang的标准库提供了log的机制,但是该模块的功能较为简单(看似简单,其实他有他的设计思路)。不过比
阅读全文
摘要:DataTypeC cgo sizeof + + char C.char 1signed char C.schar 1unsigned char C.uchar 1short C.short 2unsigned short C.ushort 2int C.int 4unsigned int C.ui
阅读全文
摘要:经历了数十年发展的C语言,各种各样的现成的库已经非常丰富。通过cgo,可以在Go语言中使用C语言代码,充分利用好现有的“轮子”。 本文所有代码,在下述环境中调试通过: Windows 8.1 64-bit Go 1.3.3 64-bit GCC 4.8.1 64-bit 要想使用cgo,要导入C“包
阅读全文
摘要:Windows具有良好的界面和丰富的工具,所以目前linux开发的流程是,windows下完成编码工作,linux上实现编译工作。 为了提高工作效率,有必要在windows环境下搭建一套gcc,gdb,make环境。 MinGW就是windows下gcc的版本。 下载地址http://sourcef
阅读全文
摘要:package main//BY: 29295842@qq.com//这个有一定问题 如果配置信息里有中文就不行//[Server] ;MYSQL配置//Server=localhost ;主机//golang 读取 ini配置信息//http://www.widuu.com/archives/02
阅读全文
摘要:由于code.google.com被墙,导致一些托管在code.google.com上面的包go get不下来,此功能就是用于解决这个问题。 http://www.golangtc.com/download/package 使用方法: 输入完整包名,如:code.google.com/p/go.ne
阅读全文
摘要:Golang的主要 设计目标之一就是面向大规模后端服务程序,网络通信这块是服务端 程序必不可少也是至关重要的一部分。在日常应用中,我们也可以看到Go中的net以及其subdirectories下的包均是“高频+刚需”,而TCP socket则是网络编程的主流,即便您没有直接使用到net中有关TCP
阅读全文
摘要:无缓冲 channel 是在多个 goroutine 之间同步很棒的工具。 当在 Go 中用 ch := make ( chan bool ) 创建 chennel 时,bool 型的 无缓冲 channel 会被创建。这对于程序来说意味着什么呢?首先,如果读取( value := <− ch )它
阅读全文
摘要:虽然goroutine 是并发执行的,但是它们并不是并行运行的。如果不告诉Go 额外的东西,同一时刻只会有一个goroutine 执行。利用runtime.GOMAXPROCS(n) 可以设置goroutine 并行执行的数量。来自文档:GOMAXPROCS 设置了同时运行的CPU 的最大数量,并返
阅读全文
摘要:golang 语言中 也有 类是 javascript 的 typeof 判断类型的 方法 比如 func (a interface{}){ //第一种 if inst,ok:=a.(TypeA);ok{ inst.MethodA() } //第二种 switch inst:=a.(type){ c
阅读全文
摘要:1、整形到字符串: [plain] view plain copy var i int = 1 var s string [plain] view plain copy s = strconv.Itoa(i) 或者 s = FormatInt(int64(i), 10) 2、字符串到整形 [plai
阅读全文
摘要:centos6.4 安装tornado框架连接工具 xshell 工具1.如果在windows下有tornado的安装包首先现在上装到linux下的上传工具:yum install lrzsz (通过xshell上传到linux的工具) 将安装包拖到下xshell终端下没有tornado安装包:2.
阅读全文
摘要:常规VxWorks的开发环境都是基于目标开发板或目标机来构建的,但并非所有人都具备这样的条件,所以本文主要介绍如何基于vmware来构建VxWorks开发环境。 Step 1. 安装vmware 首先需要安装vmware, 版本没有什么限制,我装的是vmware 8.0,关于怎么安装就不细说了,一切
阅读全文
摘要:在 Go 中,类型可以定义接收此类型的函数,即方法。每个类型都有接口,意味着对那个类型定义了方法集合。 下面定义了结构体类型 S 以及它的两个方法: type S struct { i int } func (p *S) Get() int { return p.i } func (p *S) Pu
阅读全文
摘要:cgo不是Go 借用 JWZ 的一句话 有些人,当他们面临一个问题时,认为“我知道,我会使用 cgo ”。那么现在,他们有了两个问题。 最近有人在 Gopher 的 Slack Channel 上使用 cgo,对此我感到十分担心,尤其是竟然有个组织内部打算用一个项目来展示 Go,那真是一个坏主意。对
阅读全文
摘要:MFC中应该有两类回调函数:一类是源自C的传统回调函数,此类回调函数若非定义为全局函数,而定义在类中的话,要添加static约束,常见的有EnumXXX();一类是消息响应函数,通过成员函数指针实现回调。 设想一种情况,基类A触发某事件E后,回调某定义好的函数F进行事件处理(MFC中表现为消息响应函
阅读全文
摘要:Go语言函数作为参数传递,目前给我的感觉几乎和C/C++一致。非常的灵活。 [plain] view plain copy import "fmt" import "time" func goFunc1(f func()) { go f() } func goFunc2(f func(interfa
阅读全文
摘要:[cpp] view plain copy #include<stdio.h> #include<string.h> #include<stdarg.h> /***编写可变长参数列表的函数案例*/ /* void minprintf(char *fmt,...)这个函数只处理格式字符串和参数,格式的
阅读全文
摘要:这篇文章主要介绍了GO语言延迟函数defer用法,较为详细的分析了GO语言的特性与具体用法,并给出了一个比较典型的应用实例,具有一定的参考借鉴价值,需要的朋友可以参考下 这篇文章主要介绍了GO语言延迟函数defer用法,较为详细的分析了GO语言的特性与具体用法,并给出了一个比较典型的应用实例,具有一
阅读全文
摘要:其实环境搭建没什么难的,但是遇到一些问题,主要是有些网站资源访问不了(如:golang.org),导致一些包无法安装,最终会导致环境搭建失败,跟据这个教程几步,我们将可以快速的构建golang的开发环境。 开发环境: 一、安装 这里我用需要安装一些工具: 1.Visual Studio Code 1
阅读全文
摘要:该函数主要是切片(slice)的拷贝,不支持数组 将第二个slice里的元素拷贝到第一个slice里,拷贝的长度为两个slice中长度较小的长度值 示例: s := []int{1,2,3} fmt.Println(s) //[1 2 3] copy(s,[]int{4,5,6,7,8,9}) fm
阅读全文
摘要:前面提到不少Go的内建函数,这篇文章学习下如何使用。。 make 先拿 make 开刀,可是一开始我就进入了误区,因为我想先找到他的源码,先是发现 src/builtin/builtin.go 中有func make(Type, size IntegerType) Type ,可是这里只有两个参数,
阅读全文
摘要:0)变量声明 var 变量名字 类型 = 表达式 例: 其中“类型”或“= 表达式”两个部分可以省略其中的一个。 1)根据初始化表达式来推导类型信息 2)默认值初始化为0。 例: 1)整型 1.1)整型类型 rune 类型是 Unicode 字符类型,和 int32 类型等价,通常用于表示一个 Un
阅读全文
摘要:range是go语言系统定义的一个函数。 函数的含义是在一个数组中遍历每一个值,返回该值的下标值和此处的实际值。 假如说a[0]=10,则遍历到a[0]的时候返回值为0,10两个值。 下面是一个例子:这个例子是求一个数组里面的平均值。 package main import ( "fmt" ) fu
阅读全文
摘要:Go基础 Go基础 switch sExpr { case expr1: some instructions case expr2: some other instructions case expr3: some other instructions default: other code } s
阅读全文
摘要:概述 Go 语言中的 new 和 make 一直是新手比较容易混淆的东西,咋一看很相似。不过解释两者之间的不同也非常容易。 new 的主要特性 首先 new 是内建函数,你可以从 http://golang.org/pkg/builtin/#new 这儿看到它,它的定义也很简单: 复制代码代码如下:
阅读全文
摘要:import "fmt" type Rank int const ( Rank001 Rank = iota Rank002 Rank003 Rank004 ) var rewards = [...]string{ "奖励1","奖励2","奖励3","奖励4", } func (r Rank) g
阅读全文
摘要:golang 的 select 的功能和 select, poll, epoll 相似, 就是监听 IO 操作,当 IO 操作发生时,触发相应的动作。 示例: ch1 := make (chan int, 1) ch2 := make (chan int, 1) ... select { case
阅读全文
摘要:Go语言追求简洁优雅,所以,Go语言不支持传统的 try…catch…finally 这种异常,因为Go语言的设计者们认为,将异常与控制结构混在一起会很容易使得代码变得混乱。因为开发者很容易滥用异常,甚至一个小小的错误都抛出一个异常。在Go语言中,使用多值返回来返回错误。不要用异常代替错误,更不要用
阅读全文