搜索
查看: 2938|回复: 11
打印 上一主题 下一主题

一些有关编译器的问题

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-21 13:19:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
8啊哈币
1.是否支持C++?#include <iostream>报错了!
2.为何不支持C99?
3.很多书都说以下代码不对,不能用变量定义数组
[code=Cpp width=740px]int a=2,b=2;
int c[a];[/code]
但啊哈C编译通过了,且运行正常,这是怎么回事?

最佳答案

查看完整内容

首先要知道,啊哈C的后台(实际工作的)是mingw,mingw是gcc(GNU C编译器)在windows下面的移植版 然后 1. 不支持,GNU的c++编译器叫g++ 2.图形界面上默认不支持C99,如果你用后台mingw,开-std=c99就可以了 作为一个面向新人的学习环境,啊哈C没必要默认支持C99,个人观点 3.对于老的C标准,这确实不合法。但是gcc做出了一些扩展,允许你这么写。换而言之,这是编译器的特性。
来自 2#
发表于 2013-4-21 13:19:49 | 只看该作者
首先要知道,啊哈C的后台(实际工作的)是mingw,mingw是gcc(GNU C编译器)在windows下面的移植版
然后

1. 不支持,GNU的c++编译器叫g++
2.图形界面上默认不支持C99,如果你用后台mingw,开-std=c99就可以了
作为一个面向新人的学习环境,啊哈C没必要默认支持C99,个人观点

3.对于老的C标准,这确实不合法。但是gcc做出了一些扩展,允许你这么写。换而言之,这是编译器的特性。
来自 3#
发表于 2013-4-27 01:45:05 | 只看该作者
osblow 发表于 2013-4-21 22:17
C是没有bool型的吧,否则怎么不能写while(true)呢

C99就有了

#include <stdbool.h>

然后和大多数支持bool的语言一样的习惯
来自 4#
发表于 2013-4-29 17:21:44 | 只看该作者
981013 发表于 2013-4-29 12:18
但我在老版本中发现了iosterm

mingw可以选择安装c++编译器的
5#
 楼主| 发表于 2013-4-21 13:28:06 | 只看该作者
不支持C++的话,出个啊哈C++就好了
6#
 楼主| 发表于 2013-4-21 16:41:58 | 只看该作者
还有
为何函数返回值不能设为bool型
7#
发表于 2013-4-21 22:17:49 | 只看该作者
C是没有bool型的吧,否则怎么不能写while(true)呢
8#
发表于 2013-4-27 01:45:52 | 只看该作者
981013 发表于 2013-4-21 16:41
还有
为何函数返回值不能设为bool型

bool也是C99新特性
9#
 楼主| 发表于 2013-4-29 12:18:43 | 只看该作者
rosynirvana 发表于 2013-4-21 13:19
首先要知道,啊哈C的后台(实际工作的)是mingw,mingw是gcc(GNU C编译器)在windows下面的移植版
然后

但我在老版本中发现了iosterm
10#
 楼主| 发表于 2013-5-1 13:33:24 | 只看该作者
rosynirvana 发表于 2013-4-29 17:21
mingw可以选择安装c++编译器的

现在我想用啊哈C编译C++
行吗?
if行
{怎么操作?
}
else
{推荐个好用的C++编译器(VC++太繁琐)
}
11#
发表于 2013-5-1 17:36:13 | 只看该作者
981013 发表于 2013-5-1 13:33
现在我想用啊哈C编译C++
行吗?
if行

不行,因为没g++

现在主流的C++编译器也就微软的VC++和GCC的g++(还有后起之秀llvm/clang)

我想你说VC++不好用,是在说IDE不好用。其实IDE都非常繁琐(除了啊哈C这种学习专用的),都要有编译器+调试器+代码管理+代码高亮+代码提示…… 这些

如果你还想用IDE,那么其实Win下面最好选择就是Visual Studio 2010 express c++
如果想换用命令行,那么去下个mingw,然后安装的时候选上c++编译器,自己找个专用的文本编辑器(sublime text2 gvim emacs ……)就行
12#
发表于 2013-7-21 12:42:03 | 只看该作者
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表