October 24, 2018

https://github.com/kaaninel/DwasmTest/blob/master/source/main.d

bu derlediğim d dosyası extern c içindeki log fonksiyonu javascriptden enjekte ediliyor mesela ve ana dizinde compile.sh var çalıştırdığınızda main.wasm dosyası içine binary'i derliyor. index.html de bunu çalıştırcak minimal bir sayfa örneği extern c deki _start fonksiyonunu tetikliyor sonra d deki main i çağırıp kontrolü ona devrediyorum zaten. lib.js dosyasındaki objede iste enjekte ettiğim fonksiyonlar var herhangi bir fonksiyon eklediğimde oraya extern c ile signature eklediğimde doğrudan kullanılabilir oluyor d tarafından. basit bir http server ile yayınlayıp bu klasörü chrome devtools konsolundan çıktıları görebilirsiniz d de main e log("asd") gibi birşey yazınca çalışıyor.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 24, 2018

Javascript tarafında bağlanınca mı öyle hatalar alınıyor? D kütüphanesini açıkça vermek gerekiyor olabilir. Kendim nasıl deneyebilirim?

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 25, 2018

normalde _start fonksiyonu standart giriş noktası oluyor uygulamalarda. c ve d de main olarak kullanmamızın nedeni runtime kütüphaneleri glibc/druntime gibi kütüphanelerin _start fonksiyonunu kendileri tanımlayıp bize alternatif olarak main i giriş noktası olarak vermeleri. web assembly'de bunun gibi bir runtime olmadığı için bizden derlenen çıktıda _start bulunmasını istiyor. eğer glibc gibi birşey entegre edersek direk main üzerinden kullanılabilir sanırım. o yüzden ldc2 link işlemi dahil herşeyi yapıp _start ile başlayan bir program çıkarıyor. -betterC'yi herkes kullanmamı söylediği için koydum ama koyup koymamak bir fark yaratmıyor açıkcası ordaki olayı bende anlayamadım. belki ldc hataları gizlediği için betterc kullanmanın farkını hissetmemişimdir. şu an benim verdiğim Main içine herhangi bir d kodunu yazdığınızda(druntime ihtiyacı duymayan) direk çalışıyor zaten. sorunum druntime ı bir şekilde bu programa dahil etmek ve new i kullanabilmek. şu an new yazdığımda bunu derleyici hatalarını kapatarak derleyip bir çıktı alabiliyorum ama düzgün bir çıktı olmuyor. _d_allocclass isimli bir fonksiyonu arıyor ve bulunamıyor temel sorun gördüğüm bu.

sorunsuz olarak betterc ile derlenen herşey derleniyor(druntime içermeyen herşey) gördüğüm kadarıyla. druntime kullanan herşey ise sorunlu :)

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 25, 2018

sanırım sorun libc kütüphanesi olmaması wasm üzerinde. bunun entegre edilmesiyle sorunun çözülceğini düşünüyorum.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 24, 2018

Anladığım kadarıyla, ldc2 yalnızca derleyecek ama programı webassembly ile ilgili olan başka bir program oluşturacak, öyle değil mi? Böyle düşünmemin nedeni, gösterdiğin iki .d dosyasında da main() işlev yok. Öyleyse, yapman gereken şey, ldc2'ye '-c' ile yalnızca derlemesini (programı oluşturmamasını) söylemek.

-betterc'yi anlamıyorum: Yalnızca deneme amacıyla mı kullandın yoksa gerçekten better C olarak mı derlenmesi gerekiyor? Eğer betterc şartsa, bildiğim kadarıyla druntime'a gerek duyan new'ü kullanamazsın.

Tam olarak hangi komutların sorunsuz olarak kullanılabilmesi bekleniyor?

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

October 30, 2018

Alıntı:

>

Linear memory bigger than 4 GiB
The WebAssembly MVP will support the wasm32 mode of WebAssembly, with linear memory sizes up to 4 GiB using 32-bit linear memory indices. To support larger sizes, the wasm64 mode of WebAssembly will be added in the future, supporting much greater linear memory sizes using 64-bit linear memory indices. wasm32 and wasm64 are both just modes of WebAssembly, to be selected by a flag in a module header, and don’t imply any semantics differences outside of how linear memory is handled. Platforms will also have APIs for querying which of wasm32 and wasm64 are supported.

Şu olay hoşuma gitti, iyi ki bahsetmişsiniz.

Teşekkürler...

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

1 2
Next ›   Last »