C编译器生成的exe文件中main函数前加了一大断什么代码
请问:C编译器生成的exe文件中main函数前加了一大断什么代码,
我把一个超简单的c程序反汇编了下,不知道前面那段有哪些功能(只知道有个是程序正常退出的)。
知道的麻烦和我说下,谢谢啦!
可以了解一下Windows PE文件格式
挂上PDB看。
一般是 CrtWinMain,即把操作系统提供的PE加载完成时的参数利用上,以那些参数制造
main ()需要的参数,然后传给真正的main ();
在头文件里搜索会很有帮助,VC的查看符号声明、查看符号定义非常有用,比如现在可以根据WinMain的声明查到VC是如何制造 main ()所需参数的
那个一般是从libcrt连上去的 你想 你要运行main函数 那main函数的参数argc argv env谁给 总得有人给吧 crt就是C Runtime的意思 根据不同的处理器和硬件设置 帮你设置好你的C程序的环境 包括设好堆栈 堆 等等 然后就调用你的main 当你的程序完成后 还负责打扫战场 返回系统
那些东西都是初始化的代码,一般多数是:
1、当前windows操作系统的版本;
2、堆栈初始化;
3、IO口初始化;
4、读取命令行,并分析;
5、获取当前进程;
6、运行用户代码;(即运行_WinMain)
7、退出;
补充一下,通过修改库函数,可以去掉这些代码,对于开发一些特殊的程序,这些代码反而可能会产生不好的作用。
TEXT:0010 ; Segment type: Pure code
_TEXT:0010 _TEXT segment byte public 'CODE' use16
_TEXT:0010 assume cs:_TEXT
_TEXT:0010 ;org 10h
_TEXT:0010  
相关问答:
请问VFP中如何调用C/C++函数?
你要调用什么功能的函数?要看看VFP中有没有对应的函数,如果有就省着再调用了。如果没有,可以将C/C++函数写个DLL或FLL,然后在VFP调用即可。
十豆三 老师,怎么才能修改自己的 ......
分别用结构化方法和面向对象方法编程实现下面要求:
对Circle和Rectangle实现以下功能Center,Move,Rotate,Print.
自己先订以下,这是一个刚学习计算机的人问我的
学习,看看
继续顶哦
学习了。
go o ......
请问C++里的用CInternetSession 模拟HTTP发送请求后, 如何获得服务器在浏览器里响应的URL串啊?
就是 服务器会返回一个 页面给我了 而此时浏览器的URL地址也就相当是服务 ......