linux下的C语言编程和window下的有什么不同?

作者&投稿:守养 (若有异议请与网页底部的电邮联系)
Linux下的C语言编程和window下的有何不同~

没有区别,C语言是有标准的,叫做C语言的必须符合国际标准。区别在于Windows通过头文件windows.h提供的Windows API函数,而Linux则提供了它自己的函数。

基本的C库函数,如stdio.h,string.h等也是标准化的,所有C编译器都必须提供这些函数,典型的如printf, strcpy等。

问题是在于,如果你要调用系统功能,比如在Windows下,则必须通过Windows API来实现,因此,这部分代码就不会和Linux下兼容。

函数库的区别linux下的C函数库和windows下的函数库系统调用的机制不一样
Glibc包含了主要的C库。这个库提供了基本例程,用于分配内存、搜索目录、打开关闭文件、读写文件、字串处理、模式匹配、数学计算等等。所说的机制不一样不单是指中断号的问题,中断号也是通过input参数和output把函数地址和输出地址定位在寄存器的,那些函数在windows和linux下的实现应该是不一样的,就拿文件系统来说,ext3和fat32的怎么可能一样.还有mm内存管理,都是不一样的.中断还是属于硬件层的,X86上的应该都差不多,但操作系统层的实现就大不相同了.
其他区别:
1。系统平台不一样
底层开发就涉及到了系统内核的问题,对于linux来说,你可以知道它里面是什么结构,而windows。。。

2。编译器环境不一样
linux采用gcc编译器,gdb调试工具,和多种可视化的编辑器如 emacs,kedit等等,也有文本的vi/vim,GDB的功能是非常强大的,个人认为较win下的好
尽管win下地mingw,devcpp集成了gcc,但是搞的总让人不爽~,gcc对标准的支持是相当的好

3。针对人群不一样
win下主要还是面向商业化的开发,而绝大多数的编程爱好者则喜欢属于自己开阔自由的系统下编程,不愿意禁锢在windows下(MS)的包围中
4。发展方向不一样。
OpenSource的思想已经在linux这片净土开花,参见GPL....。找资料方便,源代码公开,可以体验开发的乐趣
win下,ms逐步把一批开发人员束缚在它自己的系统里面,开发环境越来越傻瓜,这能不能叫人性化呢?搞到最后。。。可能越走越远~
5。版权问题
win下的好多好多东西都涉及到版权问题,linux的free软件虽然是开放软件,不过好多好多都是免费用于商业化的。。。当然有的需要开发源代码,好多也不需要~

C++的区别也差不多

各种不同的编译器对C/C++标准标准支持程度不一样。我们发现Linux上的g++,gcc对标准支持要比VC好。象上面一个回答:

例如win: for(int i=0;i<10;i++)
linux:int i;
for(i=0;i<10;i++)

是不正确的,显然第一个是符合新C++标准的,其实VC6.0的支持要查得多
for(int i = 0; i < 10; ++i)
{
}
i = 10;
这样的语句在VC6中是正确的,但不符合C++标准,因为其中的i作用域只是在for循环内,下面一句的i就没有定义了。即:在新标准中上面的例子是错误的,但VC6中却是正确的。
关于linux的例子,不知道用的gcc, g++是什么年代的版本?
一般说来符合标准的c/c++程序在win和linux上一般都能编译成功,并得到正确结果。

可以说基本上没什么大的不同,只要你写的是纯c代码应该没什么问题,我就将很大的一个windows下的c c++程序改成linux能运行的,没什么不同
简单举个例子
例如win: for(int i=0;i<10;i++)
linux:int i;
for(i=0;i<10;i++)

都是一些很小的差别,基本上没问题,你在windows下些好的程序拿到linux运行一下它会提示一些警告,警告都有具体的行号,你看提示小改一下就行。

语言本身差别不大。主要主要是和系统交互的时候不同。一个是Linux的POSIX接口,一个是Windows的Win32
API。
Linux下的接口因为源自UNIX,有很多API明显是C库的风格,风格比较老旧。但是Win32
API风格更现代、更高级一些。比如Linux下fork/exec、Windows下CreateProcess。而且Windows的API提供很多图形界面的相关功能,比如支持窗口间操作。Linux下需要单独的GUI库比如GTK+等等。

windows下用g++编译器带的库一般就不会有什么问题


linux终端下如何进行C语言编译
1、首先在linux下判断是否安装gcc编译器,直接执行:gcc -v,判断是否安装gcc。2、然后需要在代码框内写一个简单的C源程序。3、在程序中使用了C语言中的数学开方函数,sqrt(),所以需要引入math.h头文件。4、写完源程序之后,我们对其进行编译,如果使用通常的编译语句,【gcc math.c -o math】进行...

C语言 linux下删除最后一个字符
例如:include <stdio.h> include <curses.h> int main(void){ initscr();\/*初始化curses*\/ printw("abcde");\/*输出*\/ refresh();move(0,2);\/*移动光标位置*\/ insch('C');\/*在光标当前位置插入字符*\/ refresh();endwin();\/*结束curses编程*\/ return 0;} ( gcc a.c -lcurses )...

linux下如何用c语言调用shell命令
返回值:若成功则返回文件指针,否则返回NULL,错误原因存于errno中。 注意:在编写具SUID\/SGID权限的程序时请尽量避免使用popen(),popen()会继承环境变量,通过环境变量可能会造成系统安全的问题。 例:C程序popentest.c内容如下: #include<stdio.h> main() { FILE * fp; charbuffer[80]; fp=po...

linux下的c语言编程和windows下的c语言编程有什么区别
语言本身差别不大。主要主要是和系统交互的时候不同。一个是Linux的POSIX接口,一个是Windows的 Win32 API。Linux下的接口因为源自UNIX,有很多API明显是C库的风格,风格比较老旧。但是Win32 API风格更现代、更高级一些。比如Linux下fork\/exec、Windows下 CreateProcess 。而且Windows的API提供很多 图形界面...

linux是用什么语言编写的
Linux操作系统是用C语言、汇编语言编写的。Linux,全称GNU\/LINUX,是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。伴随着互联网的发展,Linux得到了来自全世界软件爱好者、组织、公司的支持。它除了在服务器方面保持着强劲的发展势头以外,在...

linux系统能够编写c语言吗
可以打开一个终端,键入gcc --version。 如果可以看到gcc的版本号,则说明可以编译。否则需要手动安装。要编译C语言程序,一般的命令为:gcc <C_FILES> -o <TARGETFILE> <OPTIONS> -I<INCLUE_PATH> C_FILES: 需要编译的源文件列表,如果有多个,用空格分隔。TARGETFILE:要生成的目标文件。OPTIONS:...

linux环境下的C语言编程和WINDOS下的有什么不同
对系统有依赖的函数的调用方式不同。对系统修改的自由度不同。(linux中更自由)编程环境的易用性不同。(windows中的IDE更易用)对程序员功底的要求不同。(linux要求更高)仅就C语言编程而言,如果遵循ANSI C标准,那么二者在代码编写上没有区别。如果说到“赚钱”,当然是WINDOWS中更好,因为LINUX是开源...

linux 怎么编译c的源程序的?gcc,编译命令是什么?
编译方法:格式 gcc [option] [sourcefilename]常用的选项最简单的是:gcc hello.c默认的情况下将生成a.out的可执行性文件,只需要在终端上输入.\/a.out就可以看到执行的结果,如果你想指定生成目标文件的名字那么你可以加上 -o选项,命令如下:gcc -o hello hello.c 命令:gcc -c hello hello.c ...

linux下的c语言编程和windows下的c语言编程有什么区别
函数库的区别linux下的C函数库和windows下的函数库系统调用的机制不一样 Glibc包含了主要的C库。这个库提供了基本例程,用于分配内存、搜索目录、打开关闭文件、读写文件、字串处理、模式匹配、数学计算等等。所说的机制不一样不单是指中断号的问题,中断号也是通过input参数和output把函数地址和输出地址定位...

linux下的c\/c++开发
我就是做LINUX下的C开发的。准确的说,LINUX下C才是主要的开发语言,但是写应用程序还是要用面向对象的,尤其是图形界面的,不如QT和X和GTK等等。下面说的必须要求你C语言学的很好而且会使用LINUX的情况下。LINUX常用命令要熟悉。要学LINUX下的C编程,先看一两本LINUX下C的书比较好,这个你自己选择,...

潼关县18556499846: linux环境下的C语言编程和WINDOS下的有什么不同 -
危奋结核: 对系统有依赖的函数的调用方式不同.对系统修改的自由度不同.(linux中更自由) 编程环境的易用性不同.(windows中的IDE更易用) 对程序员功底的要求不同.(linux要求更高) 仅就C语言编程而言,如果遵循ANSI C标准,那么二者在代码编写上没有区别.如果说到“赚钱”,当然是WINDOWS中更好,因为LINUX是开源的,崇尚自由传播,所以LINUX中的"商业软件"极少,大多数可以免费获得.

潼关县18556499846: linux下的c语言编程和windows下的c语言编程有什么区别 -
危奋结核: 函数库的区别linux下的C函数库和windows下的函数库系统调用的机制不一样 Glibc包含了主要的C库.这个库提供了基本例程,用于分配内存、搜索目录、打开关闭文件、读写文件、字串处理、模式匹配、数学计算等等.所说的机制不一样不单...

潼关县18556499846: linux下的c语言编程和windows下的c语言编程有什么区别 -
危奋结核: 语言本身差别不大.主要主要是和系统交互的时候不同.一个是Linux的POSIX接口,一个是Windows的Win32API.Linux下的接口因为源自UNIX,有很多API明显是C库的风格,风格比较老旧.但是Win32API风格更现代、更高级一些.比如Linux下fork/exec、Windows下CreateProcess.而且Windows的API提供很多图形界面的相关功能,比如支持窗口间操作.Linux下需要单独的GUI库比如GTK+等等.

潼关县18556499846: Linux下的C语言编程和window下的有何不同 -
危奋结核: 没有区别,C语言是有标准的,叫做C语言的必须符合国际标准.区别在于Windows通过头文件windows.h提供的Windows API函数,而Linux则提供了它自己的函数.基本的C库函数,如stdio.h,string.h等也是标准化的,所有C编译器都必须提供这些函数,典型的如printf, strcpy等.问题是在于,如果你要调用系统功能,比如在Windows下,则必须通过Windows API来实现,因此,这部分代码就不会和Linux下兼容.

潼关县18556499846: Linux下的C编程和Windows下有什么区别?越详细越好,谢谢...... -
危奋结核: Linux 简单的说跟 Windows 一样是一种操作系统,只是两者之间的使用方法和习惯有所区别.具体的区别其实很大,不过已经不是能在这里说清楚的事情了. 对于 C 编程来说,他们最大的区别就是提供给你的系统相关的特性不一样.这个导致...

潼关县18556499846: linux下的C语言编程和window下的有什么不同? -
危奋结核: 各种不同的编译器对C/C++标准标准支持程度不一样.我们发现Linux上的g++,gcc对标准支持要比VC好.象上面一个回答:例如win: for(int i=0;ilinux:int i; for(i=0;i 是不正确的,显然第一个是符合新C++标准的,其实VC6.0的支持要查得多 for(int i...

潼关县18556499846: linux下的c编程和windows下的c编程 -
危奋结核: C标准都是一样的,但是不同的操作系统下有不同的系统API调用,也有不同的编译器!如果只是做简单的练习,不需要调用系统函数的话,是完全一样的,但是在WINDOWS下编译生成的可执行文件在LINUX下是运行不起来的,要在LINUX下运行必须用LINUX下的编译器,比如GCC,这种编译器可以找到WINDOWS版本的,但是编译出来的就在WINDOWS下运行不了!简单说就是不同操作系统下的可执行文件是不能通用的,因为不同的操作系统有不同的进程结构.

潼关县18556499846: linux下编程和windows下的编程有什么区别 -
危奋结核: Linux编程C语言用的比较多一些,C++语言也常用,Linux编程调用的接口叫做“系统调用”,C标准库、第三方开源C/C++库也是常用的,Linux编程会用到许多代码库,代码库选择上比较灵活;但是Windows编程C语言就用的少了,用C语言调用...

潼关县18556499846: Linux环境下开发c语言和windows有什么不一样么? -
危奋结核: 与系统相关的编程都不一样的,linux是开源的系统,优点就是不收费,能看到原代码,便与移植,而且是多用户的操作系统,所以用linux做服务器比windows强很多,现在的嵌入式系统用linux也比较多

潼关县18556499846: Linux 下的 C++ 开发和 Windows 环境下的开发有什么区别? -
危奋结核: 受邀答题.就开发本身而言,其实没太大区别,无非就是开发玩具型的小项目的时候,Windows 下有更好用的集成开发环境,可以让开发更简单一些.但项目大到一定程度之后就没有显著区别了.不同平台下的 C++ 都是 C++,语言本身是一样...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网