1、以GCC编译器为例,可以分为四步。
第一步是预处理,包括语法检查等工作。
gcc -P abcc
第二步由源程序生产汇编语言代码。
gcc -S abcc
会生成abcs文件,这个文件里就是汇编代码。
第三步编译器生成目标代码,一个源文件生成一个目标代码。
gcc -c abcc
会生成abco
第四步连接器从目标代码生成可执行文件。
gcc abco
2、目标代码包括机器码和符号表(函数及变量名)。连接器的主要作用是通过符号表在库文件和其他模块中找到在目标代码中引入或未定义的符号(函数及变量名),将几个目标代码合成可执行文件。
注意,你的计算机中了木马,必须先清除木马。
文件关联遭到了破坏,主要是跟注册表有关系,找一个注册表修复软件看看能否将这个问题解决。笔者在瑞星的主页上找到了瑞星注册表修复工具,先用瑞星注册表修复工具对注册表进行全面的检查(如图所示),果然发现了很多错误。然后选择对注册表修复,将那些错误的地方进行修复。重启电脑之后再运行那些程序,发现一切都正常了。
修复工具下载
补充:这是另一篇文章
巧妙修复失效的EXE文件
前几天,笔者的电脑开机进入Windows 2000时,突然d出了一个对话框,标题为“C:\Program Files\Microsoft office\OSA9EXE”,提示信息为“该文件没有关联程序执行该 *** 作。请在控制面板的文件夹选项中创建关联程序”。我十分吃惊,心想:会不会所有扩展名为EXE的文件都不能运行?果然,双击桌面上所有与EXE文件链接的快捷方式图标都不能打开相应的程序!这下我可急出了一身冷汗。
我想一定是某个软件甚至可能是病毒把扩展名为EXE的文件关联删除或修改了,因此按照前面对话框的提示从控制面板中执行“文件夹选项”命令,选择“文件类型”标签,在“已注册的文件类型”列表中找不到扩展名EXE和它的文件关联。试着按“新建”按钮,在“文件扩展名”后输入“exe”,按“高级”按钮,系统自动将其文件类型定义为“应用程序”,按“确定”按钮后在“已注册的文件类型”列表中出现了扩展名“EXE”,选择它后按“更改”按钮,系统要求选择要使用的程序,可是到底要选择什么应用程序来打开EXE文件?看来这个方法不行,只好按“取消”按钮返回“文件夹选项”对话框。
由于以前我从没听说要为扩展名为“exe”的文件建立文件关联,所以在“已注册的文件类型”列表中选择“EXE应用程序”,并按“删除”按钮将它删除。由于所有EXE文件都不能执行,所以也无法用注册表编辑器来修改注册表,看来只好重新启动计算机了。在出现“正在启动Windows…”时按“F8”键,出现“Windows 2000高级选项菜单”,选其中的“最后一次正确的配置”,进入Windows 2000时仍然报错。只好再次重新启动,这次选“安全模式”,虽然没有报错,但仍不能运行EXE文件。再试试“带命令行提示的安全模式”选项,启动成功后在命令提示符窗口的命令行输入:help | more(“|”是管道符号),在系统显示的信息第一行我看到了如下信息“ASSOC Displays or modifies file extension associations”,大致意思是“ASSOC显示或修改文件扩展名关联”。心中顿时一喜,继续查看,又看到了如下信息“FTYPE Displays or modifies file types used in file extension associations”,大意是“FTYPE显示或修改用在文件扩展名关联中的文件类型”,原来在命令提示符窗口还隐藏着这两个特殊命令,可以用来设置文件扩展名关联。于是,在命令行分别输入“help assoc”和“help ftype”两个命令获取了它们的使用方法。
按照使用说明,我在命令行输入:assoc exe来显示EXE文件关联,系统显示“没有为扩展名exe找到文件关联”,难怪EXE文件都不能执行。接着输入:ftype | more来分屏显示系统中所有的文件类型,其中有一行显示为“exefile="%1" %”,难道只要将EXE文件与“exefile”关联,故障就会解决?于是在命令行输入:assoc exe=exefile(assoc与exe之间有一空格),屏幕显示“exe=exefile”。现在关闭命令提示符窗口,按[Ctrl+Alt+Del]组合键调出“Windows安全”窗口,按[关机]按钮后选择“重新启动”选项,按正常模式启动Windows 2000后,所有的EXE文件都能正常运行了。
上文是笔者解决进入Windows 2000后所有扩展名为EXE的文件都不能运行的全过程。
以上就是关于C语言程序编译后产生哪些类型的文件这些文件的作用是什么全部的内容,包括:C语言程序编译后产生哪些类型的文件这些文件的作用是什么、Windows7所有程序的文件类型都一样了 打不开、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)