<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[吴英强的技术博客]]></title><description><![CDATA[专注于C/C++ 、Ios、Android、Python、Linux、ARM 、全栈工程师]]></description><link>https://blog.youkuaiyun.com/waldmer</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; waldmer]]></copyright><item><title><![CDATA[告别csdn一年了]]></title><link>https://blog.youkuaiyun.com/waldmer/article/details/78989031</link><guid>https://blog.youkuaiyun.com/waldmer/article/details/78989031</guid><author>waldmer</author><pubDate>Sat, 06 Jan 2018 15:30:49 +0800</pubDate><description><![CDATA[原本坚持了4年的学习，整理笔记，在csdn平台上进行发表，记录。同朋友们互动，探讨进行学习，自己也在不断地成长。今天再次进入博客页面，发现界面来了个大改版，也更轻快，简洁了。在此做个记录。
  现在，我也创建了自己的星球。感兴趣的朋友，可以过来，一起学习。]]></description><category></category></item><item><title><![CDATA[Windows平台python操作串口示例，可以加工下，改写成方便的测试软件]]></title><link>https://blog.youkuaiyun.com/waldmer/article/details/53896524</link><guid>https://blog.youkuaiyun.com/waldmer/article/details/53896524</guid><author>waldmer</author><pubDate>Tue, 27 Dec 2016 16:24:29 +0800</pubDate><description><![CDATA[在windows中，使用Python进行串口编程需要安装一个Serial模块
pyserial：

下载地址:https://pypi.python.org/pypi/pyserial
下载完成后得到一个pyserial-3.2.1-py2.py3-none-any.whl文件，下面进行安装


编程测试程序
import serial
import serial.tools.li]]></description><category></category></item><item><title><![CDATA[【Python基础】--Pickle/函数默认参数/函数的参数*args/Bytes<=>str/32-64bit/bytes对象]]></title><link>https://blog.youkuaiyun.com/waldmer/article/details/53004717</link><guid>https://blog.youkuaiyun.com/waldmer/article/details/53004717</guid><author>waldmer</author><pubDate>Tue, 15 Nov 2016 08:24:19 +0800</pubDate><description><![CDATA[Pickle
>>> import pickle
>>> my_list = [1, 2, 3, 'haha', ['and', 'or']]
>>> pickle_file = open('my_list.pkl', 'wb')
>>> pickle.dump(my_list, pickle_file)
>>> pickle_file.close()
>>> 
>>> 
>>> pickle_]]></description><category></category></item><item><title><![CDATA[【Python基础】--丰富的else语句/简洁的with语句/字典dict{}/集合set{}]]></title><link>https://blog.youkuaiyun.com/waldmer/article/details/53004662</link><guid>https://blog.youkuaiyun.com/waldmer/article/details/53004662</guid><author>waldmer</author><pubDate>Tue, 15 Nov 2016 08:23:57 +0800</pubDate><description><![CDATA[丰富的else语句

要么怎样，要么不怎样（if）
干完了能怎样，干不完就别想怎样（for、while循环）
def showMaxFactor(num):
    count = num // 2
    while count > 1:
        print('count = %d' % count)
        if num % count == 0:]]></description><category></category></item><item><title><![CDATA[【Python基础】--字符串str/序列/全局标志位/全局变量/内嵌函数和闭包]]></title><link>https://blog.youkuaiyun.com/waldmer/article/details/53004596</link><guid>https://blog.youkuaiyun.com/waldmer/article/details/53004596</guid><author>waldmer</author><pubDate>Tue, 15 Nov 2016 08:23:37 +0800</pubDate><description><![CDATA[字符串str
>>> str1 = 'i love you, wuyq'
>>> str1[:5]
'i lov'
>>> str1
'i love you, wuyq'
>>> dir(str)
['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__']]></description><category></category></item><item><title><![CDATA[【Python基础】--变量和字符串/猜数字/range()/Isinstance/list[]/tupple()]]></title><link>https://blog.youkuaiyun.com/waldmer/article/details/53004508</link><guid>https://blog.youkuaiyun.com/waldmer/article/details/53004508</guid><author>waldmer</author><pubDate>Wed, 02 Nov 2016 12:38:13 +0800</pubDate><description><![CDATA[变量和字符串
>>> name = 'wuyq'
>>> name
'wuyq'
>>> print(name)
wuyq
>>> print('name = %s', % name)
SyntaxError: invalid syntax
>>> print('name = %s' % name)
name = wuyq
>>> print('name = %s',  name)
name =]]></description><category></category></item><item><title><![CDATA[【win32】day14-进程/作业/线程]]></title><link>https://blog.youkuaiyun.com/waldmer/article/details/52188620</link><guid>https://blog.youkuaiyun.com/waldmer/article/details/52188620</guid><author>waldmer</author><pubDate>Wed, 19 Oct 2016 22:24:59 +0800</pubDate><description><![CDATA[Windows进程

1 Windows进程
进程一个容器，包含了应用程序实例的各种资源。Windows多任务的操作系统，因此可以
同时执行多个进程。
2 Windows进程的一些特点
2.1 进程中包含了执行代码等资源。
2.2 进程都具有私有的地址空间。
2.3 每个进程都有一个ID，标识进程。
2.4 每个进程都有自己的安全属性
2.5 至少要包含一个可以执行的线程。]]></description><category></category></item><item><title><![CDATA[【win32】day13-地址空间/地址映射/虚拟内存/堆内存/内存映射文件]]></title><link>https://blog.youkuaiyun.com/waldmer/article/details/52188578</link><guid>https://blog.youkuaiyun.com/waldmer/article/details/52188578</guid><author>waldmer</author><pubDate>Tue, 18 Oct 2016 20:22:40 +0800</pubDate><description><![CDATA[地址空间

1 地址空间
一个程序最大的寻址范围。对于Win32操作系统
最大的寻址范围是2的32次方，0-0xFFFFFFFF。
这个寻址范围由CPU决定。CPU的寻址范围越大，
程序难度降低。
 
2 地址空间的划分
通常情况下：
2.1 用户空间 
   地址范围 0 - 0x7FFFFFFF（2G），运行
   应用程序代码、数据等等。
   2.2.1 空指针区]]></description><category></category></item><item><title><![CDATA[【win32】day12-Windows卷(Volumn)/目录/文件/文件的查找]]></title><link>https://blog.youkuaiyun.com/waldmer/article/details/52188546</link><guid>https://blog.youkuaiyun.com/waldmer/article/details/52188546</guid><author>waldmer</author><pubDate>Thu, 13 Oct 2016 21:39:00 +0800</pubDate><description><![CDATA[Windows卷(Volumn)

1 卷的获取
GetLogicalDrives 返回一个DWORD值,这个值
  的每个位代表是否存在相应的卷
GetLogicalDriveStrings 获取一个所卷的盘符
  的字符串
  DWORD GetLogicalDriveStrings(
DWORD nBufferLength,//BUFF的大小
LPTSTR lpBuffer]]></description><category></category></item><item><title><![CDATA[【win32】day11-windows的库/静态库/动态库]]></title><link>https://blog.youkuaiyun.com/waldmer/article/details/52188491</link><guid>https://blog.youkuaiyun.com/waldmer/article/details/52188491</guid><author>waldmer</author><pubDate>Sun, 09 Oct 2016 08:16:25 +0800</pubDate><description><![CDATA[Windows的库

  由于项目的复杂程度，或者为了提高代码的
  重用率等等，所以才引入了库程序。
  库包含两种：
    1 静态库：扩展名为LIB的文件，是不能被
        加载的程序，可以理解为目标程序的
        归档。
    2 动态库：扩展名是DLL的文件，是可以被
        应用程序加载的程序。
静态库
1 静态库的特点
1.1 目标]]></description><category></category></item><item><title><![CDATA[【win32】day10-组合框/列表框/滚动条/控件的自绘制]]></title><link>https://blog.youkuaiyun.com/waldmer/article/details/52188474</link><guid>https://blog.youkuaiyun.com/waldmer/article/details/52188474</guid><author>waldmer</author><pubDate>Fri, 23 Sep 2016 22:41:04 +0800</pubDate><description><![CDATA[组合框 ComboBox

  1 组合框的样式
    1.1 简单组合框  CBS_SIMPLE
    1.2 下拉式组合框 CBS_DROPDOWN
       能输入或者从下拉列表中选择
    1.3 下拉列表式组合框 CBS_DROPDOWNLIST
       只能从下拉列表中选择  
  2 组合框的使用 
2.1 组合框的创建
      窗口类名称是]]></description><category></category></item><item><title><![CDATA[【win32】day09-对话框/子控件/静态块/按钮/文本编辑框]]></title><link>https://blog.youkuaiyun.com/waldmer/article/details/52188451</link><guid>https://blog.youkuaiyun.com/waldmer/article/details/52188451</guid><author>waldmer</author><pubDate>Tue, 20 Sep 2016 22:24:26 +0800</pubDate><description><![CDATA[对话框

1 对话框的分类
2 对话框的基本使用方式
3 对话框资源
4 有模式对话框的使用
5 无模式对话框的使用
 5.1 添加对话框资源
 5.2 定义窗口处理函数
   BOOL CALLBACK DialogProc(
HWND hwndDlg,  // handle to dialog box
UINT uMsg,     // message
WPARAM w]]></description><category></category></item><item><title><![CDATA[【win32】day08-位图的使用/坐标系和映射模式/文字和字体/对话框]]></title><link>https://blog.youkuaiyun.com/waldmer/article/details/52188426</link><guid>https://blog.youkuaiyun.com/waldmer/article/details/52188426</guid><author>waldmer</author><pubDate>Sun, 18 Sep 2016 21:25:39 +0800</pubDate><description><![CDATA[位图的使用

1 位图 -
通过保存图像上每个点的颜色，生成相应的位图文件。  
 光栅图 - 可以理解为图像点阵的保存
 矢量图 - .wmf  可以理解为绘图命令的保存
2 位图资源的使用
  2.1 加载位图资源
 HBITMAP LoadBitmap(
 HINSTANCE hInstance,  //位图资源所在应用程序句柄
 LPCTSTR lpBitmapName]]></description><category></category></item><item><title><![CDATA[【win32】day07-图形绘制/GDI绘图对象-画笔/画刷]]></title><link>https://blog.youkuaiyun.com/waldmer/article/details/52188412</link><guid>https://blog.youkuaiyun.com/waldmer/article/details/52188412</guid><author>waldmer</author><pubDate>Wed, 14 Sep 2016 06:55:09 +0800</pubDate><description><![CDATA[图形绘制

1.1 图形绘制的方式
  获取到绘图句柄-设备描述表(DC),使用相应
  的绘图的API,在设备上绘制图形.
  
1.2 颜色
  R\G\B三色,
每种颜色8位,
共24位颜色.
  32位颜色:
颜色数量24位颜色(8-8-8),
多出来的8位
 表示灰度.
  16位:
颜色数量2的16次方.(5-6-5)
  
  Win32下,颜色的定]]></description><category></category></item><item><title><![CDATA[【win32】day06-系统菜单/右键菜单/资源的使用/字符串资源/菜单资源/加速键资源]]></title><link>https://blog.youkuaiyun.com/waldmer/article/details/52188393</link><guid>https://blog.youkuaiyun.com/waldmer/article/details/52188393</guid><author>waldmer</author><pubDate>Mon, 12 Sep 2016 22:15:29 +0800</pubDate><description><![CDATA[系统菜单

  1 执行系统提供的窗口命令，例如最大化、关闭等命令。本质上和普通菜单一样，所以我们也可以在程序中使用这个菜单。    
2 系统菜单的使用
2.1 获取系统菜单
  GetSystemMenu
  HMENU GetSystemMenu(
HWND hWnd, //要获取的窗口句柄
 BOOL bRevert  //获取时重置标示
);
 
bRevert:]]></description><category></category></item><item><title><![CDATA[【win32】day05-鼠标消息/定时器消息/菜单]]></title><link>https://blog.youkuaiyun.com/waldmer/article/details/52188370</link><guid>https://blog.youkuaiyun.com/waldmer/article/details/52188370</guid><author>waldmer</author><pubDate>Tue, 30 Aug 2016 22:23:28 +0800</pubDate><description><![CDATA[鼠标消息
1 鼠标消息
1) 基本鼠标消息
    WM_LBUTTONDOWN   左键按下
    WM_LBUTTONUP     左键抬起
    WM_RBUTTONDOWN   右键按下
    WM_RBUTTONUP     右键抬起
    WM_MOUSEMOVE     鼠标移动
2) 双击消息
    WM_LBUTTONDBLCLK 左键双击]]></description><category></category></item><item><title><![CDATA[【win32】day04-Win32消息机制]]></title><link>https://blog.youkuaiyun.com/waldmer/article/details/52104281</link><guid>https://blog.youkuaiyun.com/waldmer/article/details/52104281</guid><author>waldmer</author><pubDate>Tue, 16 Aug 2016 22:07:20 +0800</pubDate><description><![CDATA[消息机制

    过程驱动：程序是按照我们预先定义好的顺序 
执行，每执行一步，下一步都已经按照预定的顺序继续执行，直到程序结束。
事件驱动：程序的执行顺序是无序的。某个时间点所执行的代码，是由外界通知。由于我们无法决定用户执行顺序，所以代码的执行也是无序。
Win32的消息机制 -
事件驱动。
Win32消息程序
2.1 Win32窗口注册
2.2 Win32窗口创建
2.]]></description><category></category></item><item><title><![CDATA[【win32】day03-窗口注册和创建]]></title><link>https://blog.youkuaiyun.com/waldmer/article/details/52103910</link><guid>https://blog.youkuaiyun.com/waldmer/article/details/52103910</guid><author>waldmer</author><pubDate>Thu, 11 Aug 2016 06:18:53 +0800</pubDate><description><![CDATA[Win32窗口程序创建步骤  

  1.1 WinMain入口函数的定义
  1.2 WindowProc函数的定义
  1.3 注册窗口类
      RegisterClass/RegisterClassEx
  1.4 创建窗口
      CreateWindow/CreateWindowEx
  1.5 窗口的显示和刷新
      ShowWindow/Update]]></description><category></category></item><item><title><![CDATA[【win32】day02-字符与编码]]></title><link>https://blog.youkuaiyun.com/waldmer/article/details/52103201</link><guid>https://blog.youkuaiyun.com/waldmer/article/details/52103201</guid><author>waldmer</author><pubDate>Sun, 07 Aug 2016 06:32:01 +0800</pubDate><description><![CDATA[字符编码

2.1 编码的历史
  2.1.1 ASCII  0-127    7位表示
  2.1.2 ASCII扩展码 0-255   8位表示
   代码页:通过代码页来切换对应的字符
  2.1.3 双字节字符集 DBCS
    使用一个或两个字节表示字符.       
       "A中B国"
          12 1 2 
          A: 0x4]]></description><category></category></item><item><title><![CDATA[【win32】day01-Windows编程]]></title><link>https://blog.youkuaiyun.com/waldmer/article/details/52103045</link><guid>https://blog.youkuaiyun.com/waldmer/article/details/52103045</guid><author>waldmer</author><pubDate>Thu, 04 Aug 2016 05:25:34 +0800</pubDate><description><![CDATA[Windows编程基础知识的介绍

Win32应用程序的基本类型
1.1 控制台程序
   不需要完善的Windows窗口，可以使用DOS窗口的方式显示。
1.2 Win32窗口程序
    包含窗口的程序。可以通过窗口与程序进行交互。
1.3 Win32库程序
提供已有的代码，供其他程序使用。
动态库：DLL 是在执行的时候可以加载的程序。
静态库：LIB 是在编译链接是使用]]></description><category></category></item></channel></rss>