C++

2010-11-19 17 views
2

'da Toplama Kurulumu
1) 'ı öğrenmek için uğraştım. Montaj kodu nasıl çağırılır, böylece C++'dan arayabilirim?
2). Tüm derleme kodumu ayrı dosyalarda tutmak istiyorum.C++

Linux, GCC ve diğer GNU geliştirici araçlarını kullanıyorum.

Bunun için iyi referanslar sağlayabilir misiniz?

cevap

4

İstediğiniz işlevleri bildiren C++ üstbilgi dosyalarını yazın. Bu işlevleri başka bir dosyada montaj dili ile tanımlayın. derleme dil kodunun nesne dosyalarını oluşturun. Daha sonra diğer C++ kod dosyalarında, #include, montaj kodunuzun tanımlanmış işlevlerinin bildirimlerini içeren başlık. Herhangi bir nesne dosyasıyla bağlantı kurarken, herhangi bir C++ işlevi olarak işlevler arayın, nesne dosyasına karşı bağlantı oluşturun.

Kaynaklar için, assembly dili ve C/C++ karışımını kullanan bazı projelerin kodlarını okuyun. Aygıt sürücüleri bu şekilde işlevler verebilir.

+0

"C" extern olmadan?!? – smilingthax

+0

"C" extern olmadan emin olun. Adlarını .s dosyasında kendiniz karıştırmanız gerekir, ancak yine de ABI'nın geri kalan kısmının geri kalanını uygulamak zorundasınız, neden olmasın? – zwol

+0

Ah, görüyorum ki ihtiyacın olana bağlı .. eğer C bağlantısı yeterli ise, o zaman muhtemelen daha kolay olur ... – smilingthax