LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: 52violin

我的gcc不可以编译c++?

[复制链接]
发表于 2005-5-31 09:24:05 | 显示全部楼层
Post by 52violin
也就是说c++不可以直接移植到linux上?一个可以在VC,TC可以编译通过的程序在linux中不可以直接通过?

看来楼主根本没有领会几个回帖的含义!
你照抄以下的代码:

  1. #include <iostream>
  2. int main()
  3. {
  4.      std::cout<<"hello world!"<<std::endl;
  5.      return 0; //按ISO可省略,但VC 6非要这么一句才行
  6. }
复制代码

存为hello.cpp
然后用g++ -o hello hello.cpp 编译,再看看,是不是一切OK?
当然,如果你没装g++,那就巧妇也难为无米之炊了;就比如你没装VC,你能用VC编译吗?

你不能把你那段代码抄来用g++编译,那是因为那段代码不合标准!
和符合ISO标准方面,g++比VC强N倍。
总之,C++源代码是可移植的。(如果用到一些平台相关的library,那是另外的话题,和语言本身没关系)
你要想做到portable,就按标准写代码。你把本帖的代码帖到VC 6里试试,然后再想想什么叫portable.
回复 支持 反对

使用道具 举报

发表于 2005-5-31 21:29:46 | 显示全部楼层
若若的问一下:编译得到一个hello文件,怎么执行???弄半天了
回复 支持 反对

使用道具 举报

发表于 2005-5-31 21:37:47 | 显示全部楼层
如果hello文件处在你当前的目录下,那么敲入./hello执行该文件,如果不是则敲入绝对路径路径或者相对路径
回复 支持 反对

使用道具 举报

发表于 2005-5-31 23:19:55 | 显示全部楼层
问一下g++中编译c++也可以加上-g参数,然后用gdb调试吗?
回复 支持 反对

使用道具 举报

发表于 2005-5-31 23:33:44 | 显示全部楼层
Post by caicheng
问一下g++中编译c++也可以加上-g参数,然后用gdb调试吗?

of course
看manpage或自己试一下就知道了
回复 支持 反对

使用道具 举报

发表于 2005-6-1 01:39:47 | 显示全部楼层
同时记得把
#include <iostream>
改为
#include <iostream.h>
回复 支持 反对

使用道具 举报

发表于 2005-6-1 08:06:59 | 显示全部楼层
Post by BabyLinux
同时记得把
#include <iostream>
改为
#include <iostream.h>

不要误导人,<iostream.h>是不符合标准的。
回复 支持 反对

使用道具 举报

发表于 2005-6-1 09:37:40 | 显示全部楼层
谢谢黄家驹啦,我终于会跑helloworld了,感动中……

另外,我后来弄了个eclipse,感觉编写代码还挺方便的,而且不用自己去写makefile,想知道能不能用eclipse结合什么linux下面的图形库进行图形界面开发呢?
回复 支持 反对

使用道具 举报

发表于 2005-6-1 10:26:49 | 显示全部楼层
Post by BabyLinux
同时记得把
#include <iostream>
改为
#include <iostream.h>


#include <iostream>  <===这个才是C++标准!!
回复 支持 反对

使用道具 举报

发表于 2005-6-1 16:13:08 | 显示全部楼层
#include <iostream.h>;
等价于如下:
#include <iostream>
using namespace std;
不过后者才是c++标准提倡的,前者不过是为了兼容旧的c而已。
回复 支持 反对

使用道具 举报

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

本版积分规则

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