Diğer yönde driver_output_term
eşdeğeri var mı, yani sürücüye bir iolist'e dönüştürmeden bir Erlang terimi gönderiliyor mu? Değilse, muhtemelen term_to_binary
kullanarak terimimi dönüştürmeli ve ei
ile C tarafında ayrıştırmalıyım; iyi örneklerErrol sürücüsüne iolists yerine terimler gönderme
1
A
cevap
2
Dokümanlara göre, yalnızca iodata()
biçimindeki öğeleri gönderebilirsiniz.
Sürücüye göndermek istediğiniz tek şey tamsayı ve dizgilerse, Erlang belgelerinden this tutorial numaralı terimlerle olduğu gibi kendi terimden şifrelemeyi kullanmak daha verimli (ve çok daha kolay) olabilir. Çağrılarını doğrudan sürücüye gönderilebilecek bir eşleştirmeye dönüştürmek için bir işlev kullanırlar ve bu nedenle term_to_binary()
kullanılarak kodlanması gerekmez. X
ve Y
küçük tamsayı olduğu varsayılır ise
encode({foo, X}) -> [1, X];
encode({bar, Y}) -> [2, Y].
Bu eşleme mümkündür. Cı tarafında , giriş tamponu ilk baytı bağımsız değişken olarak ikinci bayt kullanılarak uygun işlevi çağırmak için üzerine geçer:
static void example_drv_output(ErlDrvData handle, char *buff, int bufflen)
{
example_data* d = (example_data*)handle;
char fn = buff[0], arg = buff[1], res;
if (fn == 1) {
res = foo(arg);
} else if (fn == 2) {
res = bar(arg);
}
driver_output(d->port, &res, 1);
}
İlgili konular
- 1. WET yöntemi yerine POST gönderme
- 2. Eşlenen ağ sürücüsüne ColdFusion'dan erişme
- 3. Drupal'daki temel sınıflandırma sayfasında alt terimler nasıl gösterilir?
- 4. Visual studio postbuild - çözüm sürücüsüne geçiş
- 5. MongoDB Java - mongodb Java sürücüsüne çevir sorguyu
- 6. Android telefonumun Mikrofon sürücüsüne erişebilir miyiz
- 7. Git bir paylaşılan ağ sürücüsüne geçme değişiklikleri
- 8. Gönderme bildirimi aldığında yeni bir bildirim ekleyin (eski yerine değil)
- 9. DataTables içinde JSON Nesneleri Gönderme aaData diziler yerine
- 10. gönderme?
- 11. DDD her yerde dil - sadece ingilizce terimler kod?
- 12. Android dosya gönderme/veri/
- 13. django-sentry kullanıldığında Hata Gönderme Gönderme Çalışmıyor
- 14. Yanıt Gönderme/Yeniden Gönderme formunda gönder
- 15. Gönderme Düğmesi Denetleyiciye Gönderme Değeri, ancak
- 16. I/O dosyasını paylaşılan ağ sürücüsüne kimlik bilgilerini kullanarak yaz
- 17. Seçenekleri Python kullanarak Selenium Chrome sürücüsüne nasıl geçiririm?
- 18. Python'da bir selenyum web sürücüsüne gönderilen çerezler() çerezleri()
- 19. Cassandra istemcisinin Hector'un java sürücüsüne geçirilmesi - ConnectionListener için değiştirme
- 20. Visual Studio 2013'teki ağ sürücüsüne TFS projeleri eşleştirilemiyor
- 21. gönderme dizisi
- 22. Gönderme düğmesinden,
- 23. Backbone model.save() yerine POST
- 24. document.styleSheets yerine dizin yerine?
- 25. yerine?
- 26. iPhone, NSURLConnection ile POST gönderme
- 27. Gönderme sayfası, sayfaya yönlendirmek yerine, angular $ http değerinin başarısı için hızlı yönlendirme gönderim sayfasını yönlendiriyor
- 28. Android Facebook SDK ile URL yerine ham resim verileri gönderme SDK
- 29. Program aracılığıyla Facebook yorumlarını gönderme
- 30. Windows Forms ileti döngüsüne ileti gönderme veya gönderme
Ne yazık ki, şartlar 'ei' kullanılarak daha kolay olduğu kadar karmaşıktır. –