SORU
6 ŞUBAT 2010, CUMARTESİ


Nasıl C yerel C arayayım mı#?

Program aritmetik hesaplama sorumlu bir C sınıfı uygulanan ve arayüzü WPF kullanarak. C# ama ben giriş işlemi nasıl C sınıfı kullanabilir miyim?

Yönetilen C kapsayıcı bir sınıf ile etkileşim için yapım hakkında bazı yorumlar gördüm, ama nereden başlayacağımı bilmiyorum. Ne de tüm diğer kod ile birlikte derlemek için giderdim ne bileyim. Gerçekten bu bir öğretici bulamıyorum, ve şeyler Google'da yönetilen C gerçekten yararlı görünmüyor gösterir.

Orada bana yardım edecek bir şey var mı? Bu bana mantıksız gelmiyor.

EDİTAma bana bir Badımageformatexception veriyor m3rLinEz çözüm denedim, sanırım DLL oluşturulan değil çünkü. Söylediğim gibi her şey, ne olduğunu bilmiyorum yaptım. Herhangi bir fikir?

CEVAP
6 ŞUBAT 2010, CUMARTESİ


C /CLİ bir göz atın.

Bana çok kısa bir örnek vereyim. Burada kaynak Visual bir C - ^ dan dosya . - ^CLR . Sınıf Kitaplığı proje. Temel olarak, Windows kullanıcı adı ve dönüş.

Bu derlenmiş alabilmek için proje ayarları gitmek zorunda olduğunu unutmayın ve "" bu Windows kullanıyoruz çünkü "(kernel32.libs üst" Miras olarak Ek Bağımlılıkları işaretleyiniz user32 lib., ..) lib

// CSCPP.h

#pragma once

#include "windows.h"

using namespace System;

namespace CSCPP {

    public ref class Class1
    {
        // TODO: Add your methods for this class here.
    public:
        String^ GetText(){
            WCHAR acUserName[100];
            DWORD nUserName = sizeof(acUserName);
            if (GetUserName(acUserName, &nUserName)) {
                String^ name = gcnew String(acUserName);
                return String::Format("Hello {0} !", name);
            }else{
                return gcnew String("Error!");
            }
        }
    };
}

Şimdi yeni oluşturulan bir C# projesi ve ilk C /CLİ Sınıf Kütüphane projemiz için başvuru ekleyin. Ve sonra örnek yöntemi.

namespace CSTester
{
    class Program
    {
        static void Main(string[] args)
        {
            CSCPP.Class1 instance = new CSCPP.Class1();
            Console.WriteLine(instance.GetText());
        }
    }
}

Bu benim makinede aşağıdaki sonucu verdi:

Merhaba m3rlinez !

C /CLİ temel olarak C standart üzerinden yönetilen bir uzantısıdır. C /CLİ projenizde CLR sınıfları ve veri türlerini kullanmak ve aynı zamanda yönetilen dili bunu ortaya çıkarmak için izin verir. Eski C kütüphanesi bu kullanarak yönetilen sarıcı için yarattı. String^ gibi garip sözdizimi CLR String referans türü tanımlamak için vardır. "Quick C /CLI - Learn C /CLI in less than 10 minutes" burada çok faydalı buluyorum.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Andrey Menshikov

    Andrey Mensh

    28 Ocak 2012
  • grickle

    grickle

    22 AĞUSTOS 2006
  • Menglong Tav

    Menglong Tav

    18 Temmuz 2010