linux c++ windows 区别

linux平台c++代码和windows平台有何区别?只在于编译器吗?如果想把linux上c++代码编译到windows平台上,有什么办法?

Linux 简单的说跟 Windows 一样是一种操作系统,只是两者之间的使用方法和习惯有所区别。具体的区别其实很大,不过已经不是能在这里说清楚的事情了。
对于 C 编程来说,他们最大的区别就是提供给你的系统相关的特性不一样。这个导致了所谓的移植性问题以及平台特性的问题。形象点的比喻是你可以认为 Linux 和 Windows 都是人。他们都懂一部分英语,但是一个的母语是汉语,一个是德语。你用的英语如果他们刚好都懂,那他们就能很好的帮你做事。如果你说的英语他们不懂,那就只能用他们的母语给他们说。这样的结果就是你用德语说的 Linux 听不懂;你用汉语说的 Windows 又听不懂。所以,如果是简单的编程,那他们没有多大区别。如果是复杂的...你就准备翻译一方的母语成另一方的母语吧。
所写的语言是相同的,因为编译器不同,编译出来的目标代码不一样。

所以windows里面的程序就能够快速移植到Linux中。

入门书籍有《Linux C编程》、Windows 下的就有很多了《C语言与程序设计》比较不错。
温馨提示:内容为网友见解,仅供参考
第1个回答  2016-01-08
函数库的区别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的功能是非常强大的,gcc对标准的支持是相当的好。
3、针对人群不一样
win下主要还是面向商业化的开发,而绝大多数的编程爱好者则喜欢属于自己开阔自由的系统下编程,不愿意禁锢在windows下(MS)的包围中
4、发展方向不一样。
OpenSource的思想已经在linux这片净土开花找资料方便,源代码公开,可以体验开发的乐趣win下,ms逐步把一批开发人员束缚在它自己的系统里面。
5、版权问题
win下的好多东西都涉及到版权问题,linux的free软件虽然是开放软件,不过好多都是免费用于商业化的。
第2个回答  2010-05-01
C++代码从语言角度上来讲是基本上相同(只要是采用相同的c++标准),只是涉及到具体的系统后,源代码里面可能含有与平台相关的部分,这部分是不能移植的,需要修改。
编译器在不同的平台上可以相同,也可以不同。当然通常是Win下用win的编译器,linux下用linux的编译器。
第3个回答  2010-05-01
语言是一样的,调用的库函数就不一样了。
第4个回答  2010-05-02
语法都是互通的,较少有不同的地方,自己修改下就好.看要求的头文件之类的,有些是给windows用的...
相似回答