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通用知识讲解二的更多相关文章

  1. Windows通用知识讲解一

    Window应用程序的类型 --控制台程序Console DOS程序,本身没有窗口,通过Windows DOS窗口执行 --窗口程序 拥有自己的窗口,可以与用户交互 --库程序 存放代码.数据的程序, ...

  2. Windows 通用应用尝试开发 “51单片机汇编”总结

    一.前言 终于完成windows通用应用“51单片机汇编”,半年前开始玩WindowsPhone开发的第一个真正意义上的App(还很多缺点=_=).开发从1月中旬考完试到今天,期间实习了半个月,玩了几 ...

  3. 风炫安全web安全学习第三十七节课 15种上传漏洞讲解(二)

    风炫安全web安全学习第三十七节课 15种上传漏洞讲解(二) 05后缀名黑名单校验之上传.htaccess绕过 还是使用黑名单,禁止上传所有web容器能解析的脚本文件的后缀 $is_upload = ...

  4. C#特性知识图谱-二、事件

    C#特性知识图谱-二.事件 二.事件 在事件驱动的软件系统中,符合某种预设条件的情形出现是,一个事件就会被触发. 2.1 事件三要素 事件源:激发事件的对象 事件信息:事件本身说携带的信息 事件响应者 ...

  5. Html基础知识讲解

    Html基础知识讲解 <title>淄博汉企</title> </head> <body bgcolor="#66FFCC" topmar ...

  6. Windows通用应用平台

    什么是 UWP? 很多程序员都有一个梦想:希望自己开发的软件能够轻而易举的在所有平台上运行,而不是把同样的需求,用不同的技术.工具重新开发才能够运行在所有平台上.这就是跨平台,很多软件从业者都在为这个 ...

  7. python基础知识讲解——@classmethod和@staticmethod的作用

    python基础知识讲解——@classmethod和@staticmethod的作用 在类的成员函数中,可以添加@classmethod和@staticmethod修饰符,这两者有一定的差异,简单来 ...

  8. Java JDBC的基础知识(二)

    在我的上一篇Java JDBC的基础知识(一)中,最后演示的代码在关闭资源的时候,仅仅用了try/catch语句,这里是有很大的隐患的.在程序创建连接之后,如果不进行关闭,会消耗更多的资源.创建连接之 ...

  9. iPhone激活策略知识讲解:官方解锁和黑解

    iPhone激活策略知识讲解:官方解锁和黑解 [复制链接]     LEECHY 该用户从未签到 1372 XY豆 438 帖子 440 贡献 苹果花 积分 2250 发消息 电梯直达 楼主    发 ...

随机推荐

  1. DevExpress下拉多选框 CheckComboboxEdit、CheckedListBoxControl

    CheckComboboxEdit //清空项            checkedComboBoxEdit1.Properties.Items.Clear(); //自定义数组            ...

  2. Unix lrzsz命令 上传本地文件到服务器 / 发送文件到客户端

    第三方教程:https://www.jb51.net/article/73690.htm 安装命令: $ yum install lrzsz 本地上传文件到服务器,如果是xshell,直接拖拽文件进入 ...

  3. spring 读取配置文件

    spring读取dubbo xml文件,在本项目内可以调用正常,一旦把改项目打成jar包,供其他项目调用,就会提示找不到配置文件 ClassPathXmlApplicationContext cont ...

  4. cocos2dx 3.3 场景切出时RenderTexture crash

    在cocos2dx 3.3中下面myScene在切出时会存在概率性崩溃(代码作了最大程度简化,仅为说明问题): class CmyLayer:public Layer{ public: CmyLaye ...

  5. 豌豆荚不能连接三星S4手机,提示打开手机的“USB调试模式”,但却找不到在哪儿可以设置

    1. 问题 豌豆荚不能连接三星S4手机,下载了三星S4手机的驱动后,提示打开手机的“USB调试模式”,但却找不到在哪儿可以设置. 2. 原因 S4 默认隐藏开发者选项,所以默认不可以设置“USB调试模 ...

  6. extjs中组件监听器里面的回调函数说明

    近期在看项目源代码的时候发现了例如以下代码,当中_searchSupplierStore是JsonStore对象 _searchSupplierStore.on('beforeload',functi ...

  7. Common Probability Distributions

    Common Probability Distributions Probability Distribution A probability distribution describes the p ...

  8. [svc][op]Ubuntu优化-服务管理(启动级别)

    一 修改Ubuntu启动级别 sudo apt-get install sysv-rc-conf 执行: sysv-rc-conf 打x的表示开机启动. 二 启动级别 Ubuntu默认启动级别为2 r ...

  9. Ajax实现异步刷新验证用户名是否已存在

    由于要做一个注册页面,看到许多网站上都是使用Ajax异步刷新验证用户名是否可用的,所以自己也动手做一个小实例 都是简单的实例,所以直接发代码 静态页面Ajax.html <html> &l ...

  10. Eclipse中直接操作本地文件系统

    你是不是有时候觉得在Eclipse和windows资源管理器(也就是咱平时用的文件浏览器)之间切换很麻烦? Eclipse中也提供了本地文件系统浏览功能,在里面你也可以方便地进行各种文件操作 在Ecl ...