在linux下的c语言

来源:百度知道 编辑:UC知道 时间:2024/05/21 07:46:14
曾浅尝vb而辄止

后自学c几天

因使用linux,无缘尝试vc、Tubor c等编译器

现想请教几个小问题,请高手解答:

1.c语法在linux下与书中所写(几乎所有c的书都是以win为os出的,几乎没有linux的)有没有出入?如果有在哪个部分呢?

2.stdio.h及其他在linux下是否通用?如果不通用,那么改如何更改?

3.gcc可否顺利编译在win下可成功编译的c程序?

4.vc或者其他win编译器,可否编译gcc成功编译的文件呢?如果不可以,那么应该如何更改呢?

4.请推荐个介绍linux下c的书,谢谢!

1. 和系统相关的API都是有区别的。 具体如进线程控制,内存管理,文件系统,通信机制等。 看具体应用。但一般的C语言入门的教程里涉及的内容绝大多数都是一样的。

2. 凡是和系统没有直接相关的头文件都是通用的。

3. gcc有windows移植的版本,可以编译。

4. VC编译器是编译不了linux的系统调用的,只要是和平台有关的程序,两个编译器是不能彼此编译的。

5. 个人认为互联网是最好的书。初学C的话得从基础学起,建议不要太分别平台。具体的书确实没有建议,想系统学的话网上其实很多,ChinaUnix啊什么的这种东西很多。

用 unix 的c

所有的 C 兼容 ANSI C. 扩展部分(非ANSI)都不兼容.(TC,VC 同在windows下也是不兼容的).

stdio.h,stdlib.h,math.h,time.h 等 在linux下功能,名称通用, 文件不通用,(正如 TC,VC 功能,名称通用, 文件不通用). 必须用自己编译器的同名头文件.

不兼容部分都要另外构思另外写--很烦人的.