具体些...编程的区别,先不说编程工具,先说最重要的编译器的问题吧..这个是决定性因素
首先,要说下编译器的事..Linux下面用的是g++,而win下面基本都是VS或者VC++的编译器.两种编译器肯定都认得标准的C++,但是呢,某些细微的语法细节,两者可能稍微不同,比如对变参的定义,还一个例子就是VC里面支持for语句里申请一个变量,这个变量后面可以引用,但是g++就需要加上特定的编译参数才可以编译通过。当然了g++也有些功能是VC不支持的.
然后,前面已经提到了,标准语法都是支持的。如果需要写一个linux和win都通用的C++程序,可能语法需要尽量标准了..
再然后,API的问题.C++标准库和C标准库的函数 ,两者都肯定是支持的。但是系统相关的那部分API可能就需要注意了....比如win下面有waitforsingleobject,Linux下就没这个,它用的是sem_timedwait或者sem_wait等.写通用程序 也必须考虑这些系统API的问题.
再说工具.win下面的IDE有VC,VS,C++ builder等.自带了编辑器...Linux下一般是编辑器和编译分开的,先用vim或者emacs写好程序,然后用g++编译,文件多了就会借助make工具。当然Linux下也有一些IDE,比如codeblocks,anjuta等等开源的IDE,而且这些开源IDE也有win版本。我win下和linux下用的都是开源IDE。
PS:楼上说的共享内存的事情,可以用虚拟内存,就是文件映射的方式来实现,win下面是mapofview,Linux下是mmap。
参考资料:我的经历