2005左右,我从VC开发组转入linux c/c++开发组,见证了其他linux c/c++老同事因为gcc+gdb+文件log,调式多线程程序的时候的苦。
作为唱过VC单步调试复杂多线程程序的甜头的我,自然不肯走他们的老路。于是我开始寻找新方法。
对于Linux环境下C++的开发工具的选型,我花了整整2周去选择和体验。
选型的动机是我很清楚VC6.0对于调试多线程的方便程度。于是选型的路径如下:
1 安装cgwin。在Eclipse中标准C进行开发,但是发现无法使用Linux内核库,如pthread,posix socket等。于是否定之。
2 在Linux上安装和使用Eclise,貌似可以了。但是硬件条件不足,那时候高配内存是2G台式机,跑Linux和Eclipse,进行单步调试,速度那个卡。于是否定之。
3 无意间找到一个叫Magic c++的国产开发工具。其架构非常像,简直就是10年后出现的Android开发模式。
Magic c++这个工具,在Windows上运行IDE,在Linux上运行Server。C++源码在windows上以VC6的开发方式进行编写,断点和单步调试,真正的编译和运行环境是IDE把源码发送到Linux上的Server上进行编译和回传的。
2005年左右,国产的Magic c++具备了世界级的软件编译能力和超前的架构,却没有发展起来,非常非常非常非常非常非常非常非常可惜。
后来我转Java了,就没有再关心Linux下开发工具的问题。
当然,现在2021年了,2005年碰到的问题都不再是问题。无论是内存,还是各种先进的IDE,估计linux c/c++应该有更先进的工具了。