自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(95)
  • 资源 (2)
  • 收藏
  • 关注

原创 Linux makefile中的obj-$(XXX)

$(CONFIG_TEST) 是一个整体,$(xxx)表示引用变量 xxx 比如定义 CONFIG_TEST=y $(CONFIG_TEST)就是y   obj-$(CONFIG_TEST) 就是 obj-y      又比如定义 CONFIG_TEST=m $(CONFIG_TEST)就是m   obj-$(CONFIG_TEST) 就是 obj-m ==...

2018-10-06 16:33:40 11527 3

原创 android的程序报错,error: Error: String types not allowed (at ‘layout_width’ with value ‘match_parent’).

android的程序报错,error: Error: String types not allowed (at ‘layout_width’ with value ‘match_parent’).

2013-09-13 11:02:11 17444 1

原创 tomcat web服务

JDK需要安装TOMCAT解压即可,我解压后放到:D:\tools\Android\tomcat如下环境变量 设定后即OK:CATALINA_HOME=D:\tools\Android\tomcatCATALINA_BASE=D:\tools\Android\tomcat JDK/bin 及 Lib/dt.jar 和 tools.jar加入 系统环境变量path中即可。

2013-06-25 16:15:18 645

原创 VC: 如何获得当前程序的视图,文档指针

如何获得当前程序的视图,文档指针1)首先需要在CyourView.h中,包含CMainFrm.h2)获取当前框架的指针CMainFrame* pFrame = (CMainFrame*)AfxGetMainWnd();3)之后可以获取当前文档和视图的指针获取视图指针方法:((CMyView *)(pFrame->GetActiveView()))获取文档指针的方法:

2013-04-16 18:56:16 731

转载 Linux: CentOS的自带的源更新速度太慢

cd /etc/yum.repos.dmv CentOS-Base.repo  CentOS-Base.repo.savewget http://centos.ustc.edu.cn/CentOS-Base.repoyum updateCentOS 5安装的方法:cd /etc/yum.repos.dmv CentOS-Base.repo  CentOS-Base.repo

2013-04-16 18:55:11 3167

转载 Linux: 介绍make menuconfig中的每个选项含义

介绍make menuconfig中的每个选项含义Linux 2.6.19.x 内核编译配置选项简介作者:金步国版权声明本文作者是一位自由软件爱好者,所以本文虽然不是软件,但是本着 GPL 的精神发布。任何人都可以自由使用、转载、复制和再分发,但必须保留作者署名,亦不得对声明中的任何条款作任何形式的修改,也不得附加任何其它条件。您可以自由链接、下载、传播此文档,但前提是必须保证

2013-04-16 18:54:25 12570

转载 Driver: ARM Linux静态映射分析

ARM Linux静态映射分析作者:易松华,华清远见嵌入式学院讲师。 转自http://www.embedu.org/Column/Column225.htm在华清远见上课过程中,发现静态映射方面初学者比较难于掌握和理解,下面分析一下静态映射机制的原理并通过GPIO和USB、LCD等的静态映射作为例子来说明如何通过这种静态映射的方式访问外设资源。内核提供了一个重要的结构体struc

2013-04-16 18:48:06 651

原创 Driver: to_platform_device 分析

dev == s3c_device_lcd.dev->struct platform_device *pdev = to_platform_device(dev);->展开to_platform_device(dev);#define to_platform_device(x) container_of((x), struct platform_device, dev)#d

2013-04-16 18:37:46 3644

原创 Driver: s3c2410 LCD 和 Framebuffer驱动

s3c2410 LCD 和 Framebuffer驱动s3c2410 lcd 控制器,属于 平台设备。系统启动后,会安装这个平台设备。->int __devinit s3c2410fb_init(void){ return driver_register(&s3c2410fb_driver);}->系统回调 int __init s3c2410fb_probe(st

2013-04-16 18:26:46 936

转载 数字电视 CA 是什么?

From:http://zhuairlunjj.blog.163.com/blog/static/80050945201121001737239/CA是Conditional Access有条件访问的英文缩写,也就是通常所说的加密认证系统。利用数字化技术对节目进行处理后,还可以利用CA系统对节目流进行加密处理,并辅助以 加密控制信息,这样可以按用户的付费情况来分别设置用户的收看权限,利用用户端

2012-04-18 11:16:52 4217

原创 C语言:enum 类型利用

#include typedef enum dvdState{ STATE_NULL=0, STATE_STOP, STATE_PLAY,};int main() {  dvdState tmpState; tmpState = STATE_PLAY; printf("%d",tmpState); return 0;} 说明两点:一点是,

2012-03-20 10:32:59 513

原创 C语言:size_t说明

size_t是什么类型的?为了增强程序的可移植性,便有了size_t,它是为了方便系统之间的移植而定义的,不同的系统上,定义size_t可能不一样。     在32位系统上 定义为 unsigned int 也就是说在32位系统上是32位无符号整形。在64位系统上定义为 unsigned long 也就是说在64位系统上是64位无符号整形。size_t一般用来表示一种计数,比如有多少东西被

2012-03-19 11:28:11 5878

原创 C语言:offsetof-利用不变的偏移量来求得链表数据项的变量地址

#undef offsetof #ifdef __compiler_offsetof #define offsetof(TYPE,MEMBER) __compiler_offsetof(TYPE,MEMBER) #else #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) #endif 一共4步

2012-03-19 11:20:36 822

转载 多媒体术语

1)AVC格式(加强版MP4) AVC/H.264是一种最新且技术含量最高的视频编码格式,由MPEG-4标准进行定义的、由ISO的MPEG和ITU的VCEG 两个组织于2003 年最终定稿。而AVC/H.264 标准本身则是由包括来自MPEG 和VCEG 专家的Joint Video Team(JVT)开发。H.264/AVC项目最初的目标是希望新的编解码器能够在比相对以前的视频标准(比如MP

2012-03-16 16:27:28 569

原创 Java知识点

1)编译与运行Java程序安装JDK 设置PATH javac HelloWorld.java javac 编译结果:HelloWorld.class java HelloWorld java ;千万不要java

2012-03-15 15:13:10 267

原创 Linux小知识点

1)$make 2>&1 | tee xxx.log这条指令是编译并保存打印信息。在Linux Shell的设备文件中,“0”表示标准输入,“1”表示标准输出,“2”表示标准出错信息。2>&1表示把2设备的信息重定向到1设备中。“|”是管道符号,把标准输出的信息直接传递给后面的命令;tee是创建文件并保存信息的工具;xxx.log是文件名。 2)nfsNFS服务的主要任务是把本

2012-03-15 14:07:57 1093

原创 操作系统 “滴答”

操作系统 “滴答”定时器中断由系统定时硬件以规律地间隔产生; 这个间隔在启动时由内核根据 HZ 值来编程, HZ 是一个体系依赖的值, 在 中定义或者它所包含的一个子平台文件中. 在发布的内核源码中的缺省值在真实硬件上从 50 到 1200 嘀哒每秒, 在软件模拟器中往下到 24. 大部分平台运行在 100 或者 1000 中断每秒; 流行的 x86 PC 缺省是 1000, 尽管它在以前版本

2012-02-22 11:15:57 1210

原创 Driver: CS8900移植方法

物理地址的确定:1)CS8900片选信号接在NGCS3,因此CS8900A处在0x18000000 ~ 0x20000000之间。2)其次留意CS8900A的读写控制信号:nOE / nWE,发现二者被ADDR24控制,这样既有一个结果,只有当传送的地址为1 00 0000 ,CS8900A才能被选通。结合NGCS3:0x18000000,不难得出CS8900A的偏移的物理地址为0x190

2012-02-14 10:18:56 774

原创 C语言:可变参数的函数(VA使用说明)

可变参数的函数(VA使用说明)type va_arg( va_list arg_ptr, type );void va_end( va_list arg_ptr );void va_start( va_list arg_ptr, prev_param );   (ANSI version)例子://include header file#include #include

2012-02-13 18:53:41 633

原创 VC:数据库(ado)参考程序

数据库(ado)参考程序void CAdoDlg::OnBtnQuery() { // TODO: Add your control notification handler code here CoInitialize(NULL); _ConnectionPtr pConn(__uuidof(Connection)); _RecordsetPtr pRst(__uuido

2012-02-02 11:31:18 389

原创 VC:钩子(HOOK)参考程序

钩子程序HHOOK g_hKeyboard=NULL;HHOOK g_hMouse;HWND g_hWnd=NULL;LRESULT CALLBACK MouseProc(  int nCode,      // hook code  WPARAM wParam,  // message identifier  LPARAM lParam   // mouse coor

2012-02-02 11:29:30 436

原创 VC:命名管道参考程序

命名管道参考程序服务器端命名管道创建:void CNamedPipeSrvView::OnPipeCreate() { // TODO: Add your command handler code here hPipe=CreateNamedPipe("\\\\.\\pipe\\MyPipe",  PIPE_ACCESS_DUPLEX | FILE_FLAG_OVERLAP

2012-02-02 10:33:43 869

原创 VC:油槽参考程序

油槽参考程序(油槽是单向的)发送程序:void CMailslotCltView::OnMailslotSend() { // TODO: Add your command handler code here HANDLE hMailslot; hMailslot=CreateFile("\\\\.\\mailslot\\MyMailslot",GENERIC_WRITE,

2012-02-02 10:31:25 704

原创 VC:剪切板参考程序

剪切板参考程序void CClipboardDlg::OnBtnSend() { // TODO: Add your control notification handler code here if(OpenClipboard()) {  CString str;  HANDLE hClip;  char *pBuf;  EmptyClipboard();

2012-02-02 10:27:46 473

原创 VC:匿名管道参考程序

匿名管道程序:(只能存在于父子进程间)匿名管道 父进程程序void CParentView::OnPipeCreate() { // TODO: Add your command handler code here SECURITY_ATTRIBUTES sa; sa.bInheritHandle=TRUE; sa.lpSecurityDescriptor=NULL;

2012-02-02 10:24:48 551

原创 VC:进程间通信

进程间通信进程间通信的四种方式剪贴板匿名管道命名管道邮槽命名管道 命名管道是通过网络来完成进程间的通信,它屏蔽了底层的网络协议细节。我们在不了解网络协议的情况下,也可以利用命名管道来实现进程间的通信。命名管道充分利用了Windows NT和Windows 2000内建的安全机制。将命名管道作为一种网络编程方案时,它实际上建立了一个客户机/服务器通信体系,并在其中

2012-02-02 10:20:11 400

原创 VC:简单聊天室程序2 --- 基于消息的异步套接字

简单聊天室程序2 --- 基于消息的异步套接字#define UM_SOCK  WM_USER+1ON_MESSAGE(UM_SOCK,OnSock)BOOL CChatDlg::InitSocket(){ m_socket=WSASocket(AF_INET,SOCK_DGRAM,0,NULL,0,0); if(INVALID_SOCKET==m_socket) {

2012-02-02 10:17:32 761

原创 VC:简单聊天室程序1 --- 多线程编写网络聊天室程序

简单聊天室程序1 --- 多线程编写网络聊天室程序#define WM_RECVDATA  WM_USER+1ON_MESSAGE(WM_RECVDATA,OnRecvData)struct RECVPARAM{ SOCKET sock; HWND hwnd;};BOOL CChatDlg::InitSocket(){ m_socket=socket(AF_

2012-02-02 10:17:08 1562

原创 VC:线程同步与通信

线程同步与通信线程同步与异步套接字编程事件对象也属于内核对象,包含一个使用计数,一个用于指明该事件是一个自动重置的事件还是一个人工重置的事件的布尔值,另一个用于指明该事件处于已通知状态还是未通知状态的布尔值。有两种不同类型的事件对象。一种是人工重置的事件,另一种是自动重置的事件。当人工重置的事件得到通知时,等待该事件的所有线程均变为可调度线程。当一个自动重置的事件得到通知时,等待该事件

2012-02-02 10:03:35 449

原创 VC:程序、进程和线程

程序是计算机指令的集合,它以文件的形式存储在磁盘上。进程:通常被定义为一个正在运行的程序的实例,是一个程序在其自身的地址空间中的一次执行活动。进程是资源申请、调度和独立运行的单位,因此,它使用系统中的运行资源;而程序不能申请系统资源,不能被系统调度,也不能作为独立运行的单位,因此,它不占用系统的运行资源。进程由两个部分组成: 1、操作系统用来管理进程的内核对象。内核

2012-02-01 16:17:35 425

原创 VC:使新的类支持串行化

STEP1:修改该类,从CObject 继承class CGraph:public CObjectSTEP2:实现void CGraph::Serialize(CArchive& ar)函数STEP3:类中实现一个空的构造函数STEP4:在类开始处增加支持串行化的宏 DECLARE_SERIAL(CGraph)STEP5:定义类的版本号 IMPLEMENT_SERIAL(CGr

2012-02-01 15:14:41 924

原创 VC:读写文件 及 注册表

void CFileView::OnFileWrite() { // TODO: Add your command handler code here CFileDialog fileDlg(FALSE); fileDlg.m_ofn.lpstrTitle="我的文件保存对话框"; fileDlg.m_ofn.lpstrFilter="Text Files(*.txt)\0*.

2012-02-01 11:58:50 466

原创 VC:二进制文件和文本文件

文件在计算机内存中以二进制表示的数据在外部存储介质上的另一种存放形式。 文件通常分为二进制文件和文本文件。 二进制文件是包含在 ASCII 及扩展 ASCII 字符中编写的数据或程序指令的文件。一般是可执行程序、图形、图象、声音等等文件。 文本文件(也称为ASCII文件):它的每一个字节存放的是可表示为一个字符的ASCII代码的文件。它是以 “行”为基本结构的一种信息组织和

2012-02-01 11:51:27 785

原创 C语言:指向常量的指针 和 指针常量

指向常量的指针 char ch[5]=“lisi”; const char * pStr=ch; 表示指向的对象是常量  *pStr=‘w’; //error pStr=“wangwu”;                //ok 指针常量char ch[5]=“lisi”; char * const pStr=ch;

2012-02-01 11:48:12 407

原创 VC:利用 CPtrArray 类保存图像

CPtrArray m_ptrArray;参考源码:class CGraph  {public: CPoint m_ptOrigin; CPoint m_ptEnd; UINT m_nDrawType; CGraph(); CGraph(UINT m_nDrawType,CPoint m_ptOrigin,CPoint m_ptEnd); virtual ~

2012-02-01 11:32:53 1052

原创 VC:在单视图窗口中,增减scroll bar

STEP1:class CTuxingView : public CScrollView //将CView修改为 CScrollViewSTEP2:在XXXVIEW.CPP中,将CView基类,修改为 CScrollViewSTEP3:在view中,重新实现 OnInitialUpdate 虚函数void CTuxingView::OnInitialUpdate() { CSc

2012-02-01 11:26:01 637

原创 VC:字体对话框 及 颜色对话框

void CGraphicView::OnColor() { // TODO: Add your command handler code here CColorDialog dlg; dlg.m_cc.Flags|=CC_RGBINIT | CC_FULLOPEN; dlg.m_cc.rgbResult=m_clr; if(IDOK==dlg.DoModal()) {

2012-02-01 01:18:46 409

原创 VC:在窗口中显示一幅位图

BOOL CGraphicView::OnEraseBkgnd(CDC* pDC) { // TODO: Add your message handler code here and/or call default CBitmap bitmap; bitmap.LoadBitmap(IDB_BITMAP1); BITMAP bmp; bitmap.GetBitmap(&bm

2012-02-01 01:17:28 755

原创 VC:改变控件的背景颜色及字体

CFont m_font;CBrush m_brush;m_brush.CreateSolidBrush(RGB(0,0,255));m_font.CreatePointFont(200,"华文行楷"); HBRUSH CSettingDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr =

2012-02-01 01:14:33 573

原创 VC:增加自定义消息

STEP1:定义消息#define UM_TEST WM_USER+1STEP2:填写消息的映射关系class CMainFrame : public CFrameWnd{protected: //{{AFX_MSG(CMainFrame) afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); afx_msg vo

2012-01-31 23:57:07 372

IO扩展芯片

CMIO8/14为IO扩展芯片,通过I2C接口,实现控制扩展 输入/输出 口的目的。

2015-09-29

带2路AD/1路 PWM 的I2C接口的IO扩展芯片

带2路AD/1路 PWM 的I2C接口的IO扩展芯片

2015-09-29

空空如也

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

TA关注的人

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