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 发消息 电梯直达 楼主 发 ...
随机推荐
- FA_在建工程转固定资产(流程)
2014-06-08 Created By BaoXinjian
- Python 列表 remove() 方法
描述 Python 列表 remove() 方法通过指定元素的值来移除列表中某个元素的第一个匹配项,如果这个元素不在列表中会报一个异常. 语法 remove() 方法语法: L.remove(obj) ...
- introduction to python for statistics,analysis笔记2
一.行列式连接concatenate函数,axis=0是垂直拼接,axis=1是水平拼接 x=np.array([[],[,]]); y=np.array([[],[,]]); z=np.concat ...
- 音频特征提取——pyAudioAnalysis工具包
作者:桂. 时间:2017-05-04 18:31:09 链接:http://www.cnblogs.com/xingshansi/p/6806637.html 前言 语音识别等应用离不开音频特征的 ...
- Android开发7——android.database.CursorIndexOutOfBoundsException:Index -1 requested
android中数据库处理使用cursor时,游标不是放在为0的下标,而是放在为-1的下标处开始的. 也就是说返回给cursor查询结果时,不能够马上从cursor中提取值. 下面的代码会返回错误Us ...
- mysql 5.6.23的源码安装
http://634871.blog.51cto.com/624871/1325914 首先删除系统自带的mysql rpm -qa | grep mysql rpm -e mysql //普 ...
- REST技术第三步 @BeanParam的使用
我简介下rest中@BeanParam的使用 我们来做一个计算加法的服务. 提供两个參数a和b,计算出a+b. 參数都在URL里 就是类似这样的效果. 这次用上@BeanParam 首先写个POJO来 ...
- [na]mail收发过程
以前老记不住这smtp和pop3谁收谁发. 简单邮件传输协议(SMTP),用来发送或中转发出的电子邮件, 占用tcp 25端口. 第三版邮局协议(POP3),用于将服务器上把邮件存储到本地 ...
- THINKPHP导入全部post参数
@extract($_POST);//导入全部POST参数直接使用变量
- 一些通用性的haproxy调优tips
一.硬件和系统 haproxy是单线程,非阻塞,事件驱动,所以会最大化利用单个CPU内核,选择haproxy的硬件时要关注如下: 1.选择CPU的时候,选择高主频,大缓存的型号,比内核数更重要 2 ...