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 发消息 电梯直达 楼主 发 ...
随机推荐
- DevExpress下拉多选框 CheckComboboxEdit、CheckedListBoxControl
CheckComboboxEdit //清空项 checkedComboBoxEdit1.Properties.Items.Clear(); //自定义数组 ...
- Unix lrzsz命令 上传本地文件到服务器 / 发送文件到客户端
第三方教程:https://www.jb51.net/article/73690.htm 安装命令: $ yum install lrzsz 本地上传文件到服务器,如果是xshell,直接拖拽文件进入 ...
- spring 读取配置文件
spring读取dubbo xml文件,在本项目内可以调用正常,一旦把改项目打成jar包,供其他项目调用,就会提示找不到配置文件 ClassPathXmlApplicationContext cont ...
- cocos2dx 3.3 场景切出时RenderTexture crash
在cocos2dx 3.3中下面myScene在切出时会存在概率性崩溃(代码作了最大程度简化,仅为说明问题): class CmyLayer:public Layer{ public: CmyLaye ...
- 豌豆荚不能连接三星S4手机,提示打开手机的“USB调试模式”,但却找不到在哪儿可以设置
1. 问题 豌豆荚不能连接三星S4手机,下载了三星S4手机的驱动后,提示打开手机的“USB调试模式”,但却找不到在哪儿可以设置. 2. 原因 S4 默认隐藏开发者选项,所以默认不可以设置“USB调试模 ...
- extjs中组件监听器里面的回调函数说明
近期在看项目源代码的时候发现了例如以下代码,当中_searchSupplierStore是JsonStore对象 _searchSupplierStore.on('beforeload',functi ...
- Common Probability Distributions
Common Probability Distributions Probability Distribution A probability distribution describes the p ...
- [svc][op]Ubuntu优化-服务管理(启动级别)
一 修改Ubuntu启动级别 sudo apt-get install sysv-rc-conf 执行: sysv-rc-conf 打x的表示开机启动. 二 启动级别 Ubuntu默认启动级别为2 r ...
- Ajax实现异步刷新验证用户名是否已存在
由于要做一个注册页面,看到许多网站上都是使用Ajax异步刷新验证用户名是否可用的,所以自己也动手做一个小实例 都是简单的实例,所以直接发代码 静态页面Ajax.html <html> &l ...
- Eclipse中直接操作本地文件系统
你是不是有时候觉得在Eclipse和windows资源管理器(也就是咱平时用的文件浏览器)之间切换很麻烦? Eclipse中也提供了本地文件系统浏览功能,在里面你也可以方便地进行各种文件操作 在Ecl ...