求解windows与linuxC语言的分别

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
Ctolinux
帖子: 4
注册时间: 2008-11-04 22:48

求解windows与linuxC语言的分别

#1

帖子 Ctolinux » 2008-11-04 22:55

同是C语言,在windows标准案例
#inclucle<stdio.h>
void main()
{
printf("this is a C program.\n");
}
在linux下GCC编译不出来。。。为啥。。。
头像
syrano
帖子: 4313
注册时间: 2007-10-06 18:40

Re: 求解windows与linuxC语言的分别

#2

帖子 syrano » 2008-11-04 22:58

#inclucle<stdio.h>
int main()
{
printf("this is a C program.\n");
return 0
}

M$用的不是标准C。
E=m c^2
Ctolinux
帖子: 4
注册时间: 2008-11-04 22:48

Re: 求解windows与linuxC语言的分别

#3

帖子 Ctolinux » 2008-11-04 23:03

:em20 还有标准还不标准之分。。。那那个才是标准阿,应该学那个?
头像
guiwen1158
帖子: 1078
注册时间: 2008-05-11 11:10
来自: 深圳
联系:

Re: 求解windows与linuxC语言的分别

#4

帖子 guiwen1158 » 2008-11-04 23:05

Ctolinux 写了::em20 还有标准还不标准之分。。。那那个才是标准阿,应该学那个?
标准应该是说的ANSI标准。。。
头像
guiwen1158
帖子: 1078
注册时间: 2008-05-11 11:10
来自: 深圳
联系:

Re: 求解windows与linuxC语言的分别

#5

帖子 guiwen1158 » 2008-11-04 23:06

syrano 写了:#inclucle<stdio.h>
int main()
{
printf("this is a C program.\n");
return 0
}

M$用的不是标准C。
:em11
Ctolinux
帖子: 4
注册时间: 2008-11-04 22:48

Re: 求解windows与linuxC语言的分别

#6

帖子 Ctolinux » 2008-11-04 23:09

:em20 ,差别应该不会很大把。如果我学了其中一种,想编另一种应该很容易上手把?
头像
woohaha
帖子: 133
注册时间: 2007-07-17 22:09
来自: 广东

Re: 求解windows与linuxC语言的分别

#7

帖子 woohaha » 2008-11-04 23:10

main()函数不能是空返回值。

懒打字的不写返回类型也行。
Ctolinux
帖子: 4
注册时间: 2008-11-04 22:48

Re: 求解windows与linuxC语言的分别

#8

帖子 Ctolinux » 2008-11-04 23:16

好晕,复制那个人和自己写的都错误2.c:3: 错误: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
上面那个的说什么游离什么的,怎么我本C程序设计里面的东西就全不能编译阿。。。
头像
自由建客
帖子: 13468
注册时间: 2008-07-30 23:21
系统: Debian stable AMD64

Re: 求解windows与linuxC语言的分别

#9

帖子 自由建客 » 2008-11-04 23:19

#inclucle 应该是楼主笔误吧! #include
改正这点后不可能编译不出,警告是肯定的,主函数没返回 int 。
头像
guiwen1158
帖子: 1078
注册时间: 2008-05-11 11:10
来自: 深圳
联系:

Re: 求解windows与linuxC语言的分别

#10

帖子 guiwen1158 » 2008-11-04 23:22

woohaha 写了:main()函数不能是空返回值。

懒打字的不写返回类型也行。
这个也可以通过,但最好还是加上。
虽然我也经常不写。 :em03
emacs0921
帖子: 57
注册时间: 2008-09-13 23:53

Re: 求解windows与linuxC语言的分别

#11

帖子 emacs0921 » 2008-11-04 23:24

9楼正解。

楼主编译不过去是因为#inclucle拼写错误。

我自己实验了一下,把#inclucle改成#include就能编译通过了,当然,有条警告,但可以正常运行。
头像
pentie
帖子: 228
注册时间: 2007-08-27 22:03
来自: http://apt-blog.co.cc/

Re: 求解windows与linuxC语言的分别

#12

帖子 pentie » 2008-11-04 23:32

这些简单的c语言。。只要没用到系统调用,就没有操作系统的分别。

C语言认真看书,多实践,多思考就好。。。。不过最好别看谭浩强的,容易误导。
ti8er
帖子: 497
注册时间: 2006-10-18 8:48

Re: 求解windows与linuxC语言的分别

#13

帖子 ti8er » 2008-11-05 11:46

一定要看The C Programming Language

写得真是太棒了!我看了相当激动! :em11
poet
帖子: 2841
注册时间: 2006-09-11 22:47

Re: 求解windows与linuxC语言的分别

#14

帖子 poet » 2008-11-05 12:08

关键不在于windows还是linux,在于你用的什么编译器。

微软根本没有C语言编译器,Visual Studio只能编译C++程序,对于C程序只能把它当作C++程序编译,不能把它当作C程序编译。不要骂微软的C不标准,微软根本就没有说过自己支持C语言。人家只支持C++。

在windows用C一般也是用的GCC,而GCC哪都一样。


另外,纠正楼上某几楼人的一个问题:标准ANSI C和C++都有定义,main()函数是可以没有return语句的,缺省将返回0。其它有返回值的函数没有return不行,main函数可以没有 return。
回复