我使用Visual Studio 2010創建了一個Windows Form項目,並從使用OpenCV的舊版控制檯項目中移植了一些代碼。我得到了以下消息時,我編譯:OpenCV警告:「函數編譯爲本機」
opencv\include\opencv\cxoperations.hpp(81): warning C4793: 'anonymous namespace'::CV_XADD' : function compiled as native :
一些挖後,它似乎是CLR支持設置的問題。我見過幾篇關於同一問題的文章,但我的問題會更一般:
與「native」和「clr」有什麼關係?各種級別的clr支持有什麼不同?我認爲我沒有找到一個能夠簡潔地告訴我有關這個概念的頁面,然後再重載一堆其他細節。
謝謝。
感謝您的快速和翔實的迴應。我假設我列出的警告只是說「這裏的這個方法不是.NET庫的一部分,我們把它當作一個正常的C++函數」。我正在使用Windows窗體應用程序,因爲很容易組裝一個Win32項目看不到的GUI系統。由於我從正常的C++應用程序借用代碼,我想這就是爲什麼我得到這個警告。然而,它讓我感到困惑,至於爲什麼CLR和本機似乎不能很好地混合(即我必須使用'String ^'而不是'string')。我從來沒有與其他語言的概率。 – 2012-02-15 03:40:19