QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3367|回复: 34

ML下面有没有像TurboC++之类的编译器?

[复制链接]
发表于 2006-8-10 21:12:19 | 显示全部楼层 |阅读模式
如题,最近在学C++
想知道ML下面有没有像TurboC++之类的编译器?
Kdevelop中的C/C++的IDE是不是这样的编译器?
可是我尝试写了个程序
却找不到编译的命令
发表于 2006-8-10 21:46:44 | 显示全部楼层
编译命令是g++
简单的程序g++ -o programname programname.c
回复

使用道具 举报

 楼主| 发表于 2006-8-11 20:36:41 | 显示全部楼层
还不是很明白
是在shell里面输入g++ -o programname programname.c 吗?
是不是我在文本编辑器里面写好了一个脚本然后保存成.c 的扩展名
然后编译呢?
谢谢
回复

使用道具 举报

发表于 2006-8-11 21:01:33 | 显示全部楼层
kdevelop 是开发环境,是编译程序的 "外壳",

GNU C 包括c/c++/.... 很多语言的编译器

c 的是 gcc
c++ 的是 g++

关于命令行参数,,那就太多了...

另外还有 tiny c 编译器
回复

使用道具 举报

发表于 2006-8-11 21:55:48 | 显示全部楼层
[quote:9c2f4fa9c2="genedemon"]还不是很明白
是在shell里面输入g++ -o programname programname.c 吗?
是不是我在文本编辑器里面写好了一个脚本然后保存成.c 的扩展名
然后编译呢?
谢谢[/quote]
比如你写了一个一个C++程序是programname.cpp
cpp是C++源程序的后缀名.用下边的方法编译
g++ -o [要输出的程序名字] programname.cpp

(i.e.) g++ -o programname programname.c
回复

使用道具 举报

发表于 2006-8-12 06:49:56 | 显示全部楼层
c 、d、c++、类delphy、类vb、java 集成开发环境 linux 下都有,magic2 系统里携带了 kdevelop。
回复

使用道具 举报

 楼主| 发表于 2006-8-13 16:01:30 | 显示全部楼层
好像还是有点问题:)
下面是输入的cpp文件,文件名是NONAME00,是我在win下面的Turbo C++3.0写的

[root@MagicLinux2 C++]# g++ -o NONAME00 NONAME00.CPP
In file included from /usr/lib/gcc/i686-magic-linux/3.4.4/../../../../include/c++/3.4.4/backward/iostream.h:31,
                 from NONAME00.CPP:1:
/usr/lib/gcc/i686-magic-linux/3.4.4/../../../../include/c++/3.4.4/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated.
NONAME00.CPP:7: error: `main' must return `int'

不知道为什么说有错,是不是Linux下的语法和win下面的语法要求不同?
源代码是:

#include <iostream.h>
int max(int a,int b);
int max(int a,int b,int c);
int max(int a,int b,int c,int d);

void main()
{
   cout<<max(2,4)<<endl;
   cout<<max(4,5,6)<<endl;
   cout<<max(2,4,5,6)<<endl;
}
int max(int a,int b)
{
    return a>b?a:b;
}
int max(int a,int b,int c)
{
    int t=max(a,b);
    return max(t,c);
}
int max(int a,int b,int c,int d)
{
    int t1=max(a,b);
    int t2=max(t1,c);
    return max(t2,d);
}
在win下面编译是成功的
回复

使用道具 举报

发表于 2006-8-13 18:41:13 | 显示全部楼层
[quote:8aa0ed332b="genedemon"][root@MagicLinux2 C++]# g++ -o NONAME00 NONAME00.CPP
In file included from /usr/lib/gcc/i686-magic-linux/3.4.4/../../../../include/c++/3.4.4/backward/iostream.h:31,
                 from NONAME00.CPP:1:
/usr/lib/gcc/i686-magic-linux/3.4.4/../../../../include/c++/3.4.4/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated.
NONAME00.CPP:7: error: `main' must return `int'[/quote]

注意 warning 和 error 提示的信息
回复

使用道具 举报

发表于 2006-8-13 19:23:43 | 显示全部楼层
LZ ,不要被 TC 惯坏。要编写标准的代码。
回复

使用道具 举报

发表于 2006-8-14 11:10:31 | 显示全部楼层
如果是喜欢类TC的,可以考虑rhide。
回复

使用道具 举报

 楼主| 发表于 2006-8-14 20:03:52 | 显示全部楼层
Linux下C++的语法和win下有区别
但是好像很多书都是只讲linux下的C
对于C++很少涉及
回复

使用道具 举报

发表于 2006-8-14 21:22:34 | 显示全部楼层
[quote:ba33ba1eec="genedemon"]Linux下C++的语法和win下有区别
但是好像很多书都是只讲linux下的C
对于C++很少涉及[/quote]

不对,在 C++ 的定义中,每个函数除了 void func 都应该有一个返回。而没有特别声明,这个返回值应该是 int

没用过 tc++,如果它这样是可以编译通过的话,那么这只是它的问题了。

还有 warning 提示你用过 标准 c++ 的库,include <iostream> && using namespace std;

这些都是 c++ 的标准,与 linux 无关。

好像一直经典的书都会提到,当然不包括国内的那些垃圾 ...
回复

使用道具 举报

发表于 2006-8-14 21:58:40 | 显示全部楼层
TC 可以关闭很多的 error ,比如函数没有返回值,Header 文件不用引用即可使用……
回复

使用道具 举报

 楼主| 发表于 2006-8-14 22:00:50 | 显示全部楼层
汗哦
偶用的教材都是以TC作为检验平台的……
回复

使用道具 举报

发表于 2006-8-15 02:05:47 | 显示全部楼层
微软很多东西都是严重违背标准的,甚至是垃圾。微软这么做只是为了开发人员能够提高速度,这样做容错性好了,却培养了编程人员极坏的编程习惯,而且引入了安全隐患,也为软件的跨平台移植设置了巨大的障碍。希望你看些经典的技术著作,而不是微软的教材。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-24 13:26 , Processed in 0.058886 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表