ML下面有没有像TurboC++之类的编译器?
如题,最近在学C++想知道ML下面有没有像TurboC++之类的编译器?
Kdevelop中的C/C++的IDE是不是这样的编译器?
可是我尝试写了个程序
却找不到编译的命令
:roll: 编译命令是g++
简单的程序g++ -o programname programname.c 还不是很明白
是在shell里面输入g++ -o programname programname.c 吗?
是不是我在文本编辑器里面写好了一个脚本然后保存成.c 的扩展名
然后编译呢?
谢谢 kdevelop 是开发环境,是编译程序的 "外壳",
GNU C 包括c/c++/.... 很多语言的编译器
c 的是 gcc
c++ 的是 g++
关于命令行参数,,那就太多了...
另外还有 tiny c 编译器 还不是很明白
是在shell里面输入g++ -o programname programname.c 吗?
是不是我在文本编辑器里面写好了一个脚本然后保存成.c 的扩展名
然后编译呢?
谢谢
比如你写了一个一个C++程序是programname.cpp
cpp是C++源程序的后缀名.用下边的方法编译
g++ -o [要输出的程序名字] programname.cpp
(i.e.) g++ -o programname programname.c c 、d、c++、类delphy、类vb、java 集成开发环境 linux 下都有,magic2 系统里携带了 kdevelop。 好像还是有点问题:)
下面是输入的cpp文件,文件名是NONAME00,是我在win下面的Turbo C++3.0写的
# 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下面编译是成功的 # 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'
注意 warning 和 error 提示的信息 LZ ,不要被 TC 惯坏。要编写标准的代码。 :twisted: 如果是喜欢类TC的,可以考虑rhide。 Linux下C++的语法和win下有区别
但是好像很多书都是只讲linux下的C
对于C++很少涉及 Linux下C++的语法和win下有区别
但是好像很多书都是只讲linux下的C
对于C++很少涉及
不对,在 C++ 的定义中,每个函数除了 void func 都应该有一个返回。而没有特别声明,这个返回值应该是 int
没用过 tc++,如果它这样是可以编译通过的话,那么这只是它的问题了。
还有 warning 提示你用过 标准 c++ 的库,include <iostream> && using namespace std;
这些都是 c++ 的标准,与 linux 无关。
好像一直经典的书都会提到,当然不包括国内的那些垃圾 ... TC 可以关闭很多的 error ,比如函数没有返回值,Header 文件不用引用即可使用…… 汗哦
偶用的教材都是以TC作为检验平台的…… 微软很多东西都是严重违背标准的,甚至是垃圾。微软这么做只是为了开发人员能够提高速度,这样做容错性好了,却培养了编程人员极坏的编程习惯,而且引入了安全隐患,也为软件的跨平台移植设置了巨大的障碍。希望你看些经典的技术著作,而不是微软的教材。