首页 > 其他分享 >day01

day01

时间:2024-04-19 14:12:40浏览次数:32  
标签:文件 EXE windows day01 程序 入口 我们

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

相关文章

  • 构建RAG应用-day01: 词向量和向量数据库 文档预处理
    词向量和向量数据库词向量(Embeddings)是一种将非结构化数据,如单词、句子或者整个文档,转化为实数向量的技术。词向量搜索和关键词搜索的比较优势1:词向量可以语义搜索比如百度搜索,使用的是关键词搜索。而词向量搜索,是对句子的语义进行搜索,他会找到意思相近的前k个句子。优势2:词......
  • day01-02_我的Java学习笔记 (IDEA的安装、配置及使用、IDEA常用快捷键、IEDA创建空工
    1.IDEA的安装及配置1.1IDEA的安装具体操作,详见《04、IDEA安装详解.pdf》1.2IDEA主题配置、字体配置1.3IDEA常用快捷键1.4IDEA修改快捷键在IDEA工具中,Ctrl+空格的快捷键,可以帮助我们补全代码,但是这个快捷键和Windows中的输入法切换快捷键冲突,需要修改IDEA中......
  • day01-03_我的Java学习笔记(Java基础语法--注释、字面量、变量、二进制、ASCII编码、
    1.Java基础语法1.1注释1.2字面量(Python中叫数据类型)1.3变量1.3.1变量的定义及使用1.3.2变量使用注意事项1.4数据的存储形式:二进制字节、字、bit、byte的关系:字word字节byte位bit,来自英文bit,音译为“比特”,表示二进制位。字长是指字的......
  • Markdown学习Day01
    MarkDown学习标题两个#号加空格加内容三级标题三个#号加空格加内容四级标题四个#号加空格加内容最多类推到六级标题字体HelloHello头尾双*加粗Hello头尾单*斜体Hello头尾三*斜体加粗Hello头尾双~删除线引用拥抱美好新生活引用=>符号加空格分割线三......
  • JavaWeb开发:day01
    目录Web开发模式前后端分离开发混合开发网页本质HTML/CSS学习目录官方文档:w3school.com.cn首页选择HTML5--参考书HTML快速入门案例:实践:创建一个自己网页2024/4/10Web开发模式前后端分离开发混合开发网页本质HTML负责网页结构(元素和内容);CSS控制页面样式和表现;JS控......
  • JavaWeb开发:day01
    JavaWeb--01Web开发模式前后端分离开发混合开发网页本质HTML/CSS学习目录官方文档:[w3school.com.cn](http://www.w3school.com.cn/)首页选择HTML5--参考书HTML快速入门案例:实践:创建一个自己网页总结2024/4/10Web开发模式前后端分离开发混合开发网页本......
  • Python基础笔记-day01
    Python基础-day1!!!注意:本系列所写的文章全部是学习笔记,来自于观看视频的笔记记录,防止丢失。观看的视频笔记来自于:哔哩哔哩武沛齐老师的视频:2022Python的web开发(完整版)入门全套教程,零基础入门到项目实战1.文档工具typora2.环境搭建安装Python解释器学习Python语法Python......
  • 后端学习Day01
    项目来源:B站黑马程序员《苍穹外卖》本帖仅为学习日志目录一、软件开发(一)软件开发流程(二)角色分工(三)软件环境二、苍穹外卖项目介绍(一)项目介绍(二)产品原型(三)技术选型三、开发环境搭建(一)前端环境搭建(二)后端环境搭建(三)完善登录功能四、导入接口文档(一)前后端分离开发流程(二)操作步骤五......
  • C语言day01
    C语言入门环境搭建①mingw64的安装和配置环境变量②vscode安装③vscode配置,需要c/c++扩展,将mingw与vscode联系起来基本代码结构头文件、主函数、返回值程序代码分析#include导入标准库文件主函数main主函数的返回值和返回类型运行流程机制编写源文件——>预......
  • day01-列表
    python基础数据类型:列表list 概念 由一系列元素组成的可变序列容器可变:1.有增删改方法2.所有的操作会直接作用于原数据序列:支持索引和切片操作定义#列表的定义---->list[]#1.直接创建list1=[10,2.3,"hello"]print(list1)print(type(lis......