第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問C+/CLI混合模式DLL的創(chuàng)建

請問C+/CLI混合模式DLL的創(chuàng)建

C++
明月笑刀無情 2019-08-01 02:02:40
C+/CLI混合模式DLL的創(chuàng)建我有一個本機C+DLL,我想要一個C+/CLI包裝層。據(jù)我所知,如果您簡單地向項目中添加了一個C+/CLI類,VS將以混合模式編譯,但我顯然錯了,因為VS似乎沒有觸及托管代碼。所以,給定一個預先存在的本機代碼基一點兒沒錯,一步地創(chuàng)建混合模式DLL,這樣我就可以從任何.NET語言鏈接到該代碼了嗎?*我需要這樣做,因為我的本機代碼使用了我無法調(diào)用的C+類。
查看完整描述

3 回答

?
子衿沉夜

TA貢獻1828條經(jīng)驗 獲得超3個贊

不,在告訴C+/CLI編譯器您的遺留DLL是用非托管代碼編寫之前,它不會采用混合模式。這應(yīng)該是值得注意的,您應(yīng)該從非托管DLL導出中獲得鏈接器錯誤。您需要使用#語用管理:

#pragma managed(push, off)#include "oldskool.h"#pragma comment(lib, "oldskool.lib")#pragma managed(pop)using namespace System;
public ref class Wrapper {private:
    COldSkool* pUnmanaged;public:
    Wrapper() { pUnmanaged = new COldSkool; }
    ~Wrapper() { delete pUnmanaged; pUnmanaged = 0; }
    !Wrapper() { delete pUnmanaged; }
    void sampleMethod() { 
        if (!pUnmanaged) throw gcnew ObjectDisposedException("Wrapper");
        pUnmanaged->sampleMethod(); 
    }};



查看完整回答
反對 回復 2019-08-02
  • 3 回答
  • 0 關(guān)注
  • 463 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號