Windows通用知识讲解二
NMAKE
Makefile是一个解释执行的工具,根据Makefile文件中的定义,编译和链接程序,最终生成文件。
Makefile(Windows下是.mak文件)
定义编译和链接等操作的脚本文件(把项目的处理命令写入),一般对整个项目进行处理。
示例
HELLO: //依赖行。大小写均可,建议全部大写
cl.exe hello.c /c //命令行
rc.exe hellownd.rc //命令行
link.exe hello.obj hellownd.res user32.lib //命令行
Makefile文件可以有多个依赖行
执行方式--使用NMAKE命令执行
NMAKE首先找到第一个依赖行,检查依赖行的依赖项,如果发现依赖项,首先执行依赖项命令行,执行完所有依赖项命令后,再执行自己命令行。
NMAKE类似于Linux下的make,但是执行指定的依赖来行时,按照'nmake /f 1.mak 依赖行',其中/f是执行指定的依赖行
BOOL WriteConsole(
HANDLE hConsoleOutput,//标准输出句柄,通过GetStdHandle()获取
const VOID *lpBuffer,//输出内容buffer
DWORD nNumberOfCharsToWrite,//输出内容buffer的长度--即用户需要输出内容的长度
LPDWORD lpNumberOfCharsWritten,//实际输出内容的长度--有可能输出不完全,需要再次输出
LPVOID lpReserved//备用参数
);
Windows中的句柄几乎都是用来表示内存地址的(但不是指针),但是有三个句柄例外:标准输出句柄、标准输入句柄、标准错误句柄
HANDLE GetStdHandle(
DWORD nStdHandle
);
参数:
STD_INPUT_HANDLE--The standard input device. Initially, this is the console input buffer, CONIN$.
STD_OUTPUT_HANDLE--The standard output device. Initially, this is the active console screen buffer, CONOUT$.
STD_ERROR_HANDLE--The standard error device. Initially, this is the active console screen buffer, CONOUT$.
宽字节字符
wchar_t 每个字符占2个字节
chat 每个字符占1个字节或2个字节(英文字母占1个字节,汉字占2字节)
wchar_t本质上是unsigned short类型,定义时,需要增加"L",通知编译器按照双字节编译字符串,采用UNICODE编码
需要使用支持wchar_t函数操作宽字节字符串。例如:
wchar_t *pwtext=L"hello world";
wprintf(L"%s\n",pwtext);
Windows通用知识讲解二的更多相关文章
- Windows通用知识讲解一
Window应用程序的类型 --控制台程序Console DOS程序,本身没有窗口,通过Windows DOS窗口执行 --窗口程序 拥有自己的窗口,可以与用户交互 --库程序 存放代码.数据的程序, ...
- Windows 通用应用尝试开发 “51单片机汇编”总结
一.前言 终于完成windows通用应用“51单片机汇编”,半年前开始玩WindowsPhone开发的第一个真正意义上的App(还很多缺点=_=).开发从1月中旬考完试到今天,期间实习了半个月,玩了几 ...
- 风炫安全web安全学习第三十七节课 15种上传漏洞讲解(二)
风炫安全web安全学习第三十七节课 15种上传漏洞讲解(二) 05后缀名黑名单校验之上传.htaccess绕过 还是使用黑名单,禁止上传所有web容器能解析的脚本文件的后缀 $is_upload = ...
- C#特性知识图谱-二、事件
C#特性知识图谱-二.事件 二.事件 在事件驱动的软件系统中,符合某种预设条件的情形出现是,一个事件就会被触发. 2.1 事件三要素 事件源:激发事件的对象 事件信息:事件本身说携带的信息 事件响应者 ...
- Html基础知识讲解
Html基础知识讲解 <title>淄博汉企</title> </head> <body bgcolor="#66FFCC" topmar ...
- Windows通用应用平台
什么是 UWP? 很多程序员都有一个梦想:希望自己开发的软件能够轻而易举的在所有平台上运行,而不是把同样的需求,用不同的技术.工具重新开发才能够运行在所有平台上.这就是跨平台,很多软件从业者都在为这个 ...
- python基础知识讲解——@classmethod和@staticmethod的作用
python基础知识讲解——@classmethod和@staticmethod的作用 在类的成员函数中,可以添加@classmethod和@staticmethod修饰符,这两者有一定的差异,简单来 ...
- Java JDBC的基础知识(二)
在我的上一篇Java JDBC的基础知识(一)中,最后演示的代码在关闭资源的时候,仅仅用了try/catch语句,这里是有很大的隐患的.在程序创建连接之后,如果不进行关闭,会消耗更多的资源.创建连接之 ...
- iPhone激活策略知识讲解:官方解锁和黑解
iPhone激活策略知识讲解:官方解锁和黑解 [复制链接] LEECHY 该用户从未签到 1372 XY豆 438 帖子 440 贡献 苹果花 积分 2250 发消息 电梯直达 楼主 发 ...
随机推荐
- Unity3d的lodgroup调节
才发现,假设不惬意LodGroup的百分比调节,能够在通过质量->中的Lod Bias值进行调节. 值为0-1之间 ,表示靠近精细与粗糙Lod的比率. 这样能解决用百分比调节不给力的问题.
- powerdesigner学习笔记【转载】
转自:http://blog.itpub.net/11968859/viewspace-620440/ 谢谢! 1.做CDM模型的时候,因为开始定义ITEM的时候,没有注意把NAME和CODE全定义成 ...
- MySQL日期与时间戳互转函数
-- 时间戳转日期 ); #日期转时间戳 Select UNIX_TIMESTAMP('2018-07-16 12:23:00');
- python标准库介绍——28 md5 模块详解
==md5 模块== ``md5`` (Message-Digest Algorithm 5)模块用于计算信息密文(信息摘要). ``md5`` 算法计算一个强壮的128位密文. 这意味着如果两个字符 ...
- 使用springBoot搭建REATFul风格的web demo
1 Spring boot 核心特性 自动配置:针对常见 spring 应用程序的常见应用功能,Spring boot 自动提供相应配置 起步依赖:告诉springboot 需要什么功能,他就会自动引 ...
- Vim进阶技术:搜索和替换
行内搜索 行内搜索,也就是在当前行内进行搜索和移动,通常都与编辑命令一起使用. fx -- 移动到下一个字符x的位置,光标停留在x字符上面 tx -- 移动到下一个字符x的位置,光标停留在x前一个字符 ...
- Spring的三种注入方式(Setter、构造函数和自动注入)
一.Setter注入 这里我是希望在Student.java中调用Course.java中的内容. public class Course { public String name = "数 ...
- 《Effective Java》读书笔记三(类和接口)
No13 使类和成员的可访问性最小化 要区别设计良好的模块与设计不好的模块,最重要的因素在于,这个模块对于外部的其他模块而言,是否隐藏其内部数据和其他实现细节.模块之间只通过它们的API进行通信,一个 ...
- [Jobdu] 题目1510:替换空格
题目描述: 请实现一个函数,将一个字符串中的空格替换成“%20”.例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 输入: 每个输入文件仅包含一组测 ...
- express设置模板引擎
app.set('views', path.join(__dirname,'views')); app.set('view engine', 'ejs');