windows程序的入口地址
对于windows程序来说,我们的入口地址是不一样的
比如说,对于我们控制台程序来说程序的入口是main函数
但是对于我们窗口程序来说,也就是程序的窗口来说是 WinMain
动态库,也就是我们写出来的函数之后的动态库函数 程序 是通过dllMain来实现的,但是DllMain 是不能单独执行的,它是依附于程序进行的
同时对于静态库,则没有入口函数
同时我们来看看 : 对于控制台程序,窗口程序 ,我们可以直接在debug目录下去直接寻找到我们的exe文件的,也就是我们程序执行之后生成的文件
我们在动态库程序生成的就是DLL文件
而我们在静态库程序中生成的则是lib文件 (静态库文件)这里和Linux下的libc库有点像哦
同时我们这里补充一下文件常识:.so 文件是Linux下的动态链接库文件 .dll 文件是windows下的动态链接库文件格式
windows编译过程:
我们普通的c语言程序是直接通过gcc 实现的编译以及链接的过程,但是对于我们windows来说实现过程则是
通过的 CL.EXE文件将源码编译成目标代码 ,通过LINK.EXE将目标代码、库链接到一起生成一个最终文件,以及资源编译器RC.EXE将资源编译最终通过链接器存入最终文件
第一个windows代码程序:
#include <windows.h>
#include <stdio.h>
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
// 显示一个带有“确定”按钮和信息图标的消息框
MessageBox(NULL, L"欢迎使用这个程序!", L"欢迎信息", MB_YESNOCANCEL | MB_ICONINFORMATION);
return 0; /*这里期望得到一个长指针到常量宽字节字符串,这里加上L是直接将字符串转为宽字节字符串*/
}
标签:文件,EXE,windows,day01,程序,入口,我们
From: https://www.cnblogs.com/ovo-fisherman/p/18145770