自定义博客皮肤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)
  • 资源 (5)
  • 收藏
  • 关注

原创 计算字符串长度注意

0)s1为字符串1)while(*s1) s1++;2)while(*s1++) ;   1)和2)不同,1)的结果为*s1 == '\0',2)的结果为*(s1+1) == '\0',即*(s1)为'\0'的下一个。

2014-06-29 18:54:47 820

原创 C——通过调用函数分配内存

1)可以在被调用函数中,可以把动态分配的存储位置地址,赋值给指针类型返回值(不同于被调用函数的自动变量地址)。2)如果想把被调用函数中,获得的地址数据传递给调用函数,可以使用指针类型返回值或者二级指针类型 形参(整型传参,取地址)。   1 #include   2 #include   3   4 void fun(int* p){  5     p = (int*)ma

2014-06-29 17:34:50 1128

原创 QT——自定义字符串格式

QString QTime::toString(const QString & format) const例如s

2014-06-29 14:16:33 1010

原创 QT——模型/视图(model/view)

数据项中引入模型/视图架构,可以方便的将数据与表现层分开。-------------------------------------为每个视图都提供了一个默认的委托——可以使用自定义的委托来替换显示没一项,并为可编辑项提供一个合适的编辑器。-------------------------------------模型:用于存储数据项(data item)。纯粹的视图部件:Q

2014-06-29 01:28:51 9923 2

原创 S5PV210——start.s/tshell.lds

1.    .text2.   .global  start3.   .extern  main4.    5. start:6. 7. clear_bss:8.    ldr    r0, bss_start                /* find start of bss segment */9.    ldr    r1, bss_end        

2014-06-26 00:11:01 977

原创 S5PV210——启动(iROM)

x210_usb.bin会初始化DDR控制器,并为下载程序到DDR中做好准备。通过USB下载x210_usb.bin到内存0xd0020010地址处,该程序用于初始化T-PAD上的DRAM控制器等。

2014-06-25 23:51:11 1623

原创 UnixC——进程间通信(IPC)

进程间通信 - IPCUnix / Linux 系统基于多进程,进程和进程之间经常做数据的交互,这种技术叫进程间通信。常见的IPC:1)文件2)信号3)管道4)共享内存5)消息队列6)信号量集7)网络编程(socket)... ...其中,管道是最古老的IPC之一,目前较少使用。共享内存、消息队列和信号量集 遵循相同的规范,因此编码上有很多的共同点,

2014-06-15 17:23:45 1186

原创 编写高质量代码——在正确的场合下使用恰当的特性

虚函数:虚函数机制的实现是通过虚函数表和指向虚函数表的指针(存放在对象的空间中)来完成的。1)空间方面:每个类只用一个虚函数表的拷贝,故其占用的空间不是很大。2)时间方面:虚函数的调用开销包括两次整型加法和一次指针间接引用的开销。其动态绑定的实现步骤如下:(a)根据对象的虚指针VPtr找到该对象对应的虚函数表VTable,所需的开销仅是一次偏移量调整(整型加法)加上一次指针间接运算

2014-06-14 17:43:48 884

原创 编写高质量代码——提防对象的切片

多态的实现必须依靠指向同一类族的指针或引用

2014-06-14 16:57:46 1029

原创 编写高质量代码——慎用私有继承

在C++中,public 公有继承被视为”is-a“关系。class Animal{public :   void Eat() { ... }};class Tiger : public Animal{public:   bool IsKing() {...}};// Tiger 是一种Animal如果public换成private,编译器不能将派生类对象转

2014-06-14 16:17:16 1020

原创 编写高质量代码——“零星”总结(续3)

明白在C++中如何使用CC++中使用C的程序库,实现C++和C的混合编程:extern "C" { /* code */ }一定要加在C++的代码文件中才能起作用。//C编译器编译函数时不带函数的类型信息,只包含函数符号名字;而C++编译器为了实现函数重载,在编译时会带上函数的类型信息。extern "C"的作用:告诉C++链接器寻找调用函数的符号时,采用C的方式。==========

2014-06-14 14:25:01 921

原创 ARM-2440-Led

一、PORT B相关寄存器地址:

2014-06-10 00:36:46 680

原创 ARM-TQ2440启动

JFlashARM

2014-06-07 23:23:35 863

原创 编写高质量代码——“零星”总结(续2)

newdelete与new[]delete[]必须配对使用//注意,由于内置数据类型没有构造、析构函数,所以针对内置数据类型时,释放和内存使用delete或delete[]的效果是一样的。例如:int *pArray = new int[10];...//processing codedelete pArray;  //等同于delete[] pArray;虽然针对

2014-06-05 23:12:14 941

原创 编写高质量代码——提防隐式转换带来的麻烦

在C/C++ 语言,允许在不同类型的数据之间进行某一操作或混合操作,如果类型不同,则要将数据转换成相同的数据类型(隐式转换和显示转换)。=========================隐式转换主要发生的情形:▉基本类型之间的隐式转换C/C++ 中规定的两个通用转换原则:1)为防止精度损失,类型总是被提升为较宽的类型。2)所有含有小于整数类型的算术表达式在计算之前其类型都被

2014-06-05 22:35:33 1064

原创 编写高质量代码——正确区分void与void*

void:

2014-06-05 00:36:26 1175

原创 编写高质量代码——“零星”总结

不要让main函数返回void//在C++中绝对没有出现过 void main(){  }这样的函数定义,在C语言中也是。//两种 main 的定义方式:int main( void );//                     int main( int argc, char** argv )//第一版的C语言中只有 int 一种数据类型,为了兼容需要,不明确标明

2014-06-05 00:06:04 1246

原创 编写高质量代码——运算符重载,是成员函数还是友元函数

编写高质量代码——运算符重载,是成员函数还是友元函数

2014-06-03 23:53:25 1970

原创 编写高质量代码——重载operator=的标准三步走

编写高质量代码——重载operator=的标准三步走

2014-06-03 23:12:16 1765

原创 编写高质量代码——区分Overloading、Overriding及Hiding之间的差异

编写高质量代码——C++

2014-06-03 00:22:00 1816 2

原创 编写高质量代码——避免在构造析构函数中调用虚函数

#include using namespace std;class Base{    public :        Base(){             cout              Init();        }           virtual void Init(){            cout         }   };

2014-06-01 20:54:05 933

原创 编写高质量代码——谨防因构造函数抛出异常而引发的问题

在C++构造函数中,正确的异常处理方法应该是:发生异常时先将已经创建的东西释放掉,然后再抛出异常给上层调用代码处理。

2014-06-01 19:18:04 821

原创 编写高质量代码——首选初始化列表实现类成员的初始化

构造函数:对类成员变量完成初始化赋值操作。

2014-06-01 17:27:31 963

原创 编写高质量代码——区分new的三种形态

■new operator■operator new■placement new

2014-06-01 14:59:17 959

原创 编写高质量代码——堆和栈的区别

1、管理方式不同2、

2014-06-01 13:15:14 836

原创 C++——虚函数、多态

C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。

2014-06-01 12:33:57 878

VOIP语音网关设计与实现

VOIP语音网关设计与实现

2015-11-01

PJSIP协议栈

PJSIPP文档

2015-11-01

live555-mingW编译+win7库.zip

live555 windows下的.a库,可供mingW版本的Qt使用。

2015-01-08

ZMQ库-x86和x64

ZMQ库-x86和x64,自己编译,绝对可用!

2014-11-02

TQ2440的u-boot.bin

TQ2440的u-boot.bin,引导程序

2014-06-07

空空如也

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

TA关注的人

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