Linux下的C编程和Windows下有什么区别?越详细越好,谢谢......
推荐于2018-03-10
展开全部
Linux 简单的说跟 Windows 一样是一种操作系统,只是两者之间的使用方法和习惯有所区别。具体的区别其实很大,不过已经不是能在这里说清楚的事情了。
对于 C 编程来说,他们最大的区别就是提供给你的系统相关的特性不一样。这个导致了所谓的移植性问题以及平台特性的问题。形象点的比喻是你可以认为 Linux 和 Windows 都是人。他们都懂一部分英语,但是一个的母语是汉语,一个是德语。你用的英语如果他们刚好都懂,那他们就能很好的帮你做事。如果你说的英语他们不懂,那就只能用他们的母语给他们说。这样的结果就是你用德语说的 Linux 听不懂;你用汉语说的 Windows 又听不懂。所以,如果是简单的编程,那他们没有多大区别。如果是复杂的...你就准备翻译一方的母语成另一方的母语吧。
对于 C 编程来说,他们最大的区别就是提供给你的系统相关的特性不一样。这个导致了所谓的移植性问题以及平台特性的问题。形象点的比喻是你可以认为 Linux 和 Windows 都是人。他们都懂一部分英语,但是一个的母语是汉语,一个是德语。你用的英语如果他们刚好都懂,那他们就能很好的帮你做事。如果你说的英语他们不懂,那就只能用他们的母语给他们说。这样的结果就是你用德语说的 Linux 听不懂;你用汉语说的 Windows 又听不懂。所以,如果是简单的编程,那他们没有多大区别。如果是复杂的...你就准备翻译一方的母语成另一方的母语吧。
展开全部
函数库的区别
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++的区别也差不多
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++的区别也差不多
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-11-04
展开全部
都是操作系统
不同是一个开放源代码一个不开放
系统的结构不一样
比如说 设备都可以像访问文件一样访问,脚本语言很强大操作方式有差别
c程序方面,用的函数库不一样,只要函数库、有些如文件系统表示方面的差异解决好了,编译的程序可以通用。
linux的核心也是C语言写的
C程序通常是用文本编辑器写,GCC编译器编译,make来管理项目,虽然也有集成开发环境,但很多都不需要,win的编程高手也是用的文本编辑器开发。
linux的命令行(就像win里的cmd)很强大,可以一次完成很复杂的任务而不需要写软件。
不同是一个开放源代码一个不开放
系统的结构不一样
比如说 设备都可以像访问文件一样访问,脚本语言很强大操作方式有差别
c程序方面,用的函数库不一样,只要函数库、有些如文件系统表示方面的差异解决好了,编译的程序可以通用。
linux的核心也是C语言写的
C程序通常是用文本编辑器写,GCC编译器编译,make来管理项目,虽然也有集成开发环境,但很多都不需要,win的编程高手也是用的文本编辑器开发。
linux的命令行(就像win里的cmd)很强大,可以一次完成很复杂的任务而不需要写软件。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-11-04
展开全部
系统的话一点都没有区别。只是你选择的软件会稍有不同。但是作为C的语法一点都没有变。推荐Linux下使用Geany。中文的,操作方便,体积小。用起来十分爽。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询