QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: genedemon

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

[复制链接]
 楼主| 发表于 2006-8-15 10:37:16 | 显示全部楼层
经典的著作?
是不是指的英文翻译过来的书
而不是国内的教材??
回复

使用道具 举报

发表于 2006-8-15 12:00:10 | 显示全部楼层
[quote:3f328e618d="KDE"]微软很多东西都是严重违背标准的,甚至是垃圾。微软这么做只是为了开发人员能够提高速度,这样做容错性好了,却培养了编程人员极坏的编程习惯,而且引入了安全隐患,也为软件的跨平台移植设置了巨大的障碍。希望你看些经典的技术著作,而不是微软的教材。[/quote]
老大弄错了,tc是borland的产品,不过这不能怪borland,这个产品出现的时候c/c++标准还没出现呢。
回复

使用道具 举报

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

微软在软件设计与管理方面是很优秀的。只是市场策略方面会让人觉得不爽。


[quote:7567cfc13d="genedemon"]经典的著作?
是不是指的英文翻译过来的书
而不是国内的教材??[/quote]

不能这样说,记得国内有的教材也不错的,比如谭浩强老师的,用过他写的 c 教材,觉得还可以。c++ 的没用过,应该不会有太大的问题。

英文翻译过来的不一定就好,要看译者吧,专业技术的书籍不是人人都能翻译的。当然最好还是看一下英文原版著作了 ;-)

还有台湾有不少好书,
回复

使用道具 举报

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

微软在软件设计与管理方面是很优秀的。只是市场策略方面会让人觉得不爽。


[quote:8f5d68b8d8="genedemon"]经典的著作?
是不是指的英文翻译过来的书
而不是国内的教材??[/quote]

不能这样说,记得国内有的教材也不错的,比如谭浩强老师的,用过他写的 c 教材,觉得还可以。c++ 的没用过,应该不会有太大的问题。

英文翻译过来的不一定就好,要看译者吧,专业技术的书籍不是人人都能翻译的。当然最好还是看一下英文原版著作了 ;-)

还有台湾有不少好书,[/quote]
微软在软件产品设计上过分强调容错能力,导致大量非标准代码横行,已经是罪孽深重。但是从市场运作的角度讲微软是最值得世人学习的。不能因为人家成功就憎恶人家,反而应该虚心学习人家,只有这样,我们的 IT 产业(特别是专有软件产业)才有希望。
回复

使用道具 举报

发表于 2006-8-15 22:09:14 | 显示全部楼层
[quote:6190d60e8b="genedemon"]好像还是有点问题:)
下面是输入的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下面编译是成功的[/quote]

可能是你在win下的编译器并不是严格遵守标准cpp语法,而gnu c是完全支持的,记得我原来也犯了你一样的错误,本来已经在vc++ 6.0中编好的程序,再用gcc作编译器的dev c++中怎么也通不过,后来发现就是你这个问题,main函数需要返回值。
这个也不能怪lz,现在很多书籍包括我当时的大学教科书上,这种程序例子是比比皆是,感慨一下中国的教育...
回复

使用道具 举报

发表于 2006-8-16 00:00:04 | 显示全部楼层
main不能设为void
要设为int  

这个是C++的标准
国内的一些C教材都喜欢用void main,误人子弟阿
回复

使用道具 举报

发表于 2006-8-16 00:04:44 | 显示全部楼层
//#include<iostream.h> 注意,虽然仍旧支持这种格式的头文件,但推荐使用<iostream>原因是,不同编译器头文件的后缀会不一样。
#include <iostream>

using namespace std;//现在大部分C++编译器都支持namespace的

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()    根据C++标准,main必须为int.
int main()   
{

cout<<max(2,4)<<endl;
cout<<max(4,5,6)<<endl;
cout<<max(2,4,5,6)<<endl;

return 0;
}

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);
}


这样就可以了
回复

使用道具 举报

 楼主| 发表于 2006-8-16 19:51:17 | 显示全部楼层
谢谢
那各位老大都用的什么教材?
推荐几本行吗?
偶不是计算机专业的,不太懂
回复

使用道具 举报

发表于 2006-8-16 22:40:48 | 显示全部楼层
我也很菜的。开学刚大二。呵呵

C我看的是 《The C Programming Language》 作者K&R。中文名字是
《C程序设计》好像现在有第二版了。机械工业出版社有的。觉得不错

C++现在暑假在自学,看完了《Accelerated C++》中国电力出版社的。中文版翻译的一般,最好对照着原版看。

现在在看《C++ Primer》看的是第三版。第四版已经出来了。你可以去看看。也很不错的书


Linux程序设计方面我只翻过一点《Linux程序设计(第二版)》机械工业出版社的封面是两个人在握手。

对了阿,LZ如果在校的话到学校图书馆看看吧,我上面那些书有好些是借的。买太贵了。
还有网上有电子版的可以看看。就这些拉。
回复

使用道具 举报

发表于 2006-8-16 22:46:11 | 显示全部楼层
也许是因为TC是C 和 C++的混合编译环境,有些东西是在兼容C
回复

使用道具 举报

发表于 2006-8-17 14:19:20 | 显示全部楼层
[quote:a8b883fc34="lanzinc"]也许是因为TC是C 和 C++的混合编译环境,有些东西是在兼容C[/quote]

应该不是这个原因,include <iostream.h> 是 C 的写法,而 include <iostream> 是 C++ 的做法。正好楼上所说的,在不同的系统中 C++ 的文件是安以不同的后缀的,以识别其作用,所以在制定 C++ 标准的时候就把标准库的头文件的后缀去掉了,以适应各种平台。

还是如果是使用 <iostream> 的,同时也要使用一个叫 namespace 的概念。记得这也是在 C 中是没有的。

虽然 C++ 兼容 C,但是大师们都建议不要在同一个程序中混用 C & C++ 的语法.
回复

使用道具 举报

 楼主| 发表于 2006-8-17 21:32:45 | 显示全部楼层

谢谢各位老大的指点
现在明白一些了
决定去看《C++ primer》,虽然很难借到
而且以后只用g++编译程序
回复

使用道具 举报

发表于 2006-8-18 09:01:37 | 显示全部楼层
c++ primer,网上应该很容易找吧。
其实如果用vc的话,也可以使用强制的iso C++标准检查的。
回复

使用道具 举报

发表于 2006-8-18 17:01:57 | 显示全部楼层
[quote:7364fd8da2="genedemon"]嗯
谢谢各位老大的指点
现在明白一些了
决定去看《C++ primer》,虽然很难借到
而且以后只用g++编译程序[/quote]

哈哈,那你怎么编译使用 MFC 的库啊  
回复

使用道具 举报

 楼主| 发表于 2006-8-18 22:28:04 | 显示全部楼层
嘻嘻:)
不知道ML下有没perl、python的编译器?
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-11-24 13:27 , Processed in 0.114025 second(s), 12 queries .

© 2021 Powered by Discuz! X3.5.

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