1. c语言编译生成的.obj文件解释下
c语言编译生成的.obj文件是一种文本文件,程序编译时生成的中间代码文件目标文件,一般是程序编译后的二进制文件,再通过链接器和资源文件链接就成可执行文件了。OBJ只给出了程序的相对地址,而可执行文件是绝对地址。
obj文件基本结构:OBJ文件不需要任何种文件头(File Header),尽管经常使用几行文件信息的注释作为文件的开头。
OBJ文件由一行行文本组成,注释行以符号“#”为开头,空格和空行可以随意加到文件中以增加文件的可读性。有字的行都由一两个标记字母也就是关键字(Keyword)开头,关键字可以说明这一行是什么样的数据。
(1)编译成独立模块是obj扩展阅读:
C编译的整个过程很复杂,大致可以分为以下阶段:
1、预处理阶段
在该阶段主要完成对源代码的预处理工作,主要包括对宏定义指令,头文件包含指令,预定义指令和特殊字符的处理,如对宏定义的替换以及文件头中所包含的文件中预定义代码的替换等,总之这步主要完成一些替换工作,输出是同源文件含义相同但内容不同的文件。
2、编译、优化阶段
编译就是将第一阶段处理得到的文件通过词法语法分析等转换为汇编语言。优化包括对中间代码的优化,如删除公共表达式,循环优化等;和对目标代码的生成进行的优化,如如何充分利用机器的寄存器存放有关变量的值,以减少内存访问次数。
3、汇编阶段
将汇编语言翻译成机器指令。
2. 为什么我用易语言静态编译出来的是是obj文件,然后该怎么弄软件才用能打开
OBJ是C源码中的一种,出现你的这种情况,先确定易编译是否被拦截,编译连接器是否正常。
3. 为什么我用易语言静态编译的文件是obj格式的怎么解决
修改一下link.ini 文件就可以正常编译了。
linker="D:\易语言5.11破解版\连接器\bin\link.exe"
; linker用于指定链接器文件。可以使用完整路径或相对路径(相对于易语言安装目录),路径两端可以加上半角双引号。
; 如果不指定此项,默认会根据linker_type尝试寻找链接器路
修改linker=后面的路径为你的易语言安装路径就可以试试。
望采纳。
4. 为什么易语言编译出来的软件变成obj文件
你是用易语言静态编译的,没有安装VC98linker静态链接器,或者静态链接器的设置不对!
5. 请问我用易语言编写的程序。编出来之后文件后缀变成了.obj。怎么才能变成可执行文件啊。就是.exe 程序
两种可能,一个是编译失败,所以产生了OBJ文件,一个是链接器配置错误,导致编译成了OBJ文件,后者可以在要在 tools\link.ini 中设置链接器,把 OBJ文件链接成 EXE。
不过还是建议使用正规的程序开发语言来进行程序设计。
6. 为什么我易语言编译的软件的后缀是obj
生成.obj没有生成exe通常是编译阶段通过,在链接阶段出现问题,通常是link.ini配置有误。
如果你是新手,很新很新的那种,建议卸载现在的版本,去西西下载一个5.11破解版。
7. 易语言静态编译后怎么是obj格式
建议不要用易语言,而要用Visual Basic编程语言来编译。这样编译出来的格式就不是OBJ,而是一个正常的可执行文件EXE。
Visual Basic是一种由 Microsoft 公司开发的结构化的、模块化的、面向对象的、包含协助开发环境的事件驱动为机制的可视化程序设计语言。从任何标准来说,VB都是世界上使用人数最多的语言——不管是盛赞VB的开发者还是抱怨VB的开发者的数量。它源自于BASIC编程语言。VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。程序员可以轻松的使用VB提供的组件快速建立一个应用程序。
8. c 语言编译后产生的obj文件是做什么的
简单的说就是目标代码.
obj文件是单独的目标文件,它还不能单独运行.需要把相关的obj文件连接到一起,才能产生可执行文件.
9. 为什么我的易语言静态编译时编出个obj类型的文件
任何
编译器
都会生成obj文件,称之为目标代码文件。该文件通过连接程序(link)生成最后可执行文件(exe)或动态链接库文件(dll)。你可能只进行了
编译
,还要执行连接才能得到可执行文件或动态链接库文件。
10. 用易语言静态编译后在桌面上的是个obj格式是怎么回事怎么解决obj格式和文本格式差不多!不会的请绕道
您好!
dbj用VS2010就能打开。
应该是静态编译失败了。
如果你的易语言是5.11破解版的话,运行易目录的\VC98linker\link.e 进行静态编译破解。
②可能是杀毒软件拦截了易语言,你关闭杀毒软件,然后静态编译的别的目录。
【望采纳】