
c
文章平均质量分 81
m_ii_m
这个作者很懒,什么都没留下…
展开
-
嵌入式Linux实战篇--交叉编译环境的建立(基于ubuntu 8.10)
在进行嵌入式开发之前,首先要建立一个交叉编译环境,这是一套编译器、连接器和libc库等组成的开发环境。本文具体说明了嵌入式交叉编译环境的建立过程和具体的操作步骤,希望能够对各位朋友搭建对应的交叉编译环境有所帮助。一、所需软硬件环境■ 主机环境建立交叉编译工具链的主机环境:Ubuntu 8.10,gcc-4.3.2■ Ubuntu 8.10软件环境保证转载 2013-08-21 00:50:36 · 1025 阅读 · 0 评论 -
第五讲 MFC对象的创建
第五讲 MFC对象的创建前面几章介绍了MFC的核心概念和思想,即介绍了MFC对Windows对象的封装方法和特点;MFC对象的动态创建、序列化;MFC消息映射机制。现在,考查MFC的应用程序结构体系,即以文档-视为核心的编程模式。学习本章,应该弄清楚以下问题:MFC中诸多MFC对象的关系:应用程序对象,文档对象,边框窗口对象,文档边框窗口对象,视对象,文档模板对象等。MFC对象转载 2014-03-26 23:07:13 · 1893 阅读 · 0 评论 -
第九讲 MFC的状态
第九讲 MFC的状态MFC定义了多种状态信息,这里要介绍的是模块状态、进程状态、线程状态。这些状态可以组合在一起,例如MFC句柄映射就是模块和线程局部有效的,属于模块-线程状态的一部分。模块状态这里模块的含义是:一个可执行的程序或者一个使用MFC DLL的DLL,比如一个OLE控件就是一个模块。一个应用程序的每一个模块都有一个状态,模块状态包括这样一些信息:用来加载转载 2014-03-26 23:15:41 · 1111 阅读 · 0 评论 -
第十四讲 SOCKET类的设计和实现
第十四讲 SOCKET类的设计和实现WinSock基本知识这里不打算系统地介绍socket或者WinSock的知识。首先介绍WinSock API函数,讲解阻塞/非阻塞的概念;然后介绍socket的使用。WinSock APISocket接口是网络编程(通常是TCP/IP协议,也可以是其他协议)的API。最早的Socket接口是Berkeley接口,在U转载 2014-03-26 23:21:00 · 809 阅读 · 0 评论 -
第一讲 MFC概述
一、MFC是一个编程框架MFC (Microsoft Foundation Class Library)中的各种类结合起来构成了一个应用程序框架,它的目的就是让程序员在此基础上来建立Windows下的应用程序,这是一种相对SDK来说更为简单的方法。因为总体上,MFC框架定义了应用程序的轮廓,并提供了用户接口的标准实现方法,程序员所要做的就是通过预定义的接口把具体应用程序特有的东西填入这个轮廓。转载 2014-03-26 23:00:56 · 1038 阅读 · 0 评论 -
sscanf的用法
这里有些sscanf()的一些使用说明,都是从论坛,Blog里整理出来的。供大家使用。 通过学习和使用个人认为,在字符串格式不是很复杂,但是也并不简单的时候用这个函数比较合适,这个尺度就要靠自己把握了,字符串不是很复杂,但自己写个处理的函数比较麻烦,效率也不高,就用这个函数,如果字符串很复杂,那就用正则表达式吧。不多说了,看看下面这些介绍和列子吧!名称:sscanf() - 从一个转载 2014-05-08 09:29:37 · 609 阅读 · 0 评论 -
第八讲 MFC的进程和线程
第八讲 MFC的进程和线程Win32的进程和线程概念进程是一个可执行的程序,由私有虚拟地址空间、代码、数据和其他操作系统资源(如进程创建的文件、管道、同步对象等)组成。一个应用程序可以有一个或多个进程,一个进程可以有一个或多个线程,其中一个是主线程。线程是操作系统分时调度分配CPU时间的基本实体。一个线程可以执行程序的任意部分的代码,即使这部分代码被另一个线程并转载 2014-03-26 23:12:04 · 1762 阅读 · 0 评论 -
第七讲 MFC的DLL
第七讲 MFC的DLL一般的,在介绍Windows编程的书中讲述DLL的有关知识较多,而介绍MFC的书则比较少地提到。即使使用MFC来编写动态链接库,对于初步接触DLL的程序员来说,了解DLL的背景知识是必要的。另外,MFC提供了新的手段来帮助编写DLL程序。所以,本节先简洁的介绍有关概念。DLL的背景知识静态链接和动态链接当前链接的目标代码转载 2014-03-26 23:11:13 · 591 阅读 · 0 评论 -
第二讲MFC和Win32
第二讲MFC和Win32MFC Object和Windows Object的关系MFC中最重要的封装是对Win32 API的封装,因此,理解Windows Object和MFC Object (C++对象,一个C++类的实例)之间的关系是理解MFC的关键之一。所谓Windows Object(Windows对象)是Win32下用句柄表示的Windows操作系统对象;所谓转载 2014-03-26 23:03:05 · 749 阅读 · 0 评论 -
运算符优先级和关联性
C++ 语言包括所有 C 运算符并添加多个新的运算符。 运算符指定对下列项之一执行计算:一个操作数(一元运算符)两个操作数(二元运算符)三个操作数(三元运算符)运算符遵循严格的优先级,该优先级定义了包含这些运算符的表达式的计算顺序。 运算符与其左侧或右侧的表达式关联;这称为“关联性”。下表显示 C++ 运算符的优先级和关联性(从最高优先级原创 2014-04-10 21:47:52 · 1602 阅读 · 0 评论 -
TCP 的那些事儿(上)
TCP是一个巨复杂的协议,因为他要解决很多问题,而这些问题又带出了很多子问题和阴暗面。所以学习TCP本身是个比较痛苦的过程,但对于学习的过程却能让人有很多收获。关于TCP这个协议的细节,我还是推荐你去看W.Richard Stevens的《TCP/IP 详解 卷1:协议》(当然,你也可以去读一下RFC793以及后面N多的RFC)。另外,本文我会使用英文术语,这样方便你通过这些英文关键词来查找相原创 2014-05-28 21:39:37 · 922 阅读 · 0 评论 -
TCP 的那些事儿(下)
这篇文章是下篇,所以如果你对TCP不熟悉的话,还请你先看看上篇《TCP的那些事儿(上)》 上篇中,我们介绍了TCP的协议头、状态机、数据重传中的东西。但是TCP要解决一个很大的事,那就是要在一个网络根据不同的情况来动态调整自己的发包的速度,小则让自己的连接更稳定,大则让整个网络更稳定。在你阅读下篇之前,你需要做好准备,本篇文章有好些算法和策略,可能会引发你的各种思考,让你的大脑分配很多内存和计转载 2014-05-28 21:43:01 · 983 阅读 · 0 评论 -
就是这么“高大上”!20个最受欢迎的Linux命令
本文根据commandlinefu网站的历史排名,筛选出了前20个得票最高的Linux命令。看看你都能熟练使用了吗?本文根据commandlinefu网站的历史排名,筛选出了前20个得票最高的Linux命令。看看你都能熟练使用了吗? 1. 以 root 帐户执行上一条命令sudo !!2. 利用 Python 搭建一个简单的 Web 服务器,可通过 htt转载 2014-05-28 21:50:18 · 1106 阅读 · 0 评论 -
程序员必知的10大基础实用算法
算法一:快速排序算法 快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2) 次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。 快速排序使用分治法(Divide and conq转载 2014-06-20 13:40:11 · 784 阅读 · 0 评论 -
字符串模式匹配算法——BM、Horspool、Sunday、KMP、KR、AC算法
字符串模式匹配算法——BM、Horspool、Sunday、KMP、KR、AC算法一网打尽 本文内容框架:§1 Boyer-Moore算法§2 Horspool算法§3 Sunday算法§4 KMP算算法§5 KR算法§6 AC自动机§7 小结 §1 Boyer-Moore(BM)算法转载 2014-04-18 22:47:02 · 1907 阅读 · 0 评论 -
MFC数据类型汇总及说明
MFC数据类型汇总及说明I 数据类型BOOL:布尔值,取值为TRUE or FALSEBSTR:32-bit 字符指针BYTE:8-bit整数,未带正负号COLORREF:32-bit数值,代表一个颜色值DWORD:32-bit整数,未带正负号LONG:32-bit整数,带正负号LPARAM:32-bit整数,作为窗口函数或callback函数的一个参转载 2014-03-17 22:45:37 · 881 阅读 · 0 评论 -
编译和使用APUE的源码
APUE源码的下载:http://www.apuebook.com/src.tar.gz1.编译源码假设源码解压到/home/crazyboy/tmp/apue.2e.src目录下.首先修改与自己系统对应的Make.defines.*文件,我的是linux系统,就修改Make.defines.linux文件,将里面的WKDIR修改成源码所在的目录,即这一行改成"WKDIR=原创 2014-02-09 20:28:37 · 2361 阅读 · 0 评论 -
嵌入式系统及如何开发自己的嵌入式系统
嵌入式系统及如何开发自己的嵌入式系统多数Linux系统是在PC平台上运行,然而Linux作为嵌入式系统也是非常稳定的。本文描绘了一个嵌入式系统的概览,并展示嵌入式系统产品是如何使用Linux的。 嵌入式系统比摩西还老的故事 电脑用于控制设备或嵌入系统的历史几乎电脑自身的历史一样长。在通讯领域,六十年代晚期,电脑被用于电子电话交换机,称为“存储程序控制”系统。转载 2013-08-21 00:55:42 · 1516 阅读 · 0 评论 -
Windows静态库和动态库的创建和使用
静态链接库(Static Libary)偶们用VS2005做一个静态链接库先打开VS2005,新建à项目(staticCai)àWin32控制台应用程序新建static_lib.h 和static_lib.cpp 两个文件,这两个文件的内容如下:static_lib.h: int add(int x,int y);int substract(int x转载 2013-08-20 22:38:51 · 667 阅读 · 0 评论 -
将STM32的标准库编译成lib【图文】
以前一直使用STM32的标准库,需要一步步地将代码加进去,将编译选项设置好,然后再编译整个工程。这个编译过程是一个相当慢的过程!于是,我有了将库编译成lib文件的想法。本博文就是我将STM32F4的标准库编译成lib文件并在工程中使用的过程。适用对象:1、熟悉库,不想再看库里边代码2、有稳定的库,库文件更新不频繁3、库文件多,每次编译时间长下转载 2013-08-20 23:55:34 · 1499 阅读 · 0 评论 -
如何为嵌入式开发建立交叉编译环境
随着消费类电子产品的大量开发和应用和Linux操作系统的不断健壮和强大,嵌入式系统越来越多的进入人们的生活之中,应用范围越来越广。在裁减和定制Linux,运用于你的嵌入式系统之前,由于一般嵌入式开发系统存储大小有限,通常你都要在你的强大的pc机上建立一个用于目标机的交叉编译环境。这是一个由编译器、连接器和解释器组成的综合开发环境。交叉编译工具主要由 binutils、gcc 和 glibc转载 2013-08-21 00:14:17 · 874 阅读 · 0 评论 -
如何生成一个集成库并且实现对库的管理
如何生成一个集成库并且实现对库的管理如何在Altium Designer的Protel中创建用户自己的板级设计器件集成库?在Altium Designer的Protel中引入了器件集成库的模式,大大方便了用户在板级设计中调用器件的功能。2004版中的集成库包括器件原理图库、器件封装库、Spice混合信号仿真模型库及IBIS信号完整性分析模型库。一,如何在现有的集成库中完成器转载 2013-08-21 00:51:36 · 6523 阅读 · 0 评论 -
创建静态库和动态库(总结)
Linux创建静态库和动态库第1步:编辑得到举例的程序--hello.h、hello.c和main.c;hello.h为该函数库的头文件。hello.c是函数库的源程序,其中包含公用函数hello,该函数将在屏幕上输出"Hello XXX!"。main.c为测试库文件的主程序,在主程序中调用了公用函数hello。 第2步:将hello.c编译成.o文件;转载 2013-08-20 22:32:52 · 944 阅读 · 0 评论 -
Linux平台静态接库与动态链接库的创建和使用
一、首先了解一下什么是“库x”? 库的本质是一个或者一堆可执行的二进制文件集,可以被载入内存中执行。使用“ar”命令可以列出该库中包含的各“模块”,由此我们可以看出C的模块化编程思想,在库中有体现。使用 ar -t可以看到:libutil.a 这个静态链接库里包含有6个.o文件。二、库的种类有哪些? 库还分有静态链接库和动转载 2013-08-21 00:49:32 · 1816 阅读 · 0 评论 -
小提醒Linux用户非常热衷的嵌入式系统
Small reminder for Linux user very keen of embedded system.We will detail the design of a cross-toolchain "From Scratch".The purpose of this webpage is to understand the design method of a cross-t转载 2013-08-21 00:54:15 · 1896 阅读 · 0 评论 -
C/C++ 直接使用动态库 dlopen
C/C++ 直接使用动态库 dlopen把各个版本编译成动态库,××。so ,提供统一的接口进行调用。这里使用的工具是dlxx系列函数 dlopen void *dlopen(const char *filename, int flag); 装载动态库 dlcloseint dlclose(void *handle); dlerrorchar *dlerr转载 2013-08-20 22:44:00 · 7558 阅读 · 0 评论 -
Eclipse 平台进行 C/C++ 开发
Eclipse 平台进行 C/C++ 开发简介: 我们将概述如何在 C/C++ 开发项目中使用 Eclipse 平台。尽管 Eclipse 主要是一个 Java 开发环境,但其体系结构确保了对其它编程语言的支持。在本文中,您将学习如何使用 C/C++ 开发工具箱(C/C++ Development Toolkit,CDT),它是可用于 Eclipse 的最佳 C/C++ 工具箱。转载 2013-08-21 00:58:50 · 3083 阅读 · 0 评论 -
学习C语言的教材、如何成为一名优秀的C程序员、激发程序员创意的6本书、国外程序员推荐:每个程序员都应读的书
学习C语言的教材我的C语言是自学的,这些年看过不少教材。下面,我对其中一些教材做个点评。1. How to Think Like a Computer Scientist: C version这是我读过最易懂的C语言教材。虽然它只讲解最基本的语法,但是写得特别好懂,深入浅出,读起来不觉得累,而且它还允许免费下载。我认为,这是C语言的首选入门教材。下载转载 2013-08-22 23:04:51 · 10135 阅读 · 2 评论 -
Visual Studio 2010项目中引用Lib静态库
Openssl是个为网络通信提供安全及数据完整性的一种安全协议,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。首先下载Openssl包:(http://www.openssl.org/),这是一个C语言类库包,在Windows下可以通过Perl对该类库包进行MakeBuild,产生libeay32、ssleay32的Lib以及Dll文转载 2013-12-18 15:24:11 · 3838 阅读 · 0 评论 -
vi/vim的配置文件
"在当前目录下,配置文件.vimrc,将下面内容粘贴在文件中(配置文件仅当前用户有效)"=========================================================================" DesCRiption: 适合自己使用的vimrc文件,for Linux/Windows, GUI/Console" ""=======原创 2014-02-09 14:31:42 · 587 阅读 · 0 评论 -
APUE(UNIX环境高级编程第二版)函数归纳(3-7章)
第三章 文件I/O序号函数名原型头文件1openint open(const char *pathname, int flag, …/* mode_t mode */ );#include 2createint create(const char *pathname, mode_t mode);#include原创 2014-10-12 22:12:17 · 864 阅读 · 0 评论