博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Windows核心编程02-记事本写代码深入理解cl.exe和link.exe
阅读量:7016 次
发布时间:2019-06-28

本文共 1432 字,大约阅读时间需要 4 分钟。

接下来用记事本手写代码:

  1,建一个空的记事本,敲入以下代码

#include "windows.h"int WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine, int cmdShow){    MessageBox(NULL,"HelloWorld!","Info",MB_ABORTRETRYIGNORE|MB_ICONINFORMATION);    return 0;}

 

  2,打开CMD窗口,输入cl.exe /? 是否有报错,如果有报错 运行

    D:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32.BAT 

    盘符看VC 6.0的安装路径,这里也可以双击cl.exe如果报错缺少mspdb60.dll,到百度上去下个放到当前目录

  3,把当前目录切到记事本所在路径 cd D:\XXX\XXX\XXX

    把记事本改名为XXX.c 例如 hello.c

    1,编译:cl.exe /c hello.c 会生成一个hello.obj的文件

    2,链接:link.exe hello.obj user32.lib 会生成一个hello.exe

    双击hello.exe 弹出MessageBox

  4,WinMain参数 lpCmdLine 表示什么?

    把代码修改如下:

    

#include "windows.h"int WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine, int cmdShow){    MessageBox(NULL,lpCmdLine,"Info",MB_ABORTRETRYIGNORE|MB_ICONINFORMATION);    return 0;}

  编译,链接....

  双击hello.exe ... 嗯 什么都没有,弹出来是空的 感觉被忽悠了

  随便拖一个文件到hello.exe 有没看到什么?MessageBox里显示拖进来文件的路径 知道lpCmdLine是什么了吧,也知道视频文件拖到播放器就可以播放是怎么实现的吧

    

句柄:现在暂时理解为句柄是用来找到内存的,绝对不是指针

LP开头的类型都是指针

int WINAPIWinMain(

    HINSTANCE hInstance,//当前程序的实例句柄

    HINSTANCE hPrevInstance,//当前程序前一个实例句柄

    LPSTR lpCmdLiine,//命令行参数字符串 char*

    int nCmdShow//窗口的显示方式,最大化,最小化...

    );

int MessageBox(

    HWND hWnd,//父窗口句柄,以h开头基本可以确定为句柄

    LPCTSTR lpText,//显示在消息中的文字 char*

    LPCTSTR lpCaption,//显示在标题栏中的文字

    UINT uType//消息框中的按钮、图标显示类型

    );返回点击的按钮ID

转载于:https://www.cnblogs.com/visions/p/5543682.html

你可能感兴趣的文章
国产智轨电车开进“冰城”接受严寒测试 表现良好
查看>>
面试官,你再问我 Bit Operation 试试?
查看>>
PSV 3.60 固化升级到 3.68 破解完全攻略
查看>>
【实操干货】KVM命令管理虚拟机与性能优化
查看>>
Android NDK JNI 开发之旅01 环境搭建入门篇
查看>>
RxJava应用:实现七牛云多图上传
查看>>
Android爬坑之旅之不易发现的BUG
查看>>
koa2开发微信公众号: 不定期推送最新币圈消息
查看>>
小tips:JS中this操作执行像(object.getName = object.getName)()操作改变了this
查看>>
为什么国外的 App 很少会有开屏广告?
查看>>
移动端中webview的h5访问,出现了运营商的广告解决方案
查看>>
PHP curl 返回Connection timed out解决办法
查看>>
关于5G被激烈讨论的那些争端和冲突
查看>>
如何理解 Laravel 的 Ioc 容器
查看>>
毕啸南专栏 | 对话李开复:AI科学家的转型之路
查看>>
iphone: 可编辑的tableView Move&Delete
查看>>
jQuery中的join方法
查看>>
JSP取得绝对路径
查看>>
最新Do Not Track标准问世:网站都应尊重用户选择
查看>>
逾半数全球商业领袖认同智能自动化,但首先要解决员工的抵触情绪
查看>>