Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>There's not much "conversion" that needs to be done, you can just enable /clr and compile. There will be build errors but not a huge number. </p> <p>This is a decision that should <em>not</em> be taken lightly. Once you cross the /clr threshold you sacrifice a few things: </p> <ul> <li><p>Build performance gets a lot worse, especially linking. You cannot incrementally link a C++ /clr project. </p></li> <li><p>An additional loading layer is added to your .Exe or .Dll. You have to be careful about the order of initialization, especially with statics. This got a lot better staring with VS2005 but there are still hiccups. I have a /clr DLL project that does not unload correctly and I have not been able to figure out why. One symptom of such issues is that you don't get the memory-leak detection dumpon exit from debug.</p></li> <li><p>When you add functionality to the project, you have the choice of managed or native implementation. If you choose to go managed for something that is done native elsewhere in the project, you have to choose, do I go revise the older implementation?</p></li> <li><p>Crossing the managed-native threshold has performance and debugging implications.</p></li> <li><p>Exception handling gets more complicated. </p></li> </ul> <p>Rather than flipping the /clr switch on an entire project, I recommend a much more targeted approach. Keep your large library native. Create a mixed-mode /clr bootstrapper / wrapper. This "thin proxy" provides the benefit of access to your native library while maintaining the native library's stability and performance.</p> <p>If you have dialogs (or worse, SDI/MDI views, see <a href="http://www.codeproject.com/KB/miscctrl/HostMFC.aspx" rel="nofollow noreferrer">here</a>) in your native library it can be tricky to wire up the display. But it will be worth it.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload