11 挣扎中前行

尚未进行身份认证

暂无相关简介

等级
TA的排名 6w+

为什么开发人员工作10多年了还会迷茫?没有安全感?

转一篇文章,写得非常好,大家有时间看下,我是深有感触!     眼看自己大学毕业后都快12年了,也快2个孩子的爸爸了,但是有时候还是会有不少不安全的感觉产生。都快奔35了,技术也过得去,收入其实也很稳定,但是偶尔还是会有迷茫的时候,最近有几个朋友,也发QQ聊天信息,同样有类似的感觉。也稍微揣摩了一下,为啥会有这样的感觉产生?  其实软件开发也是一个行业,当厨师的也是一个行业,一个厨师干

2017-01-20 11:30:04

pthread_cond_wait() 使用

1. 首先pthread_cond_wait 的定义是这样的The pthread_cond_wait() and pthread_cond_timedwait() functions are used to block on a condition variable. They are called with mutex locked by the calling thread or und

2015-12-25 13:59:12

/dev/mem

/dev/mem是物理内存的全映像,可以用来访问物理内存,一般用法是open("/dev/mem",O_RDWR|O_SYNC),然后mmap,接着就可以用mmap的地址来访问物理内存,这实际上就是实现用户空间驱动的一种方法。有几个论据倾向于用户空间编程,有时编写一个所谓的用户空间设备驱动对比钻研内核是一个明智的选择,用户空间驱动的好处在于:[html] view plainc

2014-12-02 17:13:03

Java语言和C++语言的差异

Java采用了C及C++的语法格式,对于学习过C及C++的程序设计者来说,学习Java将有可能很轻松。但是,如果仔细检查Java语言的许多细节,就会发现Java取消了不少C及C++的特性,并且加入了一些新的特性。这些差异包括:   o 不再有指针(Pointer)的概念。    这是Java和C/C++在语法上的主要区别之一。在C及C

2014-11-20 14:34:22

C++中类不能定义自身类的对象,Java表面可以

这个牵扯到类的声明与定义。定义类时候,遇到右花括号结束,并且一旦定义了类,那我们就知道了所有的类成员,以及存储该类的对象所需要的存储空间。C++可以声明一个类而不去定义它,例如: class Screen;  它只是在程序中引入了类类型,在声明之后定义之前,它是一个不完全类型。不完全类型只能以有限的方式使用,不能定义该类型的对象,只能用于定义指向该类型的指针及引用,或用于声明(而不是定义)使用

2014-11-13 11:20:05

工作感悟

工作之中的深深体会:1.同事之间讨论问题,不懂就不要多嘴,但可以等他们讨论完后再请教;就算懂也不要急于表现卖弄不然会适得其反,令人反感。2.做技术,要谦虚,不断的学习,切忌关公面前耍大刀!!3.当和同事发生争执的时候,不要各自坚持各自的想法或者做法,想办法去证实;有时可以圆滑一些,因为只要争执起来就没有赢家。4.两个同事之间讨论问题,自己旁听就可以了,不要插嘴把自己

2014-11-07 11:29:04

怎样正确的使用QThread类

背景描述:以前,继承 QThread 重新实现 run() 函数是使用 QThread唯一推荐的使用方法。这是相当直观和易于使用的。但是在工作线程中使用槽机制和Qt事件循环时,一些用户使用错了。Qt  核心开发人员Bradley T. Hughes, 推荐使用QObject::moveToThread 把它们移动到线程中。不幸的是, 以用户反对这样使用。Olivier Go

2014-11-06 18:10:54

最值得学习阅读的10个C语言开源项目代码

阅读优秀代码是提高开发人员修为的一种捷径……        1. Webbench        Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。下载链接:h

2014-11-06 14:44:57

从《绝命毒师》看研发人员的自我管理

国庆期间抽空把《绝命毒师》第一季看完了,主角老白真是一个让人印象深刻的角色,他是一个顶尖的化学家,曾经参与过诺贝尔奖实验,曾经是一家大型化学品公司的联合创始人,同学聚会上,同学们都记得他在读研时曾经看一眼就搞定其他人几个星期都查不出的问题;这样的一个牛人,在50岁时,却只是一个中学化学老师,每天下班还要到洗车店当擦车小弟补贴家用,被查出得了肺癌却没有医保,最后走投无路去制冰毒。我发现老白是一个典型

2014-10-11 14:28:01

platform_device与platform_driver

做Linux方面也有三个多月了,对代码中的有些结构一直不是很明白,比如platform_device与platform_driver一直分不清关系。在网上搜了下,做个总结。两者的工作顺序是先定义platform_device -> 注册 platform_device->,再定义 platform_driver-> 注册 platform_driver。 (1)platform_devic

2014-09-19 14:08:49

container_of使用分析

1.container_of宏1> Container_of在Linux内核中是一个常用的宏,用于从包含在某个结构中的指针获得结构本身的指针,通俗地讲就是通过结构体变量中某个成员的首地址进而获得整个结构体变量的首地址。2>接口:container_of(ptr, type, member)  ptr:表示结构体中member的地址 type:表示结构体类型 membe

2014-04-08 15:50:06

应用 Valgrind 发现 Linux 程序的内存问题及交叉编译for arm

Valgrind 概述体系结构Valgrind是一套Linux下,开放源代码(GPL V2)的仿真调试工具的集合。Valgrind由内核(core)以及基于内核的其他调试工具组成。内核类似于一个框架(framework),它模拟了一个CPU环境,并提供服务给其他工具;而其他工具则类似于插件 (plug-in),利用内核提供的服务完成各种特定的内存调试任务。Valgrind的体系结构如下图所

2014-03-28 14:22:21

USB Mass Storage协议

简介USB Mass storage Device协议即海量存储设备协议适用于硬盘,U盘等大容量存储设备。协议使用的接口端点有BulkIn、BulkOut和Interrupt端点。该设备类又包含6个独立的子类以及3种传输协议。bInterfaceSubClass命令集描述01hRBC通常,FlashDevice使用RBC,事实上所有大容量存储

2014-02-26 15:02:39

【嵌入式】探究bootloader,分析u-boot源码

Preface   之前也发表过关于《Bootloader启动过程分析》的文章,但是内容表达得比较抽象,大多是文字叙述,所以这里从系统和代码的角度来深入分析bootloader的启动过程。   工具:Source Insight   目标:U-Boot-1.1.6   仅留此分析过程,日后再作补充(纯手打也不容易啊,嘿嘿)。U-Boot工程结构

2014-02-14 12:06:58

linux下ls,pwd,cp等源代码的下载

找到想看源码的命令属于哪个包:$ dpkg -S `which cp`coreutils: /bin/cp下载源码:$ apt-get -d source "coreutils"Reading package lists... DoneBuilding dependency tree Reading state

2014-02-14 09:34:53

什么是ROM、RAM、DRAM、SRAM和FLASH的区别

ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写。ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。RAM有两大类,一种称为静态RAM(Static RAM/SRAM),SRAM速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以

2014-01-14 16:44:41

单片机中各种周期的关系与定时器原理

我们现来理解几个比较重要的概念:时钟周期:   时钟周期也叫振荡周期或晶振周期,即晶振的单位时间发出的脉冲数,一般有外部的振晶产生,比如12MHZ=12×10的6次方,即每秒发出12000000个脉冲信号,那么发出一个脉冲的时间就是时钟周期,也就是1/12微秒。通常也叫做系统时钟周期。是计算机中最基本的、最小的时间单位。   在8051单片机中把一个时钟周期定义为一个节拍(用P表示

2014-01-09 10:01:00

嵌入式系统文件系统比较

Linux支持多种文件系统,包括ext2、ext3、vfat、ntfs、iso9660、jffs、romfs和nfs等,为了对各类文件系统 进行统一管理,Linux引入了虚拟文件系统VFS(Virtual File System),为各类文件系统提供一个统一的操作界面和应用编程接口。  Linux启动时,第一个必须挂载的是根文件系统;若系统不能从指定设备上挂载根文件系统,则系统会出错而

2013-12-29 23:02:27

Qt4项目升级到Qt5可能遇到的问题

1.  由于Qt5将大部分桌面部件移到了Qt Widgets模块中,所以在.pro中要增加下面一行QT += widgets2. 程序中使用了OWC10,用到了ActiveQt,原来的做法是在.pro中加CONFIG += qaxcontainer,现在需要改成QT += axcontainer当然了,原来的CONFIG += qaxcontainer也

2013-12-26 10:59:06

C++与Java比较之向上转型

前几天看Mars老师的视频教程,里面有这样一句“一个引用能调用那些成员属性(变量和函数),取决于引用的类型;调用的方法取决于引用所指向的对象。(向上转型)”今天在使用C++的upcast时感觉不对啊?网上搜了下原来Java和C++的向上转型的机制不同。C++向上转型使用静态邦定,所以在无法识别类类型引用或指针调用对应类的成员函数方法。c++示例:class Ba

2013-11-21 16:35:22

查看更多

勋章 我的勋章
    暂无奖章