导航:首页 > 源码编译 > o语言开发编译

o语言开发编译

发布时间:2022-07-25 19:04:18

Ⅰ C语言编译.o时提示undefined reference to `main'怎么办

一般是缺少相应的头文件,新建项目时 选择console application,不要选MFC的那种项目。

主函数应该写成int main(),你写成mian了。

Ⅱ macbook pro如何用oc语言编程

oc指的什么语言啊 objc?还是O‘caml啊 objc直接app store 装xcode就行了 非mac也可以用GNUStep装objc 就是不太好用 个人感觉提交回答

Ⅲ O语言的语法基础

O中间语言的注释与C语言注释文本方式相同,行注释为两个英文右斜杠 // 块注释为 /* */
//这是行注释
/*这是块注释

*/ 目前中间语言共实现了下列格式的指令
变量A = 变量B 赋值指令
变量A += 变量B 加法指令
变量A++ 自加1指令
变量A -= 变量B 减法指令
变量A -- 自减1指令
变量A *= 变量B 乘法指令
变量A /= 变量B 除法指令
变量A %= 变量B 求模指令
变量A &= 变量B 与操作指令
变量A |= 变量B 或操作指令
变量A ^= 变量B异或操作指令
变量A @= 变量B 取地址指令
变量A >>= 变量B 位右移指令
变量A <<= 变量B 位左移指令
变量A~ 求反指令
变量A <=> 变量B 互换指令
其中:
变量A可以是8位、16位和32位数据变量
变量B既可以是8位、16位和32位数据变量,也可以用立即数代替(除互换指令外),比如:
变量A += 0×1234 下面介绍的条件语句中的<条件>可以是:
(变量A == 变量B)
(变量A != 变量B)
(变量A > 变量B)
(变量A < 变量B)
(变量A >= 变量B)
(变量A <= 变量B)
(变量A !> 变量B)
(变量A !< 变量B)
多个条件可以用 或者符号|| 并且符号&& 进行联接,比如:
(((变量A == 变量B) || (变量C > 变量D)) && (变量E <= 变量F))
如果语句如果(<条件>)
{
//语句块
}
类似C/C++的if语句。
如果条件成立就执行语句块,也可以写成:
若(<条件>)
{
//语句块
}
否则如果语句否则如果(<条件>)
{
//语句块
}
类似C/C++的else if语句。
如果条件成立就执行语句块,必须与前一个语句为“如果”语句或“否则如果”语句匹配使用,也可以写成:
又若(<条件>)
{
//语句块
}
否则语句否则
{
//语句块
}
类似C/C++的else语句。
必须与前一个语句为如果语句或否则如果语句匹配使用,也可以写
成:

{
//语句块
}
循环语句循环(<条件>)
{
//语句块
跳出; //break
继续; //continue
}
类似C/C++的while语句。
如果条件成立则执行{}中的代码,再判断条件,满足则继续执行语句块,直到不满足才跳出。循环中可以在任何地方使用“跳出;”来跳出循环(不管是否满足)。也可以使用“继续;”语句直接进入下一次条件判断。
执行…当语句执行
{
//语句块
跳出; //break
继续; //continue
}当(<条件>)
类似C/C++的do…while语句。
与循环语句相似,只是判断条件在语句块之后,也就是说语句块至少会被执行一次。
设语句设(语句1;<条件>;语句3)
{
//语句块
跳出; //break
继续; //continue
}
类似C/C++的for循环。
整数 i,j=0;
设(i=0;i<=100;i++)
{
j++;
}
i和j将循环100次
先执行语句1,再判断条件语句,满足,执行语句3,再执行{}中的语句,再判断(注意不再执行语句1),满足,继续……如此循环,直到不满足语句2为止。 标签 标签A:
跳到 标签A;
跳到语句与C语言的goto语言作用相同,在函数内直接跳转到标签所定义的位置执行。 函数可以有多个返回值,这必须在函数定:
有多个函数值时必须使用括号()
函数 函数名(整数32,整数32)=>(整数32,整数32,结构体名)
{
//函数体
返回(0×1234,变量A,结构A);
}
要接收返回值
如果只有一个返回值可以用
变量A = 函数名(1,2); 或者 函数名(1,2)=>变量A;
如果有多个返回值则必须用下列格式:
函数名(1,2)=>(变量A,变量B);

linux系统中 “.o”文件一般是什么语言写的

.o是目标二进制文件,一般来说就是一堆指令码组成的文件,他本身有已重定位和未重定位之分,一般采用的是elf文件格式(建议可以参考elf文件的说明)。可以通过gcc工具链中的objmp工具(如果是ppc的使用objmpppc.exe -S 目标.o、如果是mips的使用objmpmips.exe 目标.o)

Ⅳ C语言代码怎么编译成.o文件再怎么变成.exe文件

linux下gcc -c wen.c -o wen.o 生成.o文件gcc wen.o -o wen 就变成.exe文件

Ⅵ 请问:c语言编译成功后生成后缀名为.o的文件,什么东东,什么作用。

是编译成功后的文件。
以hello.c为例:
先将源文件编译成目标文件:gcc - c hello.c。生成hello.o文件,再将目标文件编译成可执行文件:gcc -o hello hello.o
这样就生成了可执行文件,在./hello就可以运行hello了。

Ⅶ O语言的介绍

O语言是一款中间计算机语言(或称套装),它具有传统汇编语言的基本特点,也有与它们诸多不同之处。目前窗口设计、界面描述语言、O中间语言已经能很好的整合在一起(1.0.2.2版),基本有VB的事件驱动和窗口设计功能(但还不能创建COM控件,自带控件也很少)。

Ⅷ c++语言编程如何进行编译

这个问题真不好回答。我尝试作答,不采纳没关系,我可能说了半天也没说到重点。
首先要一张将要被编译的文件的文件列表,例如windows平台vc上的项目文件,linux平台的makefile里要写。Mac的xcode. android的.mk文件,都是需要来描述的。然后设置编译参数。包括cpu指令集以及运行平台,调试版本,优化,引用库 等等。接下来开始编译

所谓的编译 实质就是编译之前 列表里的h,c 等格式文件先编译成obj文件(Mac平台mm文件和C++文件是不是都是编译成obj不清楚)。放在一边,然后根据配置,如果是应用程序(apk,app,exe)那么 执行链接。 否则 就是简单的放到一起 生成一个.lib(windows,mac) .so .a(linux,android)。
编译时先执行 比 预编译还要早的预编译宏。具体是什么 查下 我不记得了。然后执行预编译。然后执行编译 声明 以及 实现。将实现编译进obj,符号表 编译到 pdb(windows) android那边是什么格式忘记了,因为我没链接过。这个符号表 应该 仅仅是为了调试而用,当代码因为异常而崩溃时,可以调用 查找 符号表,得到 代码 崩溃所在行。windows可以生成dmp文件。linux,android可以生成coremp文件。
我的理解就是那么多了,希望对你有所帮助。

Ⅸ O语言的简述

O语言是一款中文计算机语言(或称套装),各部分开发状态:
O汇编语言(简称OASM,√)
O中间语言(简称OML,√)
O高级语言(简称OXX,×)
界面描述语言(简称OFL,√)
窗口设计(√)
目前窗口设计、界面描述语言、O中间语言已经能很好的整合在一起(1.0.2.2版),基本有VB的事件驱动和窗口设计功能(但还不能创建COM控件,自带控件也很少)。 顾名思义O汇编语言也是一门汇编语言,它具有传统汇编语言的基本特点,也有与它们诸多不同之处。O汇编语言一个最大显着的特点是支持语言配置,使得它可以支持所有你想支持的语言,当然,O汇编语言的初衷是为了支持中文,所以它可以非常好的支持中文汇编。如果你已经习惯了其它英文的汇编模式,比如你喜欢用EAX、EBP类似这样的方式来命名寄存器,不要紧,只需要修改一下语言配置文件,这可以轻松做到。O汇编语言另一个显着的特点是指令使用非常直观和人性化,在不缺失汇编语言灵活性的情况下,使汇编语句的语意可以很直观地表现出来,这主要得益于用了一些象征性的符号,使得汇编语句不再是千篇一律的(指令 寄存器,内存操作数) 这样的格式,而是更像 (寄存器 操作符 内存操作数)这样的格式,不但容易理解,而且便于记忆,使汇编语言不再那么枯燥,使人一团雾水。
当然,在这里我还是着重介绍怎么用中文来编写程序,汇编语言通常是分段的,O汇编语言也是如此,下面是O汇编语言的基本格式:
.位模式 32 ∥指明是16位、32位还是64位的代码
文本编写方式 符号编写方式
∥这里包含一些头文件和库的引用
.包含文< 文件名 > 《 》
.引用库< 库文件 > 〈 〉
∥数据段
.数据段 ︻
{
} ︼
∥只读段
.只读段 ﹃
{
} ﹄
∥外部引用段
.引用段 ︽
{
} ︾
∥代码段开始
.代码段 ︷
{
∥开始函数定义
∏主函数()
{
∥这里添加代码
}
} ∥代码段结束 ︸
首先介绍注释方式,O汇编语言使用行注释与块注释方式,并分别支持两种符号编写方式。第一种支持C语言模式的注释方式,即:以”//”双左斜杠为行注释符,以”/* */”作为块注释符。第二种方式是以‘∥’这个符号作为行注释的开始,以”“ ””这两个符号作为块注释符。在一行中只要遇到行注释符,这行内以这个符号之后的文字都被忽略,在两个注释块符号之间的所有文字也都被忽略。
// 这行内这之后的文字被忽略
/*
这些文字被忽略
*/
∥ 这行内这之后的文字被忽略

这些文字被忽略
” O中间语言可以说是汇编语言的抽象,它和汇编语言一样,使用单句的语法,除了基本的条件句和函数调用外,基本的一条指令对应一条语句,因此,它比C语言在语法上更低级一些。这样设计的目的是为了保持底层足够大的灵活性,使前端代码比较容易地映射到中间语言。C语言毋庸置疑是很强大,Pascal语言也非常强大,但是你很难将两者代码进行相互转换,如果使用中间语言作为中间层,就能够兼容两者的语法。
O中间语言使用了挂载技术,使前端代码的解析与后端代码生成操作进行了分离,使用这一技术只须扩展相应的前端语法就能支持多种语法。所有挂载的接口都封装在OMount.dll的动态链接库中。
与O汇编语言相比之下的特色:
1.去除了汇编中段的概念(方便调用API,仍保留“引用段”)。
2.增加了控制台和动态链接库的创建。
3.增加数组支持。
4.增加for语句,格式:设(;;;){}
5.增加do...while语句,格式:执行{}当()
6.增进循环语句。
7.增加字符变量。
8.去除了汇编语言中的寄存器概念。
9.增进了语法,“如果”也可以写成“若”等。
10.支持英文语句,如“函数”可写为function,如果写为if,否则写为else,.包含文写为.include等等。
11.可以直接支持masm32的宏定义。
12.可以直接使用O汇编的函数,须在引用段进行调用,调用方式为API的调用方式。
13.增加了指针支持。

阅读全文

与o语言开发编译相关的资料

热点内容
一年程序员面试 浏览:174
多个jpg合成pdf 浏览:929
pdf转word是图片 浏览:939
程序员看不懂怎么办 浏览:271
linux操作系统题 浏览:765
单片机无符号数加法 浏览:227
应用隐藏加密怎么关闭 浏览:269
汽车空调的压缩机电线有什么用 浏览:429
电脑加密图片如何取消加密 浏览:340
慧净电子51单片机视频 浏览:343
javamap赋值 浏览:165
什么app可以玩掌机游戏 浏览:46
java简单聊天室 浏览:462
通用汽车编程软件 浏览:432
一级抗震框架梁箍筋加密区规定是多少 浏览:974
教你如何把安卓手机变成苹果 浏览:11
app编译分类 浏览:323
怎么用服务器的资源包 浏览:199
oa软件手机登陆服务器地址 浏览:289
androidrtp打包 浏览:723