您的位置:

c语言编译成obj,C语言编译成汇编

本文目录一览:

C语言中的obj

obj文件是目标文件,一般是程序编译后的二进制文件,在通过链接器和资源文件链接就成exe文件了。

OBJ只给出了程序的相对地址,而EXE是绝对地址。

OBJ文件不支持有孔的多边形面。

举个例子说明一下:

选择Maya的创建多边形工具(Polygons - Create Polyon Tool),在视图中画一个四边形,不要按回车,按Ctrl在四边形中间点一下,可以继续在四边形中挖一个洞。把这个有孔的多边形存成OBJ格式,在导入Maya时,会发现多边形少了一块。如果你把这也看成错误,现在至少你已经知道错误的原因了,就是OBJ文件不支持有孔的多边形面。

OBJ文件 -- 实际问题:

现在来讨论一点比较实际的问题吧,就是一旦你遇到了一个出错的OBJ文件,倒底该怎么办?

当你打开OBJ文件后,往往会看到有几万行的代码,你恐怕还没本事情一眼看出错误所在行,除非程序的错误信息中已经告诉你错误行。如果你不知道错误在哪里,可以用排除法,弄清楚肯定正确的代码范围,通过缩减错误代码范围定位错误。例如,你先新建一个空的OBJ文件,把有错的OBJ文件代码粘贴一半过来,然后把这个只有一半代码的新OBJ文件导入Maya。如果这时没有错误信息,说明错误行是在另一半代码中,可以从另一半代码中再粘贴一部分代码试试看;如果这时出现错误,说明错误行就在粘贴的代码中,可以把粘贴过来的代码删去一部分再试试看。就这样,逐步缩减范围直到找到错误行为止。

这种方法虽然很麻烦,不过颇为有效。如果你不会编程,又遇到非常紧急的情况,这种方法还是值得一试的。

OBJ文件 -- 细节:

掌握了这么多差不多也够用了,不过由于网上详细讲解OBJ文件的中文文档很少,我还是再讲一些例子,给大家提供多一点的信息吧。

简单的OBJ格式写法。

# Simple Wavefront file

v 0.0 0.0 0.0

v 0.0 1.0 0.0

v 1.0 0.0 0.0

f 1 2 3

面可以使用负值索引,有时用负值索引描述面更为简便。

"f -4 -3 -2 -1"这句索引值"-3"表示从"f"这行往上数第3个顶点,就是"v -0.500000 0.000000 -0.800000",其它的索引值以此类推。 因此与这一行等效的正值索引写法为:"f 1 2 3 4"

v -0.500000 0.000000 0.400000

v -0.500000 0.000000 -0.800000

v -0.500000 1.000000 -0.800000

v -0.500000 1.000000 0.400000

f -4 -3 -2 -1

OBJ文件不包含面的颜色定义信息,不过可以引用材质库,材质库信息储存在一个后缀是".mtl"的独立文件中。关键字"mtllib"即材质库的意思。

材质库中包含材质的漫射(diffuse),环境(ambient),光泽(specular)的RGB(红绿蓝)的定义值,以及反射(specularity),折射(refraction),透明度(transparency)等其它特征。

"usemtl"指定了材质之后,以后的面都是使用这一材质,直到遇到下一个"usemtl"来指定新的材质。

C语言为什么要生成.obj文件

obj文件

是链接以前的

编译结果。

1个源程序生成1个

obj文件,1个大程序可以有

若干个

源程序

组成,每个源程序各自产生自己的

obj文件。然后

通过链接,把

obj文件们

文件们

链接成

exe

文件

(或

DLL文件)

.

文件

实际上也是

obj文件。

exe

文件

生成后

obj文件

可以

删掉,节省磁盘空间。

C语言执行过程生成的三种文件和扩展名

用C语言编写的程序成为C语言源程序,源程序文件的扩展名为“.c”。

源程序经编译生成目标文件(".obj")。

把目标文件与各种库函数连接起来,生成可执行文件(“.exe”).

C语言程序可以使用在任意架构的处理器上,只要那种架构的处理器具有对应的C语言编译器和库,然后将C源代码编译、连接成目标二进制文件之后即可运行。

扩展资料:

C语言是面向过程的编程语言,用户只需要关注所被解决问题的本身,而不需要花费过多的精力去了解相关硬件,且针对不同的硬件环境,在用C语言实现相同功能时的代码基本一致,不需或仅需进行少量改动便可完成移植。

这就意味着,对于一台计算机编写的C程序可以在另一台计算机上轻松地运行,从而极大的减少了程序移植的工作强度。

C语言既有高级语言的特点,又具有汇编语言的特点;既是一个成功的系统设计语言,又是一个实用的程序设计语言;既能用来编写不依赖计算机硬件的应用程序,又能用来编写各种系统程序;是一种受欢迎、应用广泛的程序设计语言。

参考资料来源:百度百科-C语言

参考资料来源:百度百科-C程序

C语言源程序文件的后缀是什么,经过编译后生成文件的后缀是什么?经过连接后生成文件的后缀是什么?

C语言源文件后缀名是.c,编译生成的文件后缀名是.obj,连接后可执行文件的后缀名是.exe。

源文件的后缀仅仅是为了表明该文件中保存的是某种语言的代码(例如.c文件中保存的是C语言代码),这样程序员更加容易区分,编译器也更加容易识别,它并不会导致该文件的内部格式发生改变。

扩展资料

C语言是一种结构化语言,它有着清晰的层次,可按照模块的方式对程序进行编写,十分有利于程序的调试,且c语言的处理和表现能力都非常的强大。

依靠非常全面的运算符和多样的数据类型,可以轻易完成各种数据结构的构建,通过指针类型更可对内存直接寻址以及对硬件进行直接操作,因此既能够用于开发系统程序,也可用于开发应用软件。

C语言是普适性最强的一种计算机程序编辑语言,它不仅可以发挥出高级编程语言的功用,还具有汇编语言的优点。

C语言源程序文件名的后缀是.OBJ,经过编译后,生成文件的后缀是什么?经过连接后,生成文件的后缀是什么?

C语言源程序文件名的后缀是.c。C源程序经过C编译程序编译之后生成一个后缀为.OBJ的二进制文件,

然后由称为“连接程序”的软件,把此.OBJ文件与C语言提供的各种库函数连接起来生成一个后缀为.EXE的可执行文件。

由高级语言编写的程序称为“源程序”,把由二进制代码表示的程序称为“目标程序”。为了把源程序转换成机器能接受的目标程序,这时我们需要具有翻译功能的软件--“编译程序”。每种高级语言都有与它对应的编译程序。

扩展资料

1、目标文件的扩展名为“.obj”(Windows)或“.o”(Linux)。目标文件已经是机器指令,但还不能运行,因为目标文件还没有解决函数调用问题。

2、可执行文件的扩展名为“.exe“。