(原創) C++/CLI转BCB心得报告 (C/C++) (.NET) (C++/CLI)
2006-11-21 16:35
627 查看
这次的计算机视觉作业,我是用C++/CLI写,同学是用BCB写,由于缴交期限是今天下午两点,但他还没写出来,我只好试着将我用C++/CLI写的作业改成BCB给他,虽然都是C++,但我也没把握是否能够顺利『移植』。
结果出奇的顺利,只有两个地方要改,一是将.NET的object改成VCL的object,如将.NET的System::Drawing::Bitmap改成VCL的Graphics::TBitmap,将.NET的System::Drawing::Color改成改成VCL的TColor等,另一是将C++/CLI的专属语法,如for each、^、%改成ISO C++的标准语法for、*、&,其它STL的部份完全不用改,所以若你的程序尽量用C/C++的Standard Library或STL写,则程序修改的地方就越少。
这也是C++神奇的地方,尽管C++的工具很多,但可移植性却很高,只要做稍微的修改就可继续在其它工具继续使用,这也是其它程序语言无法做到的。
结果出奇的顺利,只有两个地方要改,一是将.NET的object改成VCL的object,如将.NET的System::Drawing::Bitmap改成VCL的Graphics::TBitmap,将.NET的System::Drawing::Color改成改成VCL的TColor等,另一是将C++/CLI的专属语法,如for each、^、%改成ISO C++的标准语法for、*、&,其它STL的部份完全不用改,所以若你的程序尽量用C/C++的Standard Library或STL写,则程序修改的地方就越少。
这也是C++神奇的地方,尽管C++的工具很多,但可移植性却很高,只要做稍微的修改就可继续在其它工具继续使用,这也是其它程序语言无法做到的。
相关文章推荐
- (原創) 如何對圖片加入Salt and Pepper Noise? (.NET) (C/C++) (C++/CLI) (GDI+) (Image Processing)
- (原創) C++/CLI绝非垃圾语言!! (.NET) (C++/CLI) (C/C++)
- (原創) 如何使用C++/CLI对图片做Grayscale Opening? (.NET) (C/C++) (C++/CLI) (GDI+) (Image Processing)
- (原創) 我的VS2008之旅[1] : STL/CLR (.NET) (C++/CLI) (STL) (C/C++)
- (原創) 如何對圖片加入Gaussian Noise? (.NET) (C/C++) (C++/CLI) (GDI+) (Image Processing)
- (原創) 如何計算SNR (signal-to-ratio)? (.NET) (C/C++) (C++/CLI) (GDI+) (Image Processing)
- (原創) 如何檢查是否為合法IP? (.NET) (C++/CLI) (C/C++) (Reqular Expression)
- (原創) 如何使用C++/CLI读/写jpg檔? (.NET) (C++/CLI) (GDI+) (C/C++) (Image Processing)
- (原創) 如何讓泛型支援多個interface? (.NET) (C/C++) (C#) (template) (C++/CLI)
- (原創) 如何在C++/CLI實做pass by reference to const? (.NET) (C++/CLI) (C/C++)
- (原創) 如何使用C++/CLI对图片做Grayscale Closing? (.NET) (C++/CLI) (C/C++) (Image Processing)
- (原創) C++ string大亂鬥:C-Style string、STL string與.NET string互轉 (.NET) (C/C++) (C++/CLI) (STL)
- (原創) 如何用C++開發ASP.NET? (.NET) (C++/CLI) (ASP.NET) (C/C++)
- (原創) Template Metaprogramming系列[1] : 使用遞迴/递归(Recursive) (C/C++) (.NET) (C++/CLI) (template) (TMP)
- (原創) 一個C++能跑的泛型,但在C#卻不能跑 (C/C++) (template) (.NET) (C#) (C++/CLI)
- (原創) 如何使用C++/CLI对图片做Grayscale Dilation? (.NET) (C/C++) (C++/CLI) (GDI+) (Image Processing)
- (原創) 如何使用abstract base class模擬interface? (C/C++) (.NET) (C++/CLI)
- (原創) 如何建立自己的Collection? (.NET) (C#) (C++/CLI) (C/C++)
- (原創) 如何對有Noise圖片做Box Filter? (.NET) (C/C++) (C++/CLI) (GDI+) (Image Processing)
- (原創) 如何對有Noise圖片做Median Filter? (.NET) (C/C++) (C++/CLI) (GDI+) (Image Processing)