付笑 发表于 2013-9-18 00:51:56

win32汇编的入口函数为什么不用参数啊

比如,c语言写的windows程序winmain 就有四个参数,到win32汇编就没有呢?还有就是在汇编里创建窗口用了getmodulehandle()函数,在C程序里就不用这个函数,为什么会这样啊

565123 发表于 2013-9-18 00:51:57

本帖最后由 565123 于 2013-9-18 22:40 编辑

C语言的入口是在WinMainCRTStartup这个函数WinMain函数只是在WinMainCRTStartup函数中调用而已
WinMainCRTStartup就是没有参数的函数


证据在crtexe.c
在VC目录下,\crt\src\crtexe.c

pediyzhi 发表于 2013-9-18 10:39:07

因为那入口是你定下来的.并且入口 你也没到建立窗口的时候
建立窗口也会有你说的那些参数

付笑 发表于 2013-9-18 11:59:44

pediyzhi 发表于 2013-9-18 10:39 static/image/common/back.gif
因为那入口是你定下来的.并且入口 你也没到建立窗口的时候
建立窗口也会有你说的那些参数

哦,还是不太明白,以C语言需要的那四个参数在汇编里面就不需要了吗

pediyzhi 发表于 2013-9-18 15:20:21

看你怎么写了.如果建立WINDOWS窗口的话就需要,不过汇编里比较自由,看个人写法了
你看罗云彬汇编第4章第一个程序就懂了

付笑 发表于 2013-9-18 18:48:24

pediyzhi 发表于 2013-9-18 15:20 static/image/common/back.gif
看你怎么写了.如果建立WINDOWS窗口的话就需要,不过汇编里比较自由,看个人写法了
你看罗云彬汇编第4章第一个 ...

那看过了,如果需要的话也不可以写吧,汇编start 好像接受不了参数吧

pediyzhi 发表于 2013-9-18 18:53:00

那只是标号你随便起什么名字都可以

付笑 发表于 2013-9-18 19:13:52

pediyzhi 发表于 2013-9-18 18:53 static/image/common/back.gif
那只是标号你随便起什么名字都可以

那怎么从入口就带进参数啊

pediyzhi 发表于 2013-9-18 20:04:29

打个比方吧.入口处第一条语句你也可以让他是调用你自己的子程序.子程序根据你的需要想让他有多少个参数就有多少个参数

付笑 发表于 2013-9-18 20:06:51

pediyzhi 发表于 2013-9-18 20:04 static/image/common/back.gif
打个比方吧.入口处第一条语句你也可以让他是调用你自己的子程序.子程序根据你的需要想让他有多少个参数就有 ...

我是意思是接受系统的参数,系统不会传入参数了吧

pediyzhi 发表于 2013-9-18 20:27:33

win32汇编同样也可以使用winmain定义一下就好,书上有例子

福禄娃娃 发表于 2013-9-18 20:59:13

end后面跟的就是程序的入口
比如 end start
start是个标号,实际代表具体内存地址

付笑 发表于 2013-9-18 21:13:59

pediyzhi 发表于 2013-9-18 20:27 static/image/common/back.gif
win32汇编同样也可以使用winmain定义一下就好,书上有例子

就是第一个窗口程序那个例子吗,那个winmain也没有参数啊

付笑 发表于 2013-9-19 09:36:47

565123 发表于 2013-9-18 22:35 static/image/common/back.gif
C语言的入口是在WinMainCRTStartup这个函数WinMain函数只是在WinMainCRTStartup函数中调用而已
WinMainCRT ...

高手,这样说我明白多了,谢谢

565123 发表于 2013-9-19 15:49:26

求选最佳!!

付笑 发表于 2013-9-19 21:11:12

565123 发表于 2013-9-19 15:49 static/image/common/back.gif
求选最佳!!

选了.......

把痛苦留在明天 发表于 2017-9-30 17:28:01

C语言有一段初始化程序,自动填写它的参数
页: [1]
查看完整版本: win32汇编的入口函数为什么不用参数啊