Win32 Windows规划 三
一、NMAKE 和 Makefile
1.1 NMAKE - 命令解释器。 依据Makefile文件里定义的脚本。完毕项目的编译等操作
1.2 Makefile - 定义编译、连接等脚本语言
1.3 Makefile 文件的使用
1.3.1 基本的语法规则
window.exe:window.obj //依赖行
cl.exe window.c /c //命令行
link.exe window.obj user32.lib
window.exe 的依赖项是window.obj,假设window.obj被又一次改写 window.exe将又一次生成
通过时间戳(time stamp)推断程序是否须要又一次编译连接,要又一次编译连接
假设当文件改动最后时间与时间戳不同,将会又一次编译链接.
1.3.2 运行过程
1 NMAKE 首先找到第一个依赖行。依据依赖行之间的关系,建立依赖树。比如:
A:B
B:C
C:D
NMAKE会建立相应的依赖树。
A
|-B
|-C
|-D
2 在树建好后 NMAKE会首先运行D的命令行。然后依次运行父节点的命令行,
3 在A的命令行运行结束后,退出NMAKE
4 假设须要运行指定依赖行。须要在运行NMAKE时添加依赖行的名称
1.4 使用
1.4.1 NAMKE 指定文件
1.4.2 使用缺省的文件名称
假设make文件名称使用makefile 直接使用nmake命令
二、字符编码
MessageBox : MessageBoxA MessageBoxW
2.1 编码的历史
2.1.1 ASCII 0~127 7位表示
2.1.2 ASCII 扩展码 8位 表示
代码页:通过代码页来切换相应的字符
2.1.3 双字节字符集 DBCS
使用一个或两个字节表示字符
2.1.4 Unicode
所有使用2个字节表示字符
内存/硬盘等资源占用大
2.2 C语言和编码
2.2.1 单字节字符和字符串
char c = 'A';
char * pc = "ABCD";
2.2.2 宽字节的字符
wchar_t cText = 'A';
wchar_t*pszText = L"ABCD";
2.2.3 相关函数
单字节字符的函数。 相应有多宽字节的函数。
strlen wcslen mbslen
printf wprintf
2.2.4 TCHAR
为了程序中能够方便的支持unicode和多字节字符等,所以使用TCHAR来定义字符和字符串
更具_UNICODE宏开关会将TCHAR编译成不同字符类型
#define unicode
#ifndef unicode
typedef char tchar
#define __t(x) x
#else
typedef wchar_t tchar
#define __t(x) l##x
#endif
使用时须要添加TCHAR.H头文件支持,使用_UNICODE 宏开福安进行编译
定义方式:
TCHAR* pszText = __T( "ABCDEF" );
2.2.5 Unicode的控制台打印
WriteConsole
2.3 Win32 程序与编码
2.3.1 Win32 API 的定义
每一个API对多字节和UNICODE分别有不同的版本号
MessageBox
MessageBoxA 多字节
MessageBoxW UNICODE字符
2.3.2 字符转换
MultiByteToWideChar
WideCharToMultiByte
版权声明:本文博主原创文章。博客,未经同意不得转载。
Win32 Windows规划 三的更多相关文章
- windows phone 三种数据共享的方式(8)
原文:windows phone 三种数据共享的方式(8) 本节实现的内容是数据共享,实现的效果描述:首先是建立两个页面,当页面MainPage通过事件导航到页面SecondPage是,我们需要将Ma ...
- 转载:Windows下三分钟搭建Shadowoscks服务器端
Windows下三分钟搭建Shadowoscks服务器端 之前在V2EX上有人问为啥没人做个在Windows上一键运行Shadowsocks服务器端的程序,我只想说……这是因为没人关注我的libQtS ...
- mutex,thread(c++11 windows linux三种方式)
一 c++11 windows linux三种方式 //#include <stdio.h> //#include <stdlib.h> //#include <uni ...
- Win32 Windows编程 十
一 Windows画图 1 图形绘制 1.1 图形绘制的方式 获取到画图的句柄,设备描写叙述符(DC).使用对应的画图API.在设备上绘制图形 1.2 颜色 RGB,每种颜色8位,共24位颜色 32位 ...
- Win32 Windows编程 十二
一.对话框 1.对话框的分类 2.对话框的基本使用方式 3.对话框资源 4.有模式对话框的使用 5. 无模式对话框的使用 5.1 加入对话框资源 5.2 定义窗体处理函数 BOOL CALLBACK ...
- 我的第一次windows规划
#include <windows.h> LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ; //WinMain功能被分配一 ...
- Windows Phone 三、样式和资源
定义样式和引用资源 <Page.Resources> <!-- 向资源字典中添加一个键为ButtonBackground值为SolidColorBrush对象 --> < ...
- WIN32服务程序(三):完整的服务程序实例
前面我们所讲的“服务程序”,更准确地说是服务控制程序,例如我们通过输入应用的路径,将一个应用程序添加到服务控制管理器.一个服务控制程序可以将一个程序添加到服务控制管理器中,并控制它的运行.停止和删除等 ...
- python27 windows 下三种安装第三方库的办法
一.使用easy_install C:\Python27\Scripts 下有 easy_install.exe .例如我要安装 beautifulsoup,可以从 cmd 进入该目录,直接运行: e ...
随机推荐
- drupal THEME主要文件
**.info 文件** .info 文件是一个必需的文件:Drupal 必须包括它,才干看到主题. .info 文件告诉 Drupal 主题的内部名称.比如,假设这个文件的名称是 ibmtheme. ...
- Xcode免证书真机调试,解决cannot read entitlement data问题
本文是根据某个帖子写的(帖子链接在最后放出),但是在配置的过程中,遇到了一个纠结的问题,这个问题折腾了我N久,一直没搞明白到底是什么原因,问题如下: 按照原帖上写的每一步去做了,但是在最后编译的时候出 ...
- Struts ActionForm简单理解
要想明确struts的控制流程以及它核心API的实现原理(比方 Action/DispatchAction/ActionForm的实现原理),玩转struts1.2的关键就是可以玩转 ActionFo ...
- window应用移植到Linux下(应用移植)
配置QT的环境变量,这台电脑à属性à高级系统设置à高级à环境变量à系统变量àpathàC:\Qt\Qt5.3.0\5.3\mingw482_32\bin;C:\Qt\Qt5.3.0\Tools\ ...
- Filezilla出现中文乱码
使用Filezilla client FTP客户端登陆某些FTP站点会出现中文乱码,原因是FTP服务器端编码与filezilla client端编码不一致造成的,解决方法如下:文件-站点管理-选中要登 ...
- Android 调用谷歌语音识别
調用谷歌语音识别其实很简单,直接利用 intent 跳转到手机里面的谷歌搜索 代码也很简单,直接调用方法 startVoiceRecognitionActivity() 如果大家手机里面没有谷歌搜索, ...
- hdu1254(bfs+dfs)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1254 分析: 真正移动的是箱子,但是要移动箱子需要满足几个条件. 1.移动方向上没有障碍. 2.箱子后 ...
- 【IOS实例小计】今日开贴,记录我的ios学习生涯,留下点滴,留下快乐,成荫后人。
今天开贴来记录自己的ios学习过程,本人目前小白一个,由于对ios感兴趣,所以开始学习,原职java程序,呵呵,勿喷. 本次的[ios实例小计]主要参考一文http://blog.sina.com.c ...
- H3C TE老版本OSPF正确配置
R1配置: ---------------------------------------------------- # sysname RT1# super password level 3 cip ...
- 福利 城市名的python list
["上海","北京","北京市","朝阳","朝阳区","海淀","元 ...